Structured development of 3D applications: round-trip engineering in interdisciplinary teams

  • Bernhard Jung
  • Matthias LenkEmail author
  • Arnd Vitzthum
Special Issue Paper


While structured software development processes are nowadays common-place, 3D applications are often still developed in an ad-hoc and code-centric manner. This state of affairs is somewhat surprising, as there are many benefits to a more structured 3D development process. In particular, model-based techniques with support for iterative development could help to ensure the mutual consistency of the code bases produced by the heterogeneous developer groups, i.e. 3D content developers and programmers. However, a cultural gap exists between 3D content developers and programmers who use completely different tools and terminologies. Common tools for model-driven development, for instance based on UML, are inadequate for the often “creatively oriented” 3D content developers. This paper presents a model-driven approach for the structured development of 3D applications in interdisciplinary teams based on round-trip engineering. Abstract models of the application are specified in SSIML, a DSL tailored for the development of 3D applications. In a forward phase, consistent skeletons of 3D scene models and program code are generated from the SSIML model. In a reverse phase, refinements of both the 3D scene model and program code are abstracted and synchronized to result in an updated SSIML model. This process is repeated in the subsequent iterations. Several examples of 3D application development on diverse platforms including Web, immersive virtual reality, and augmented reality on mobile devices demonstrate the versatility of our approach.


Model driven development Round-trip engineering 3D applications Virtual reality Augmented reality Model transformation Model differences Model merging 



