The student will learn about techniques for monitoring systems at runtime and to build automatic means for healing systems in case of unforeseen behaviour. He or she will study monitor synthesis approaches as well as basics of controller synthesis to reconfigure systems at runtime.
The focus of the module is on understanding the concepts and mechanisms of runtime verification and runtime reflection.
The goal is to enable the student to apply runtime verification techniques to enrich the reliability of systems.
Detailed Content
- Specification of correctness properties.
- Monitor synthesis algorithms.
- Diagnosis and Reconfiguration.
- Code manipulation.
- jUnitRV
Tutorial
The student will apply the runtime verification techniques learned during the course in practical applications. The tutorial involves the usage of monitor synthesis and Java or C code instrumentation tools.
Getting started with a Maven project
The ZIP archive for the tutorial contains a Java Maven project. You can use this either from the command line or with an IDE. I suggest using IntelliJ and import the Maven project into one of these IDEs.
IntelliJ
Eclipse
Command Line
- Install the Java SE Development Kit.
- Download and install Maven.
- Run the unit tests included in the Maven project.
- Navigate in your shell into the extracted archive.
- Enter
mvn test