Aspektorientierte Echtzeitsystemarchitekturen (Phase 2)
The project aims at improving the predictability of dynamic real-time systems with mixed-criticality task systems. For this purpose, critical paths are identified and automatically transformed into static equivalents, which can, in case of failure, be executed with high confidence in a time-controlled manner.
Abstract
The Aspect-Oriented Real-Time Architecture (AORTA) project is the sequel of the ABB research project. It picks up the key idea of the ABB-project, namely describing the complete real-time system using a global dependency graph derived from an inter-procedural control flow graph (CFG). The single nodes of that dependency graph are called Atomic Basic Blocks (ABBs). Within those ABBs no interaction among different tasks takes place. So, such interactions originate and target the boundaries of ABBs only. Thus, ABB-based dependency graphs are an adequate abstraction to modify the control flow structure of a real-time system.
Within the ABB-project we used ABBs to migrate event-triggered to time-triggered systems by linearising the control flow structure under temporal constraints. Within the AORTA-project we want to apply this method to several aspects of the real-time architecture governing the control flow structure of a real-time application. So, as the control flow structure is a heavily cross-cutting property of a real-time application, we handle this property in an aspect-oriented manner by means of ABB-based dependency graph.
Goals
As mentioned above, we want to apply ABB-based dependency graphs to a broader scope of application covering several aspects of a real-time application's real-time systems architecture. Within this project we focus on the following topics:
- Event-Triggered Systems
In the ABB-project we solely considered time-triggered target systems. Here we also want to target event-triggered systems. The possibility to map ABB-graphs also to event-triggered systems is the foundation for other optimisations envisaged in the realm of the AORTA-project.
- Distributed Systems and Multi-core Systems
As real-time systems are distributed systems by their nature and multi-core processors are on the rise also in the field of embedded real-time systems, one of the major goals of the AORTA-project is to map ABB-graphs to such systems. Besides CPU scheduling the employed communication systems have to be considered, too.
- Automated Replication
The redundant execution of safety-critical system components could also be interpreted as a transformation of the control flow structure replicating certain parts of the real-time application. Within the AORTA-project we try to automate this transformation. So, replicating safety-critical components could be reduced to marking these components via annotations.
- Non-functional Properties: Blocking Time & Stack Usage
Another goal of the AORTA-project is to employ transformations of the control flow structure to optimise certain non-functional properties of a real-time system. The stack usage of such applications could be reduced by e.g. serialising tasks provided their timely execution is not sacrificed.
- Canonical Real-Time API
We want to distil all our ideas into a canonical real-time API that does not make any assumptions on the actual real-time systems architecture of a real-time application (i.e. if the application will be executed in an event-triggered or a time-triggered manner) and focuses on the description of inter-task dependencies. Thus, such an API supports the generic manipulation of the control flow structure as it enables an easy mapping to different real-time systems architectures.