Integration of Runtime Verification into Metamodeling
Runtime verification is an approach growing in popularity to verify the correctness of complex and distributed systems by monitoring their executions. Domain Specific Modeling Languages are a technique used for specifying such systems in an abstract way, but still close to the solution domain. We aim at integrating runtime verification and domain specific modeling into the development process of complex systems. Such integration is achieved by linking the elements of the system model with the atomic propositions of the temporal correctness properties used to specify monitors.
As an example of our approach consider a moving robot which can detect
- obstacles with a distance sensor and
- the border of the table with a color sensor.
In order to demonstrate our approach we created a little example DSML for such a robot. In the DSML the robot can
- move forward,
- move backwards and,
- turn left or right.
In the following diagram the transitions between the different tasks are triggered by inputs which represent either environmental measurements or timeouts.
We can simulate the execution of such a model using model transformation rules and generate code from the model that runs on the target platform, which is LEGO Mindstorms in our case study. In both cases we want to verify the correct behavior of the model using Runtime Verification. Correctness properties can be formulated in terms of the active inputs and tasks.
In the following video we demonstrate how the model transformation rules and LTL evaluation are applied on the target hardware. The robot is supposed to
- Move forward.
- Go back and turn left in case of an obstacle.
- Go back and turn right if it reaches the border of the table.
The exemplary correctness property states that obstacles are static objects which do not move. In other words, if the robot goes back, the detected obstacle must be out of range again. Otherwise the obstacles comes after the robot.
Used Tools
- Eclipse Model Framework (EMF) for the Modeling
- LamaConv for the Monitor Generation
- MultEcore for Multilevel Metamodeling
Literature
- Our position paper Integration of Runtime Verification into Metamodeling for Simulation and Code Generation (Presentation) was presented at RV'16.
- At the 28th Nordic Workshop on Programming Theory (NWPT'16) we presented the latest results (Extended Abstract, Presentation).
Contact
This project is part of a research collaboration with the Bergen University College with contributions of Fernando Macias, Torben Scheffel, Malte Schmitz, Rui Wang, Martin Leucker, Adrian Rutle and Volker Stolz.
- News
- Research
- Teaching
- Staff
- Martin Leucker
- Diedrich Wolter
- Ulrike Schräger-Ahrens
- Aliyu Ali
- Mahmoud Abdelrehim
- Phillip Bende
- Juljan Bouchagiar
- Marc Bätje
- Tobias Braun
- Gerhard Buntrock
- Anja Grotrian
- Hannes Hesse
- Raik Hipler
- Elaheh Hosseinkhani
- Hannes Kallwies
- Frauke Kerlin
- Karam Kharraz
- Mohammad Khodaygani
- Ludwig Pechmann
- Waqas Rehan
- Martin Sachenbacher
- Andreas Schuldei
- Annette Stümpel
- Gesina Schwalbe
- Tobias Schwartz
- Daniel Thoma
- Lars Vosteen
- Open Positions
- Contact