A Model-Driven fUML Execution Engine for C++

Francesco Bedini, Ralph Maschotta, Alexander Wichmann, Sven Jäger, Armin Zimmermann


This paper introduces an execution engine that is able to run fUML models, described by a subset of UML's class and activity diagrams' elements. The execution engine is realized in C++, which leads, in certain conditions, to better memory efficiency and performance of the generated code, compared for example to the fUML standard implementation in Java. As it does not use any platform specific code, it is possible to compile it on any C++ compliant platform. The paper then shows how the engine has been applied to a simulated annealing optimization heuristic as a validation example and finally a performance evaluation regarding occupied memory, storage requirements, and execution time is carried out.


  1. Data Access Technologies, I. M. D. S. (2016). Action language for uml (alf) - open source reference implementation. online.
  2. Goldthwaite, L. (2006). Technical report on C++ performance. ISO/IEC PDTR, 18015.
  3. Gosling, J. (2000). The Java language specification . Addison-Wesley Professional.
  4. Grady, B., James, R., and Ivar, J. (2005). The Unified Modeling Language User Guide. Addison-Wesley, 2nd edition.
  5. Guermazi, S., Tatibouet, J., Cuccuru, A., Dhouib, S., Gérard, S., and Seidewitz, E. (2015). Executable modeling with fUML and Alf in Papyrus: Tooling and experiments. strategies, 11:12.
  6. Jäger, S., Jugebloud, T., Maschotta, R., and Zimmermann, A. (2014). Model based QoS evaluation and validation for embedded wireless sensor networks. Systems Journal, IEEE.
  7. This work has been supported by the Federal Ministry of Economic Affairs and Energy of Germany under grant FKZ:20K1306D.
  8. Jäger, S., Maschotta, R., Jungebloud, T., Wichmann, A., and Zimmermann, A. (2016). An EMF-like UML Generator for C++. 4th Int. Conf. on Model-Driven Engineering and Software Development (MODELSWARD 2016).
  9. Kelly, S. and Tolvanen, J.-P. (2008). Domain-Specific Modeling: Enabling Full Code Generation. John Wiley & Sons.
  10. Kent, S. (2002). Model Driven Engineering. In Proceedings of the Third International Conference on Integrated Formal Methods, IFM 7802, pages 286-298, London, UK, UK. Springer-Verlag.
  11. Kirkpatrick, S., Vecchi, M. P., et al. (1983). Optimization by simulated annealing. Science, 220(4598):671-680.
  12. Kleppe, A. G., Warmer, J. B., and Bast, W. (2003). MDA explained: the model driven architecture: practice and promise. Addison-Wesley Professional.
  13. Mayerhofer, T. (2012). Testing and debugging UML models based on fUML. In 34th Int. Conf. on Software Engineering (ICSE), pages 1579-1582.
  14. ModelDriven.org (2016). Foundational UML (fUML) reference implementation. online. An open-source implementation of the OMG Foundational Semantics for Executable UML Models (Foundational UML) specification.
  15. OMG (2016). fuml 1.2.1 specifications. online.
  16. Robinson, R. M. (1954). Mersenne and fermat numbers. Proceedings of the American Mathematical Society, 5(5):842-846.
  17. Staines, T. S. (2008). Intuitive mapping of UML 2 activity diagrams into fundamental modeling concept Petri net diagrams and colored Petri nets. In 15th IEEE Int. Conf. and Workshop on the Engineering of Computer Based Systems (ECBS 2008), pages 191-200. IEEE.
  18. Steinberg, D., Budinsky, F., Paternostro, M., and Merks, E. (2003). EMF: The Eclipse Modeling Framework. Addison-Wesley Professional, 2nd edition.
  19. Systems and Software Engineering Group (2016). Model Driven Engineering for C++ (MDE4CPP). see http://sse.tu-ilmenau.de/mde4cpp.
  20. Tassey, G. (2002). The economic impacts of inadequate infrastructure for software testing. National Institute of Standards and Technology, RTI Project, 7007(011).
  21. Wichmann, A., Jäger, S., Jungebloud, T., Maschotta, R., and Zimmermann, A. (2016). Specification and execution of system optimization processes with UML activity diagrams. In 10th Int. IEEE Systems Conference (SysCon 2016), pages 464-470.

Paper Citation

in Harvard Style

Bedini F., Maschotta R., Wichmann A., Jäger S. and Zimmermann A. (2017). A Model-Driven fUML Execution Engine for C++ . In Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-210-3, pages 443-450. DOI: 10.5220/0006206904430450

in Bibtex Style

author={Francesco Bedini and Ralph Maschotta and Alexander Wichmann and Sven Jäger and Armin Zimmermann},
title={A Model-Driven fUML Execution Engine for C++},
booktitle={Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},

in EndNote Style

JO - Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - A Model-Driven fUML Execution Engine for C++
SN - 978-989-758-210-3
AU - Bedini F.
AU - Maschotta R.
AU - Wichmann A.
AU - Jäger S.
AU - Zimmermann A.
PY - 2017
SP - 443
EP - 450
DO - 10.5220/0006206904430450