Skip to main content
Log in

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

  • Special Issue Paper
  • Published:
Computer Science - Research and Development

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Notes

  1. As the predecessor of the X3D format, VRML documents describe the same scene structure as X3D documents, but differ in their textual representation.

  2. CAVE developers may still programmatically add a high-detail background, but the background object will not be part of the platform-independent SSIML model.

  3. Available at: http://elrond.informatik.tu-freiberg.de/roundtrip3d/carconfigurator.xhtml, (2014).

  4. http://www.qualcomm.com/solutions/augmented-reality, (2014).

  5. https://github.com/MasDennis/Rajawali, (2014).

  6. http://elrond.informatik.tu-freiberg.de/roundtrip3d/RobotScene/robot.html, (2014).

  7. In the forward phase of first iteration, the persistent IM is created as a copy of the IM generated from the SSIML model.

  8. Currently, we do not provide further refactoring mechanisms in our round-trip framework.

  9. In case of multi-platform development, inconsistencies may also arise between implementations for the different platforms. Of relevance are only inconsistent implementations of SSIML elements.

  10. http://vr.tu-freiberg.de/organ-visualization/organ-one, (2014).

  11. The second iteration served as validation to ensure that a consistent version of the application had been developed.

  12. http://vr.tu-freiberg.de/organ-visualization, (2014).

  13. The current implementation focusses on correctness and only secondarily on performance.

References

  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–17

  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–928

  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)

  4. Azuma RT et al (1997) A survey of augmented reality. Presence 6(4):355–385

    Google Scholar 

  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–135

  6. Brun C, Pierantonio A (2008) Model differences in the eclipse modelling framework. UPGRADE Eur J Inf Prof IX(2):29–34. http://www.cepis.org/upgrade/files/2008-II-pierantonio.pdf

  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–174

  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. Efftinge S, Völter M (2006) oAW xText: a framework for textual DSLs. In: Eclipsecon Summit Europe 2006. http://www.eclipse.org/Xtext

  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–58

    Chapter  Google Scholar 

  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. http://dblp.uni-trier.de/db/conf/soco/sc2009.html#JohannesSS09

  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)

  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. http://doi.acm.org/10.1145/2351676.2351731

  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. http://doi.acm.org/10.1145/1810295.1810364

  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. 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. 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–6

  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–194

  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. http://www.mathe.tu-freiberg.de/forschung/preprints

  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, SERP

  21. Steinberg D, Budinsky F, Paternostro M, Merks E (2009) EMF: eclipse modeling framework, 2nd edn. Addison-Wesley, Boston

    Google Scholar 

  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. Vitzthum A, Hussmann H (2006) Modeling augmented reality user interfaces with SSIML/AR. J Multimed 1(3):13–22

    Article  Google Scholar 

  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, Shaker

  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

Download references

Acknowledgments

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Matthias Lenk.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Jung, B., Lenk, M. & Vitzthum, A. Structured development of 3D applications: round-trip engineering in interdisciplinary teams. Comput Sci Res Dev 30, 285–301 (2015). https://doi.org/10.1007/s00450-014-0258-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00450-014-0258-8

Keywords

Navigation