Prodeling with the Action Language for Foundational UML

Thomas Buchmann

Abstract

Model-driven software development (MDSD) – a software engineering discipline, which gained more and more attention during the last few years – aims at increasing the level of abstraction when developing a software system. The current state of the art in MDSD allows software engineers to capture the static structure in a model, e.g., by using class diagrams provided by the Unified Modeling Language (UML), and to generate source code from it. However, when it comes to expressing the behavior, i.e., method bodies, the UML offers a set of diagrams, which may be used for this purpose. Unfortunately, not all UML diagrams come with a precisely defined execution semantics and thus, code generation is hindered. Recently, the OMG issued the standard for an Action Language for Foundational UML (Alf), which allows for textual modeling of software system and which provides a precise execution semantics. In this paper, an integrator between an UML-based CASE tool and a tool for Alf is presented, which empowers the modeler to work on the desired level of abstraction. The static structure may be specified graphically with the help of package or class diagrams, and the behavior may be added using the textual syntax of Alf. This helps to blur the boundaries between modeling and programming. Executable Java code may be generated from the resulting Alf specification.

References

  1. Buchmann, T. (2012). Valkyrie: A UML-Based ModelDriven Environment for Model-Driven Software Engineering. In Proceedings of the 7th International Conference on Software Paradigm Trends (ICSOFT 2012), pages 147-157, Rome, Italy. SciTePress.
  2. Buchmann, T. and Greiner, S. (2016). 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., and Cabello, E., editors, Proceedings of the 11th International Joint Conference on Software Technologies (ICSOFT 2016) - Volume 2: ICSOFT-PT, Lisbon, Portugal, July 24 - 26, 2016., pages 27-38. SciTePress.
  3. Buchmann, T. and Rimer, A. (2016). Unifying Modeling and Programming with ALF. In Kaindl, H. and Meli, R., editors, Proceedings of the 2nd International Conference on Advances and Trends in Software Engineering (SOFTENG 2016), page 6. IARIA.
  4. Buchmann, T. and Schwägerl, F. (2015). On A-posteriori Integration of Ecore Models and Hand-written Java Code. In Pascal Lorenz, M. v. S. and Cardoso, J., editors, Proceedings of the 10th International Conference on Software Paradigm Trends, pages 95-102. SciTePress.
  5. Buchmann, T. and Westfechtel, B. (2013). Towards incremental round-trip engineering using model transformations. In Demirors, O. and Turetken, O., editors, Proceedings of the 39th Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2013), pages 130-133. IEEE Conference Publishing Service.
  6. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1994). Design Patterns - Elements of Reusable Object-Oriented Software. Addison-Wesley, Upper Saddle River, NJ.
  7. Lethbridge, T. C., Forward, A., and Badreddin, O. (2010). Umplification: Refactoring to incrementally add abstraction to a program. In Reverse Engineering (WCRE), 2010 17th Working Conference on, pages 220-224. IEEE.
  8. OMG (2013a). Action Language for Foundational UML (ALF). Object Management Group, Needham, MA, formal/2013-09-01 edition.
  9. OMG (2013b). Semantics of a Foundational Subset for Executable UML Models (fUML). Object Management Group, Needham, MA, formal/2013-08-06 edition.
  10. OMG (2015a). Meta Object Facility (MOF) Version 2.5. OMG, Needham, MA, formal/2015-06-05 edition.
  11. OMG (2015b). Unified Modeling Language (UML) . Object Management Group, Needham, MA, formal/15-03-01 edition.
  12. Steinberg, D., Budinsky, F., Paternostro, M., and Merks, E. (2009). EMF Eclipse Modeling Framework. The Eclipse Series. Addison-Wesley, Boston, MA, 2nd edition.
  13. The Fujaba Developer Teams from Paderborn, Kassel, Darmstadt, Siegen and Bayreuth (2005). The Fujaba Tool Suite 2005: An Overview About the Development Efforts in Paderborn, Kassel, Darmstadt, Siegen and Bayreuth. In Giese, H. and Zündorf, A., editors, Proceedings of the 3rd international Fujaba Days, pages 1-13.
  14. Völter, M., Stahl, T., Bettin, J., Haase, A., and Helsen, S. (2006). Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons.
Download


Paper Citation


in Harvard Style

Buchmann T. (2017). Prodeling with the Action Language for Foundational UML . In Proceedings of the 12th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-250-9, pages 263-270. DOI: 10.5220/0006353602630270


in Bibtex Style

@conference{enase17,
author={Thomas Buchmann},
title={Prodeling with the Action Language for Foundational UML},
booktitle={Proceedings of the 12th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2017},
pages={263-270},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006353602630270},
isbn={978-989-758-250-9},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 12th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - Prodeling with the Action Language for Foundational UML
SN - 978-989-758-250-9
AU - Buchmann T.
PY - 2017
SP - 263
EP - 270
DO - 10.5220/0006353602630270