Atomic Basic Blocks - Eine Abstraktion für die gezielte Manipulation der Echtzeitsystemarchitektur

Atomic Basic Blocks - An abstraction to systematically manipulate the real-time systems architecture

  • Der interne Aufbau eines Echtzeitsystems wird maßgeblich von den Strukturelementen der verwendeten "Echtzeitsystemarchitektur" beeinflusst. Sie bestimmen, wie Aufgaben an externe Ereignisse gekoppelt werden, und wie Aufgaben interagieren, die Berechnungsergebnisse gemeinschaftlich erbringen. In Forschung und Industrie haben sich zwei grundsätzlich verschiedene Echtzeitsystemarchitekturen herausgebildet. Dies sind einerseits ereignisgesteuerte Systeme und andererseits zeitgesteuerte Systeme. Ereignisgesteuerte Systeme führen Berechnungen direkt als Reaktion auf externe Ereignisse aus. Zu welchen Zeitpunkten welche Berechnungen durchgeführt werden, hängt also auch davon ab, wann diese EreignisDer interne Aufbau eines Echtzeitsystems wird maßgeblich von den Strukturelementen der verwendeten "Echtzeitsystemarchitektur" beeinflusst. Sie bestimmen, wie Aufgaben an externe Ereignisse gekoppelt werden, und wie Aufgaben interagieren, die Berechnungsergebnisse gemeinschaftlich erbringen. In Forschung und Industrie haben sich zwei grundsätzlich verschiedene Echtzeitsystemarchitekturen herausgebildet. Dies sind einerseits ereignisgesteuerte Systeme und andererseits zeitgesteuerte Systeme. Ereignisgesteuerte Systeme führen Berechnungen direkt als Reaktion auf externe Ereignisse aus. Zu welchen Zeitpunkten welche Berechnungen durchgeführt werden, hängt also auch davon ab, wann diese Ereignisse eintreten, und kann kaum vorausgesagt werden. Zeitgesteuerte Systeme folgen hingegen einem statischen, vorab berechneten Ablaufplan, der zyklisch abgearbeitet wird. Zu jedem Zeitpunkt ist somit genau bestimmt, welche Berechnung gerade abläuft. Es ist somit leicht nachvollziehbar, dass ereignisgesteuerte Systeme im Gegensatz zu zeitgesteuerten Systemen besser auf Ereignisse vorbereitet sind, deren zeitliches Verhalten nicht genau bekannt ist. Zeitgesteuerte Systeme sind indessen für die Ausführung strikt zyklischer Berechnungsaufgaben prädestiniert und führen in solchen Anwendungen zu einem vollkommen vorhersagbaren Verhalten. Diese beiden Paradigmen können daher mit unterschiedlichen Anwendungsprofilen unterschiedlich gut umgehen. Es ist naheliegend, jeweils das Paradigma auszuwählen, das den vorliegenden Anwendungsfall möglichst gut unterstützt. Entwickelt man ein Echtzeitsystem von Grund auf neu, ist diese Auswahl problemlos möglich. Existieren aber bereits gewisse Teile eines Echtzeitsystems, beispielsweise weil Fragmente eines bestehenden Systems wiederverwendet werden sollen, oder weil sich Anforderungen während der Entwicklung geändert haben, ist dieser Paradigmenwechsel sehr aufwändig. Die Echtzeitsystemarchitektur beeinflusst schließlich die interne Struktur der Implementierung eines Echtzeitsystems. Ihre Strukturelemente finden sich daher an vielen Stellen innerhalb einer Echtzeitanwendung und machen eine arbeitsintensive, meist manuelle Portierung erforderlich. In dieser Dissertation wird mit dem Real-Time Systems Compiler (RTSC) ein Werkzeug vorgestellt, um die Echtzeitsystemarchitektur gezielt zu manipulieren und diese händische Portierung durch eine automatisierte Transformation zu ersetzen. Dieses Werkzeug extrahiert die Strukturelemente der Echtzeitsystemarchitektur aus der Implementierung des Echtzeitsystems und stellt dessen internen Aufbau mithilfe der Abstraktion Atomic Basic Block in einem globalen Abhängigkeitsgraphen architekturneutral dar. Der RTSC bildet diesen Abhängigkeitsgraphen schließlich auf die gewünschte Echtzeitsystemarchitektur ab und berücksichtigt dabei auch die zeitlichen Anforderungen an das Echtzeitsystem, die über ein Systemmodell mit seinen internen Zusammenhängen verknüpft werden. Die zentralen Beiträge dieser Dissertation sind daher die Abstraktion Atomic Basic Block, das Systemmodell und der Real-Time Systems Compiler, die in der oben skizzierten Weise eine gezielte und automatisierte Manipulation der Echtzeitsystemarchitektur ermöglichen.show moreshow less
  • The internal composition of a real-time system is significantly affected by the structural elements of the underlying real-time systems architecture. These elements control how tasks are attached to external events and how cooperating tasks interact with each other. Research and industry have brought up two fundamentally different manifestations of such real-time systems architectures: On the hand, there are event-triggered systems and on the other hand, there are time-triggered systems. Event-triggered systems perform tasks directly in response to external events. As a consequence, it depends on the occurrence of these events at which time certain computations are carried out. Time-triggereThe internal composition of a real-time system is significantly affected by the structural elements of the underlying real-time systems architecture. These elements control how tasks are attached to external events and how cooperating tasks interact with each other. Research and industry have brought up two fundamentally different manifestations of such real-time systems architectures: On the hand, there are event-triggered systems and on the other hand, there are time-triggered systems. Event-triggered systems perform tasks directly in response to external events. As a consequence, it depends on the occurrence of these events at which time certain computations are carried out. Time-triggered systems, in contrast, use a static, pre-computed schedule table that is executed cyclically. Thus, at any given time, the task that is currently executed is known. It is easy to figure out that the event-triggered paradigm can deal much better with events whose precise temporal specification is not known beforehand than its time-triggered counterpart. Such systems, on the other hand, are to be preferred if cyclic tasks are predominant. In that case, time-triggered systems offer a fully predictable behaviour. Thus, application scenarios that have different temporal characteristics are not supported equally well by these paradigms. Hence, it is logical to go for that paradigm that suits the current application scenario best. Provided a real-time system is built from scratch, this is not a problem, as one can easily choose the ideal real-time paradigm. This is different if some parts of this system already exist; either because some components of other systems should be reused, or because the requirements of the real-time system currently being developed have changed. In that case, changing the real-time paradigm is a challenging undertaking, since the real-time systems architecture heavily influences the internal structure of a real-time system. Thus, you can find its structural elements spread all over the application. This normally demands for a manual and labour-intensive porting in most cases. This thesis presents a tool to purposefully manipulate the real-time systems architecture and to replace that manual porting process by an automated transformation. This tool is called the Real-Time Systems Compiler (RTSC). The RTSC uses Atomic Basic Blocks (ABBs) to abstract from the real-time systems architecture's structural elements and notes down the internal structure of a real-time system by a global dependency graph made up by ABBs. Finally, it maps that dependency graph to the desired real-time systems architecture. Furthermore, this transformation takes into account the temporal requirements of the real-time system taken down in a system model connecting them to the internal structure of the real-time system. Therefore, the core contributions of this thesis are the abstraction Atomic Basic Block, the system model and the Real-Time Systems Compiler enabling the directed and automated manipulation of the real-time systems architecture as sketched above.show moreshow less

Download full text files

Export metadata

  • Export Bibtex
  • Export RIS

Additional Services

Share in Twitter Search Google Scholar
Metadaten
Author:Fabian Scheler
URN:urn:nbn:de:bvb:29-opus-25963
Advisor:Wolfgang Schröder-Preikschat
Document Type:Doctoral Thesis
Language:German
Date of Publication (online):2011/05/17
Publishing Institution:Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU)
Granting Institution:Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Technische Fakultät
Date of final exam:2011/04/14
Release Date:2011/05/17
Tag:Atomic Basic Blocks; Echtzeitsystemarchitektur; Real-Time Systems Compiler; ereignisgesteuerte Systeme; zeitgesteuerte Systeme
Atomic Basic Blocks; Event-triggered Systems; Real-Time Systems Architecture; Real-Time Systems Compiler; Time-triggered Systems
SWD-Keyword:Deadline Scheduling; Erlangen / Institut für Informatik; Synchronisierung; Wechselseitiger Ausschluss; Zeitsteuerung
Institutes:Technische Fakultät -ohne weitere Spezifikation-
Dewey Decimal Classification:004 Datenverarbeitung; Informatik

$Rev: 12793 $