This research is partially supported by the Deutsche Forschungsgemeinschaft (DFG).


  1. 1.
    Alanen M, Porres I (2003) Difference and union of models. In: Stevens P, Whittle J, Booch G (eds) UML 2003—the unified modeling language, vol 2863. Lecture notes in computer science. Springer, Berlin, Heidelberg, pp 2–17Google Scholar
  2. 2.
    Antkiewicz M (2007) Round-trip engineering using framework-specific modeling languages. In: Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion, ACM, pp 927–928Google Scholar
  3. 3.
    Aßmann U (2003) Automatic roundtrip engineering. Electr Notes Theor Comput Sci 82(5), proceedings of the Fifth Workshop on quantitative aspects of programming languages (QAPL 2007)Google Scholar
  4. 4.
    Azuma RT et al (1997) A survey of augmented reality. Presence 6(4):355–385Google Scholar
  5. 5.
    Behr J, Eschler P, Jung Y, Zöllner M (2009) X3DOM: a dom-based html5/x3d integration model. In: Spencer SN, Fellner DW, Behr J, Walczak K (eds) Web3D. ACM, pp 127–135Google Scholar
  6. 6.
    Brun C, Pierantonio A (2008) Model differences in the eclipse modelling framework. UPGRADE Eur J Inf Prof IX(2):29–34.
  7. 7.
    Bruneliere H, Cabot J, Jouault F, Madiot F (2010) Modisco: a generic and extensible framework for model driven reverse engineering. In: Proceedings of the IEEE/ACM international conference on automated software engineering. ACM, pp 173–174Google Scholar
  8. 8.
    Dachselt R, Hinz M, Meissner K (2002) Contigra: an XML-based architecture for component-oriented 3D applications. In: Proceedings of the seventh international conference on 3D Web technology. ACM, Web3D ’02, pp 155–163. doi: 10.1145/504502.504527
  9. 9.
    Efftinge S, Völter M (2006) oAW xText: a framework for textual DSLs. In: Eclipsecon Summit Europe 2006.
  10. 10.
    Figueroa P, Green M, Hoover HJ (2002) InTml: a description language for VR applications. Web3D ’02: proceedings of the seventh international conference on 3D Web technology. ACM, New York, pp 53–58CrossRefGoogle Scholar
  11. 11.
    Johannes J, Samlaus R, Seifert M (2009) Round-trip support for invasive software composition systems. In: Bergel A, Fabry J (eds) Software composition. Lecture notes in computer science, vol 5634. Springer, pp 90–106.
  12. 12.
    Jones J (2003) Abstract syntax tree implementation idioms. In: Pattern languages of program design proceedings of the 10th Conference on pattern languages of programs (PLoP2003)Google Scholar
  13. 13.
    Kehrer T, Kelter U, Pietsch P, Schmidt M (2012) Adaptability of model comparison tools. In: Proceedings of the 27th IEEE/ACM International Conference on automated software engineering. ACM, New York, NY, USA, ASE 2012, pp 306–309. doi: 10.1145/2351676.2351731.
  14. 14.
    Koegel M, Helming J (2010) EMFStore: a model repository for EMF models. In: Proceedings of the 32Nd ACM/IEEE International Conference on software engineering, vol 2. ACM, New York, ICSE ’10, pp 307–308. doi: 10.1145/1810295.1810364.
  15. 15.
    Kolovos D, Paige R, Polack F (2006) Merging models with the Epsilon merging language (EML). In: Nierstrasz O, Whittle J, Harel D, Reggio G (eds) Model driven engineering languages and systems, vol 4199. Springer, Berlin, Heidelberg, chap 16, pp 215–229. doi: 10.1007/11880240_16
  16. 16.
    Kolovos DS, Paige RF, Polack F (2008) The epsilon transformation language. In: Vallecillo A, Gray J, Pierantonio A (eds) Theory and practice of model transformations, First International Conference, ICMT 2008, Z++rich, Switzerland, July 1–2, 2008, Proceedings, vol 5063. Springer, LNCS, pp 46–60. doi: 10.1007/978-3-540-69927-9_4
  17. 17.
    Kolovos DS, Di Ruscio D, Pierantonio A, Paige RF, (2009) Different models for model matching: an analysis of approaches to support model differencing. In: Comparison and versioning of software models, (2009) CVSM’09. ICSE Workshop on, IEEE, pp 1–6Google Scholar
  18. 18.
    Ledermann F, Schmalstieg D (2005) April a high-level framework for creating augmented reality presentations. In: Proceedings of the 2005 IEEE Conference 2005 on virtual reality. IEEE, VR ’05, pp 187–194Google Scholar
  19. 19.
    Lenk M, Schlegel C, Vitzthum A, Jung B (2012a) Round-trip engineering for 3D applications: models and transformations. Preprint 6/2012, Faculty of Mathematics and Informatics, TU Bergakademie Freiberg.
  20. 20.
    Lenk M, Vitzthum A, Jung B (2012b) Non-simultaneous round-trip engineering for 3D applications. In: Proceedings of the 2012 International Conference on software engineering research and practice, SERPGoogle Scholar
  21. 21.
    Steinberg D, Budinsky F, Paternostro M, Merks E (2009) EMF: eclipse modeling framework, 2nd edn. Addison-Wesley, BostonGoogle Scholar
  22. 22.
    Van Paesschen E, De Meuter W, D’Hondt M (2005) Selfsync: a dynamic round-trip engineering environment. In: Companion to the 20th annual ACM SIGPLAN conference on object-oriented programming, systems, languages, and applications, ACM, New York, NY, USA, OOPSLA ’05, pp 146–147. doi: 10.1145/1094855.1094906
  23. 23.
    Vitzthum A, Hussmann H (2006) Modeling augmented reality user interfaces with SSIML/AR. J Multimed 1(3):13–22CrossRefGoogle Scholar
  24. 24.
    Vitzthum A, Jung B (2010) Iterative model driven VR and AR development with round trip engineering. In: Proceedings of SEARIS Workshop at the IEEE virtual reality 2010 Conference, ShakerGoogle Scholar
  25. 25.
    Vitzthum A, Pleuß A (2005) SSIML: designing structure and application integration of 3D scenes. In: Proceedings of the tenth international conference on 3D Web technology, ACM, New York, NY, USA, Web3D ’05, pp 9–17. doi: 10.1145/1050491.1050493

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  1. 1.Virtual Reality and Multimedia, Institute of Computer ScienceTechnical University Bergakademie FreibergFreibergGermany
  2. 2.Berufsakademie SachsenUniversity of Cooperative EducationDresdenGermany

Personalised recommendations