Authors:
Francesco Bedini
;
Ralph Maschotta
;
Alexander Wichmann
and
Armin Zimmermann
Affiliation:
Technische Universität Ilmenau, Germany
Keyword(s):
Subset, Union, UML, Ecore, C++, Variadic Template.
Related
Ontology
Subjects/Areas/Topics:
Applications and Software Development
;
Languages, Tools and Architectures
;
MetaModeling
;
Model Execution and Simulation
;
Model-Driven Software Development
;
Models
;
Paradigm Trends
;
Software Engineering
;
Syntax and Semantics of Modeling Languages
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.