Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...
Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...
Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
8 KAPITEL 1. EINFÜHRUNG<br />
1.4 Ausgangssituation <strong>und</strong> verwandte Arbeiten<br />
Bei der Umsetzung dynamischer <strong>Echtzeit</strong>systeme wird man mit zwei gegensätzlichen, wenn<br />
nicht gar sich widersprechenden Forderungen konfrontiert: Die Notwendigkeit einer optimalen<br />
Ausnutzung der Systemressourcen steht dem Wunsch nach einer effizienten Programmentwicklung<br />
mit standardisierten Werkzeugen <strong>und</strong> Komponenten entgegen. Aufgr<strong>und</strong> der hohen<br />
Anforderungen an <strong>die</strong> Hardware, <strong>die</strong> bisher immer an ihren Leistungsgrenzen betrieben wurde,<br />
hat <strong>die</strong> Laufzeiteffizienz i.d.R. den Vorrang vor allgemeinen, wiederverwendbaren <strong>Daten</strong>strukturen<br />
erhalten. So basieren <strong>die</strong> in der Vergangenheit entwickelten Lösungen meist auf teurer<br />
Spezialhardware <strong>und</strong> sind mit Software ausgestattet, <strong>die</strong> speziell auf eine konkrete Anwendung<br />
zugeschnitten <strong>und</strong> <strong>für</strong> <strong>die</strong>se optimiert wurde.<br />
Diese enge Ausrichtung von Entwicklungen auf eine ganz bestimmte Anwendung <strong>und</strong> einen<br />
stark spezialisierten Hardwareaufbau spiegelt sich auch in den zugr<strong>und</strong>eliegenden Modellen<br />
wider. Diese sind i.d.R. stark vereinfacht <strong>und</strong> beschränken sich auf einige wenige Aspekte der<br />
Anwendungsdomäne. Viele Annahmen über das System wandern dabei als implizites Wissen<br />
in <strong>die</strong> Implementierung. Das macht eine Wiederverwendung der entwickelten Komponenten<br />
nahezu unmöglich <strong>und</strong> selbst kleine Veränderungen des Einsatzgebietes oder der Austausch<br />
von Hardware erfordern <strong>die</strong> Neuentwicklung großer Teile des Systems nahezu von Gr<strong>und</strong> auf.<br />
Diese Vorgehensweise ist höchst unwirtschaftlich <strong>und</strong> stellt ein Haupthindernis <strong>für</strong> eine schnelle<br />
<strong>und</strong> effiziente Programmentwicklung dar.<br />
Ansätze <strong>für</strong> ein allgemeines applikationsunabhängiges Bildfolgensystem müssen sich daher<br />
zuerst mit der Modellierung der zentralen Größen <strong>und</strong> Komponenten von Bildfolgenprogrammen<br />
auseinandersetzen. Zu <strong>die</strong>sen Größen zählen vor allem <strong>die</strong> Zeit <strong>und</strong> zeitliche Ausdrücke,<br />
weiterhin <strong>die</strong> dynamischen, über <strong>die</strong> Zeit zu beobachtenden <strong>Daten</strong>, Möglichkeiten <strong>für</strong> <strong>die</strong> Einbindung<br />
der Operatoren, <strong>die</strong> <strong>die</strong>se <strong>Daten</strong> bereitstellen oder verarbeiten <strong>und</strong> schließlich aktive<br />
Komponenten, <strong>die</strong> <strong>für</strong> <strong>die</strong> Steuerung des Programmablaufs verantwortlich sind.<br />
In den folgenden Abschnitten wird untersucht, auf welche Vorarbeiten hinsichtlich der Modellierung<br />
<strong>die</strong>ser Größen zurückgegriffen <strong>und</strong> aufgebaut werden kann. Begonnen wird im Abschnitt<br />
1.4.1 mit einer Übersicht über verschiedene Arbeiten zur rechnerinternen Repräsentation<br />
zeitlicher Ausdrücke. Im darauf folgenden Abschnitt werden bestehende Ansätze zur Repräsentation<br />
von Bildfolgen untersucht. Abschnitt 1.4.3 beleuchtet <strong>die</strong> Aspekte Parallelität <strong>und</strong><br />
Nebenläufigkeit in Bildfolgensystemen. Hier werden vor allem <strong>die</strong> inhärente Parallelität sowie<br />
Möglichkeiten, <strong>die</strong>se darzustellen <strong>und</strong> auf parallele Hardware zu übertragen, untersucht.<br />
Die objektorientierte Programmierung stellt ein mächtiges Werkzeug <strong>für</strong> <strong>die</strong> Repräsentation<br />
komplexer Zusammenhänge auf hohem Abstraktionsniveau dar. Auf deren Stellung <strong>und</strong> Einsatzmöglichkeiten<br />
in der Bildverarbeitung wird in Abschnitt 1.4.4 eingegangen.<br />
1.4.1 Repräsentation von Zeit<br />
Ansätze <strong>für</strong> eine explizite Repräsentation von Zeit <strong>und</strong> zeitlichen Ausdrücken in Computerprogrammen<br />
findet man vor allem im Bereich temporaler Logiken <strong>und</strong> wissensbasierter Systeme.<br />
Erstere stellen Operatoren bereit, <strong>die</strong> z.B. <strong>für</strong> <strong>die</strong> Spezifikation <strong>und</strong> Verifikation nebenläufiger<br />
Programme eingesetzt werden [Hai82, Lam83, Krö87]. In wissensbasierten Systemen werden<br />
zeitliche Aussagen insbesondere im Bereich der temporalen Planung verwendet, wozu auch das<br />
temporale Schließen <strong>und</strong> <strong>die</strong> Terminplanung gehören. Unter temporaler Planung versteht man