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.
Similar content being viewed by others
Notes
As the predecessor of the X3D format, VRML documents describe the same scene structure as X3D documents, but differ in their textual representation.
CAVE developers may still programmatically add a high-detail background, but the background object will not be part of the platform-independent SSIML model.
Available at: http://elrond.informatik.tu-freiberg.de/roundtrip3d/carconfigurator.xhtml, (2014).
In the forward phase of first iteration, the persistent IM is created as a copy of the IM generated from the SSIML model.
Currently, we do not provide further refactoring mechanisms in our round-trip framework.
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.
The second iteration served as validation to ensure that a consistent version of the application had been developed.
The current implementation focusses on correctness and only secondarily on performance.
References
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
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
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)
Azuma RT et al (1997) A survey of augmented reality. Presence 6(4):355–385
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
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
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
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
Efftinge S, Völter M (2006) oAW xText: a framework for textual DSLs. In: Eclipsecon Summit Europe 2006. http://www.eclipse.org/Xtext
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
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
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)
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
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
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
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
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
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
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
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
Steinberg D, Budinsky F, Paternostro M, Merks E (2009) EMF: eclipse modeling framework, 2nd edn. Addison-Wesley, Boston
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
Vitzthum A, Hussmann H (2006) Modeling augmented reality user interfaces with SSIML/AR. J Multimed 1(3):13–22
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
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
Acknowledgments
This research is partially supported by the Deutsche Forschungsgemeinschaft (DFG).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00450-014-0258-8