A C++ Implementation of UML Subsets and Unions for MDE

Francesco Bedini, Ralph Maschotta, Alexander Wichmann, Armin Zimmermann

Abstract

This paper shows and discusses the realization of advanced data structures used in the UML specification (namely subsets, unions, and subset-unions) for a C++ execution engine. Those data structures have been realized thanks to the use of variadic templates, which were first introduced in C++11. Thanks to those templates which allow to take as parameters a non-fixed number of elements in an elegant manner, it has been possible to automatically generate from the Ecore and UML ecore models type-safe data structures which avoid elements being duplicated or the generation of additional lists during run-time. A performance analysis is presented to show how our implementation behaves compared to the other possible approaches.

Download


Paper Citation


in Harvard Style

Bedini F., Maschotta R., Wichmann A. and Zimmermann A. (2018). A C++ Implementation of UML Subsets and Unions for MDE.In Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-283-7, pages 464-471. DOI: 10.5220/0006606404640471


in Bibtex Style

@conference{modelsward18,
author={Francesco Bedini and Ralph Maschotta and Alexander Wichmann and Armin Zimmermann},
title={A C++ Implementation of UML Subsets and Unions for MDE},
booktitle={Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2018},
pages={464-471},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006606404640471},
isbn={978-989-758-283-7},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - A C++ Implementation of UML Subsets and Unions for MDE
SN - 978-989-758-283-7
AU - Bedini F.
AU - Maschotta R.
AU - Wichmann A.
AU - Zimmermann A.
PY - 2018
SP - 464
EP - 471
DO - 10.5220/0006606404640471