Universitätsbibliothek Erlangen Zur Homepage der Universitätsbibliothek Erlangen
Zur Homepage der Universität Erlangen

Eingang zum Volltext in OPUS


Hinweis zum Urheberrecht

Dissertation zugänglich unter
URN: urn:nbn:de:bvb:29-opus-25963
URL: http://www.opus.ub.uni-erlangen.de/opus/volltexte/2011/2596/


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

Scheler, Fabian

pdf-Format:
Dokument 1.pdf (5.945 KB)


SWD-Schlagwörter: Zeitsteuerung , Erlangen / Institut für Informatik , Deadline Scheduling , Wechselseitiger Ausschluss , Synchronisierung
Freie Schlagwörter (Deutsch): Echtzeitsystemarchitektur , Atomic Basic Blocks , Real-Time Systems Compiler , zeitgesteuerte Systeme , ereignisgesteuerte Systeme
Freie Schlagwörter (Englisch): Real-Time Systems Architecture , Atomic Basic Blocks , Real-Time Systems Compiler , Time-triggered Systems , Event-triggered Systems
CCS - Klassifikation: D.4.7 Orga , C.3 SPECIA
Fakultät: Technische Fakultät
DDC-Sachgruppe: Informatik
Dokumentart: Dissertation
Hauptberichter: Schröder-Preikschat, Wolfgang (Prof. Dr.-Ing. habil.)
Sprache: Deutsch
Tag der mündlichen Prüfung: 14.04.2011
Erstellungsjahr: 2011
Publikationsdatum: 17.05.2011
Kurzfassung in Deutsch: 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.
Kurzfassung in Englisch: 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.


Home | Suchen | Veröffentlichen
 Sie benötigen weitere Informationen? Fragen Sie uns!


Letzte Änderung: 01.11.10