MDELab provides an overview of the research projects conducted by the System Analysis and Modeling Research Group at the Hasso Plattner Institute (HPI), University of Potsdam, Germany. The focus of this overview is on software, tools, and languages developed in the scope of our research projects that address the following topics:
For evaluation of the developed MDELab software, tools, and languages we employ several Experimental Settings and Case Studies.
Model Transformations, Model Operations, and Compositions
Model operations are used to manipulate, transform, or synchronize models. The MoTE and Story Diagram Tools projects can be used to specify automated model operations. Further research approaches aim at composing different model operations to support modularization and reuse in development of model operations, too. The Workflows project provides a lightweight way to specify transformation chains. The modular model operations engine in Model Management project aims at more sophisticated compositions.
Managing Software Development
Model-driven development bases on the combined use of a multitude of (modeling) languages and artifacts. In addition, automation helps to gain profit from the diversity of abstraction levels provided by the different used languages. However, such an MDE setting requires a meaningful management of the development.
This includes planning how an MDE approach will look like: What tasks can be automated? Which tools and languages should be used? The Software Manufacture Models project (see also the research page of the project) aims at supporting this planning task.
Further it is necessary to maintain and store an overview about the existing artifacts and their interrelations during development. The Model Management project (see also the research page of the project) together with its MoM-VCS subproject aim to support such maintenance tasks.
Software Engineering for Self-Adaptive Systems
We investigate the role of Model-Driven Engineering (MDE) in engineering self-adaptive software (see also the research page of the project). Therefore, we study the development and usage of MDE principles and techniques for developing, maintaining, executing, and dynamically adapting self-adaptive software. In particular, we investigate the role of Models@Run.time that are used in feedback loops or that are used for feedback loops.
A further main goal of MDE is the usage of models for early verification. Goal of the Invariant Checker project is the development of techniques for static analysis. Examples are graph based techniques for proving that certain safety critical states are not reached during execution of a software system.
With the advent of MDE not only models but also model transformations became first-class artefacts in the development process. Model transformations manipulate models with different goals such as refinement, code generation, refactoring, etc. In order to ensure correctness of software developed using MDE it is of major importance to be able to verify these model transformations. Therefore, the CorMorant project (see also the research page of the project) aims at presenting methods for the formal verification of correctness of model transformation based on graph transformation.
Moreover, in the context of the QUANTUM project, whose goal is the development of new quantitative models and quantitative analysis techniques for service-oriented real-time systems that provide the required combinations of probabilistic behavior, real-time behavior, and structure dynamics, we introduced the formal model of Probabilistic Timed Graph Transformation Systems (PTGTSs) and outlined a mapping of PTGTS models employing an extended version of the HENSHIN tool to probabilistic timed automata (PTA) such that the PRISM model checker can be used to analyze PTGTS models with respect to PTCTL properties. Also, to enable the analysis of complex large-scale PTGTS models, we developed a simulator for PTGTSs that allows to import real-world topologies, to automatically detect violations of state properties, and to handle the graph pattern matching as well as time and probabilities efficiently.
Requirements engineers face the challenge to enable a communication between stakeholders and software engineers. Therefore, it is necessary to bridge the gap between an intuitive view of the problem domain and a formal representation of the requirements. The SceB-TaPE project aims at providing such a bridge with a simulation approach (see also the research page of the project). The approach is based on story patterns for the description of observable state transitions. Using story patterns derived from such observations, the simulator enables stakeholders to collaboratively play through their work scenarios either directly with other stakeholders or simulated ones.
SamiGra Compatibility Project
The SamiGra exchange format provides a consistent way to use and integrate most MDELab tools. More information on this format will be provided soon.