Abstract
The state of the art in model-driven software engineering is a combination of structural modeling and conventional programming to supply the operational behavior of the system. This fact leads to the so-called code generation dilemma when model and hand-written code evolve independently during the software development process. In this paper we present an approach of integrating two OMG standards to overcome this problem: A tight integration of UML used for structural modeling and the Action Language for Foundational UML (ALF) for behavioral modeling using a textual surface notation leads to a full-blown model-driven process which allows for the generation of fully executable source code. Supplying hand-written code fragments in the target language is no longer necessary.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
References
Buchmann, T.: Valkyrie: a UML-based model-driven environment for model-driven software engineering. In: Proceedings of the 7th International Conference on Software Paradigm Trends, ICSOFT 2012, pp. 147–157. SciTePress, Rome (2012)
Buchmann, T.: Prodeling with the action language for foundational UML. In: Damiani, E., Spanoudakis, G., Maciaszek, L.A. (eds.) ENASE 2017 - Proceedings of the 12th International Conference on Evaluation of Novel Approaches to Software Engineering, Porto, Portugal, 28–29 April 2017, pp. 263–270. SciTePress (2017). https://doi.org/10.5220/0006353602630270
Buchmann, T.: BXtend - a framework for (bidirectional) incremental model transformations. In: Hammoudi, S., Pires, L.F., Selic, B. (eds.) Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018, Funchal, Madeira - Portugal, 22–24 January 2018, pp. 336–345. SciTePress (2018). https://doi.org/10.5220/0006563503360345
Buchmann, T., Dotor, A., Westfechtel, B.: Model-driven software engineering: concepts and tools for modeling-in-the-large with package diagrams. Comput. Sci. - Res. Dev. 1–21. https://doi.org/10.1007/s00450-011-0201-1
Buchmann, T., Greiner, S.: Handcrafting a triple graph transformation system to realize round-trip engineering between UML class models and Java source code. In: Maciaszek, L.A., Cardoso, J.S., Ludwig, A., van Sinderen, M., Cabello, E. (eds.) Proceedings of the 11th International Joint Conference on Software Technologies, ICSOFT 2016 - Volume 2: ICSOFT-PT, Lisbon, Portugal, 24–26 July 2016, pp. 27–38. SciTePress (2016). https://doi.org/10.5220/0005957100270038
Buchmann, T., Schwägerl, F.: On a-posteriori integration of Ecore models and hand-written Java code. In: Lorenz, P., van Sinderen, M., Cardoso, J. (eds.) Proceedings of the 10th International Conference on Software Paradigm Trends, pp. 95–102. SciTePress, July 2015. https://doi.org/10.5220/0005552200950102
Buchmann, T., Westfechtel, B.: Using Triple Graph Grammars to Realize Incremental Round-Trip Engineering. IET Software, July 2016. https://doi.org/10.1049/iet-sen.2015.0125
Buchmann, T., Westfechtel, B., Winetzhammer, S.: The added value of programmed graph transformations – a case study from software configuration management. In: Schürr, A., Varró, D., Varró, G. (eds.) AGTIVE 2011. LNCS, vol. 7233, pp. 198–209. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-34176-2_17
Greiner, S., Buchmann, T., Westfechtel, B.: Bidirectional transformations with QVT-R: a case study in round-trip engineering UML class models and Java source code. In: MODELSWARD 2016 - Proceedings of the 4rd International Conference on Model-Driven Engineering and Software Development, Rome, Italy, 19–21 February 2016, pp. 15–27 (2016). https://doi.org/10.5220/0005644700150027
Guermazi, S., Tatibouet, J., Cuccuru, A., Seidewitz, E., Dhouib, S., Gérard, S.: Executable modeling with fUML and Alf in Papyrus: tooling and experiments. In: Mayerhofer et al. [13], pp. 3–8
Guermazi, S., Tatibouet, J., Cuccuru, A., Seidewitz, E., Dhouib, S., Gérard, S.: Executable modeling with fUML and Alf in papyrus: Tooling and experiments. In: Mayerhofer et al. [13], pp. 3–8. http://ceur-ws.org/Vol-1560/paper1.pdf
Lethbridge, T.C., Forward, A., Badreddin, O.: Umplification: refactoring to incrementally add abstraction to a program. In: 2010 17th Working Conference on Reverse Engineering (WCRE), pp. 220–224. IEEE (2010)
Mayerhofer, T., Langer, P., Seidewitz, E., Gray, J. (eds.): Proceedings of the 1st International Workshop on Executable Modeling co-located with ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems, MODELS 2015, Ottawa, Canada, 27 September 2015, CEUR Workshop Proceedings, vol. 1560. CEUR-WS.org (2016)
OMG: MOF Model to Text Transformation Language, v1.0. OMG, Needham, MA, formal/2008-01-16 edn., January 2008
OMG: Action Language for Foundational UML (ALF). Object Management Group, Needham, MA, formal/2013-09-01 edn., September 2013
OMG: Semantics of a Foundational Subset for Executable UML Models (fUML). Object Management Group, Needham, MA, formal/2013-08-06 edn., August 2013
OMG: Object Constraint Language. OMG, Needham, MA, formal/2014-02-03 edn., February 2014
OMG: Meta Object Facility (MOF) Version 2.5. OMG, Needham, MA, formal/2015-06-05 edn. (2015)
OMG: Unified Modeling Language (UML). Object Management Group, Needham, MA, formal/15-03-01 edn., March 2015
Schröpfer, J., Buchmann, T.: Unifying modeling and programming with Valkyrie. In: Hammoudi, S., Pires, L.F., Selic, B. (eds.) Proceedings of the 7th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2019, Prague, Czech Republic, 20–22 February, pp. 27–38. SciTePress (2019). https://doi.org/10.5220/0007259600270038
Seidewitz, E.: A development environment for the Alf language within the MagicDraw UML tool (tool demo). In: Combemale, B., Mernik, M., Rumpe, B. (eds.) Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2017, Vancouver, BC, Canada, 23–24 October 2017, pp. 217–220. ACM (2017). https://doi.org/10.1145/3136014.3136028
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF Eclipse Modeling Framework. The Eclipse Series, 2nd edn. Addison-Wesley, Boston (2009)
The Fujaba Developer Teams from Paderborn, Kassel, Darmstadt, Siegen and Bayreuth: The Fujaba Tool Suite 2005: An Overview About the Development Efforts in Paderborn, Kassel, Darmstadt, Siegen and Bayreuth. In: Giese, H., Zündorf, A. (eds.) Proceedings of the 3rd international Fujaba Days, pp. 1–13, September 2005
Völter, M., Stahl, T., Bettin, J., Haase, A., Helsen, S.: Model-Driven Software Development: Technology, Engineering, Management. Wiley, Hoboken (2006)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Schröpfer, J., Buchmann, T. (2020). Integrating UML and ALF: An Approach to Overcome the Code Generation Dilemma in Model-Driven Software Engineering. In: Hammoudi, S., Pires, L., Selić, B. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2019. Communications in Computer and Information Science, vol 1161. Springer, Cham. https://doi.org/10.1007/978-3-030-37873-8_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-37873-8_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-37872-1
Online ISBN: 978-3-030-37873-8
eBook Packages: Computer ScienceComputer Science (R0)