A Foundation for Multi-Paradigm Modelling
29 August 2018
Campus Middelheim, G.006 - Middelheimlaan 1 - 2020 Antwerpen (route: UAntwerpen, Campus Middelheim
Organization / co-organization:
Department of Mathematics & Computer Science
Yentl Van Tendeloo
PhD defence Yentl Van Tendeloo - Faculty of Science, Department of Mathematics and Computer Science
The complexity of engineered systems is rapidly increasing, mainly due to their heterogeneity at run time and design time. At run time, software controls hardware components in a feedback loop, the complete system has to interact (safely) with the environment, and often multiple such systems are connected over a network and have to cooperate to achieve a task. At design time, these run-time requirements often require multiple languages and tools to be combined, in order to create a single big system.
To successfully and efficiently tackle the complexity of engineered system, modelling- and simulation-based techniques are increasingly applied in the flow of the engineering work. Model-Driven Engineering (MDE) regards models as first-class concepts: before realizing the system, the various aspects of the system are modelled, allowing for analysis, simulation, and verification. Within MDE, Multi-Paradigm Modelling (MPM) actively promotes the use of domain-specific models. MPM advocates explicitly modelling every relevant aspect of the system, using the most appropriate formalism(s), at the most appropriate level(s) of abstraction, while explicitly modelling the process. Nonetheless, to date no extensible foundation for MPM exists.
In this thesis, we address this problem in three steps, forming the three main contributions of this thesis.
Our first contribution consists of a specification for an MPM foundation, in the form of tool requirements. These are concretized using a minimal, though representative, Power Window example.
Our second contribution consists of implementing these requirements for a prototype tool, which we term the Modelverse. MPM was applied during the construction of this tool, serving as a case study itself and highlighting the advantages of MPM. For each component, we motivate the use of MPM, consider the most appropriate formalism, present the model, and evaluate the use of MPM. Most components proved easier and less verbose to model, due to the higher level of abstraction: we could focus on the “what”, instead of the “how”. Several components proved exceptionally advantageous to model explicitly. Thanks to the application of MPM, we overcame existing limitations, resulting in further contributions. This was the case for the conformance relation, physical type model, process model enactment, service orchestration, action language semantics, and performance evaluation.
Our third contribution consists of evaluating the presented prototype tool. We evaluate support for the Power Window case study. Additionally, we consider three domains in which contributions were made using our prototype tool: live modelling, concrete syntax, and tool debugging.