Defining Executable Modeling Languages with fUML

By Tanja Mayerhofer .
Advised by Gerti Kappel

This work has been finished in December 2014.

Model-driven engineering (MDE) is a software development paradigm aiming to cope with the growing complexity of software systems by raising the level of abstraction. In this paradigm, a system is defined by means of models using modeling languages that enable developers to abstract away from implementation and platform details. From the models, complete implementations may be (semi-)automatically generated by utilizing model transformation techniques. As MDE puts models into the center of software development, adequate methods for creating, analyzing, and utilizing models are crucial. Due to the large body of used modeling languages, means for efficiently developing adequate tool support for modeling languages are needed. To address this need, the automation techniques provided by MDE may also be applied to automate the development of such tool support. This is current practice for developing syntax-based tools. However, the automated development of semantics-based tools has not reached the same level of maturity yet. The goal of this thesis is to fill this gap and provide a solution for automating the development of semantics-based tools for executable modeling languages. Therefore, a language and methodology for developing behavioral semantics specifications based on the standardized language fUML are proposed. To provide the basis for developing semantics-based tools, the execution environment of fUML was extended with means for execution control, runtime observation, and runtime analysis. Based on these extensions, a generic model execution environment for modeling languages whose behavioral semantics is defined with fUML was developed. This environment provides the foundation for developing semantics-based tools for executable modeling languages, which has been shown by the implementation of a semantic model differencing tool and other semantics-based tools.

Abstract and paper may be found in our publication database.

Download the paper