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

Language
de
Document Type
Doctoral Thesis
Issue Date
2011-05-17
Issue Year
2011
Authors
Scheler, Fabian
Editor
Abstract

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-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.

Abstract

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 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.

DOI
Document's Licence
Faculties & Collections
Zugehörige ORCIDs