Domain Specific Modeling for 3D

· Supports interdisciplinary development by the use of graphical Domain Specific Languages (DSLs) as „linguas francas” for all developers and the generation of heterogeneous code documents for different developers


· Formal pre-implementation specification ensures unambiguousness, supports automatic validation and helps reducing implementation errors


· System consistency is guaranteed since interconnected models act as “single source” for the heterogeneous components to be generated


· Generation of code for multiple platforms by using different generators


The SSIML language family

· SSIML: Scene Structure and Integration Modelling Language


· Domain specific languages for the specification of VR/AR applications


· Basis for DSM in Roundtrip3D


· Example: Simple Behavior Specification

Roundtrip Engineering (RTE)

· Synchronization of models and code supports iterative character of 3D development


· Includes opportunity of creating a new model from an existing 3D application (reverse engi-neering)


· Visualization and modeling of various aspects of a 3D system (3D components, object beha-vior, relationships between heterogeneous artifacts)


· Allows resolving conflicts at model level which are hard to detect at code level, e.g., “broken” dependencies between heterogeneous com-ponents (e.g., XML 3D code, program code)

· A major challenge is the avoidance of information loss during mapping processes, since code usually contains many implementation details while abstract domain models  only focus on certain system aspects


· Existing RTE implementations only support homogeneous code formats (e.g., Java, C++) and are normally integrated into IDEs, which facilitates model-code synchronization


· No existing RTE support for 3D development


In order to support the iterative character of 3D development, the next steps will be the design and implementation of roundtrip engineering techniques and the integration of these techniques into the overall 3D development process. The novel techniques will be evaluated in project studies. We believe that by the use of DSM in combination with roundtrip engineering, the development of VR and AR applications can be significantly facilitated.

Until now, we developed a set of visual model editors and code generators for the SSIML language family. The editors and generators were implemented using the Eclipse Graphical Modeling Framework. In addition, a new visual notation for the SSIML languages was introduced which particularly accounts for the needs of 3D artists.

Contact & Information

Dr. A. Vitzthum, Prof. B. Jung

M. Lenk, E. Kegel, D. Arndold, R. Schneider,

E. Berger, C. Schlegel, D. Vogt,

Funded by


The parts of complex interactive VR and AR applications are usually created by different author groups (e.g. 3D artists, programmers) which use different terminologies and work with completely different kinds of tools (3D authoring tools, programming tools). Thus, the integration of all software components into a working overall system poses a challenge. In a previous work, it was shown that methods of Domain Specific Modeling (DSM) can tackle this challenge and accelerate the creation of 3D software.


In order to support especially iterative aspects of the development process, in this project the applicability of so called Roundtrip Engineering techniques will be investigated for 3D applications. A second focus is on the (semi-) automatic adaptation of 3D software to different target hardware and software platforms (e.g. handhelds, desktop PCs and even CAVE-like systems) via model-driven methods.

Conventional 3D Development

· Informal application specification leaves room for interpretation and thus can lead to inconsistencies between developed software components


· Multidisciplinarity (3D design, programming)  and the use and integration of heterogeneous tools (3D authoring tools, programming tools) and data formats makes 3D  development a challenge


· 3D development is usually an iterative process; the discovery of problems during testing requires the return to previous development stages