Skip to main content

Integrating UML and ALF: An Approach to Overcome the Code Generation Dilemma in Model-Driven Software Engineering

  • Conference paper
  • First Online:
Model-Driven Engineering and Software Development (MODELSWARD 2019)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 1161))

  • 746 Accesses

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://www.eclipse.org/modeling/gmp/.

  2. 2.

    https://www.eclipse.org/Xtext/.

  3. 3.

    https://www.eclipse.org/acceleo/.

  4. 4.

    https://www.eclipse.org/acceleo/.

  5. 5.

    http://cruise.site.uottawa.ca/umple.

  6. 6.

    http://wiki.eclipse.org/Xcore.

  7. 7.

    https://www.nomagic.com/products/magicdraw.

  8. 8.

    http://alf.modeldriven.org.

  9. 9.

    https://www.nomagic.com/product-addons/magicdraw-addons/cameo-simulation-toolkit.

References

  1. 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)

    Google Scholar 

  2. 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

  3. 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

  4. 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

  5. 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

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

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

  8. 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

    Chapter  Google Scholar 

  9. 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

  10. 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

    Google Scholar 

  11. 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

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. OMG: MOF Model to Text Transformation Language, v1.0. OMG, Needham, MA, formal/2008-01-16 edn., January 2008

    Google Scholar 

  15. OMG: Action Language for Foundational UML (ALF). Object Management Group, Needham, MA, formal/2013-09-01 edn., September 2013

    Google Scholar 

  16. OMG: Semantics of a Foundational Subset for Executable UML Models (fUML). Object Management Group, Needham, MA, formal/2013-08-06 edn., August 2013

    Google Scholar 

  17. OMG: Object Constraint Language. OMG, Needham, MA, formal/2014-02-03 edn., February 2014

    Google Scholar 

  18. OMG: Meta Object Facility (MOF) Version 2.5. OMG, Needham, MA, formal/2015-06-05 edn. (2015)

    Google Scholar 

  19. OMG: Unified Modeling Language (UML). Object Management Group, Needham, MA, formal/15-03-01 edn., March 2015

    Google Scholar 

  20. 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

  21. 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

  22. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF Eclipse Modeling Framework. The Eclipse Series, 2nd edn. Addison-Wesley, Boston (2009)

    Google Scholar 

  23. 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

    Google Scholar 

  24. Völter, M., Stahl, T., Bettin, J., Haase, A., Helsen, S.: Model-Driven Software Development: Technology, Engineering, Management. Wiley, Hoboken (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Johannes Schröpfer .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics