16.08.2013 Aufrufe

Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...

Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...

Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

112 KAPITEL 6. FUNKTIONALE BESCHREIBUNG VON BILDFOLGENPROGRAMMEN<br />

auf der anderen Seite dadurch, daß zwischen zwei Arten von Rückkopplungen unterschieden<br />

wird. Rückkopplungen, <strong>die</strong> lediglich den Zugriff auf vergangene <strong>Daten</strong>werte ermöglichen <strong>und</strong><br />

pro Modulzyklus nur einmal durchlaufen werden, sind erlaubt, müssen jedoch explizit als solche<br />

gekennzeichnet werden, Rückkopplungen, <strong>die</strong> ausschließlich auf <strong>Daten</strong>werte des aktuellen<br />

Modulzyklus zugreifen <strong>und</strong> damit eine echte Schleife darstellen, sind dagegen verboten.<br />

SA<br />

F EG<br />

F B<br />

SB Verbotene SG<br />

Schleife<br />

t<br />

F B<br />

SA SB Aufgebrochene SG<br />

-1 Schleife<br />

Abbildung 6.23: Erzeugen eines schleifenfreien <strong>Daten</strong>flußgraphen aus einem Graphen mit<br />

Rückkopplungen durch Aufbrechen der Schleifen <strong>und</strong> explizite <strong>Daten</strong>zugriffe auf vergangene<br />

Werte.<br />

Wie Abb. 6.23 illustriert, ist bei einfachen Rückkopplungen ein Aufbrechen der Schleifen<br />

eines Graphen <strong>und</strong> deren Sequentialisierung ohne weiteres möglich, wobei eine solche Rückkopplung<br />

direkt an den Modulzyklus gekoppelt wird. Der explizite Zugriff auf einen alten Wert<br />

(z.B. Ë ) kennzeichnet <strong>die</strong> Stelle, an der der <strong>Daten</strong>flußgraph aufgebrochen wird. Damit liegt<br />

trotz der Rückkopplungen im Graphen de facto ein schleifenfreier Graph1 vor.<br />

Im direkten Zusammenhang mit dem Zugriff auf ältere Sequenzwerte, sowohl in Rückkopplungen<br />

als auch im Vorwärtszweig wie in Abb. 6.19, steht <strong>die</strong> Bereitstellung von Startwerten:<br />

Damit im allerersten Modulzyklus ein solcher Zugriff nicht scheitert, muß <strong>für</strong> <strong>die</strong>se <strong>Daten</strong> ein<br />

Startwert zur Verfügung stehen. Dieser kann als elementarer Bestandteil der <strong>Daten</strong>sequenzen<br />

unmittelbar beim Erzeugen der Sequenzobjekte initialisiert werden, womit ein allgemeiner<br />

Mechanismus <strong>für</strong> alle Initialisierungsprobleme im Zusammenhang mit <strong>Daten</strong>sequenzen bereitgestellt<br />

wird, was den Entwickler von einer expliziten Verwaltung derartiger <strong>Daten</strong> befreit.<br />

6.4.3 Modulgrenzen, Eingangssensoren <strong>und</strong> aktive Objekte<br />

Neben der Möglichkeit, <strong>die</strong> Verarbeitung sämtlicher periodischer <strong>Daten</strong>sequenzen einer Applikation<br />

in einem einzigen <strong>Daten</strong>flußgraphen darzustellen, ist es häufig sinnvoll, das Gesamtsystem<br />

in mehrere, relativ unabhängige Module, <strong>die</strong> über definierte Schnittstellen <strong>Daten</strong> austauschen<br />

<strong>und</strong> miteinander kommunizieren, zu unterteilen. Diese Aufteilung ermöglicht einerseits<br />

einen weitestgehend separaten Entwurf verschiedener Programmteile <strong>und</strong> kann andererseits<br />

<strong>die</strong> unterschiedlichen Aufgabenbereiche sowie unabhängigen Hardwarekomponenten einer Anwendung<br />

widerspiegeln.<br />

1 In <strong>die</strong>sem Zusammenhang ist häufig auch von „zyklenfreien Graphen“ <strong>die</strong> Rede. Dieser Begriff wurde hier<br />

wegen der Doppeldeutigkeit des Begriffs “Zyklus“ vermieden. In <strong>die</strong>ser Arbeit wird Zyklus in erster Linie mit<br />

Arbeitsschritten verb<strong>und</strong>en, also im Sinne von Iterationen verwendet. Für Zyklen in einer graphischen Darstellung<br />

sollen dagegen <strong>die</strong> Begriffe „Schleife“ <strong>und</strong> „Rückkopplung“ verwendet werden.<br />

F<br />

EG<br />

S -1<br />

A<br />

0<br />

SA -2 SB<br />

S -1<br />

B<br />

0<br />

SB -1<br />

EG<br />

F<br />

-1<br />

B<br />

F<br />

0<br />

EG<br />

F<br />

0<br />

B<br />

F<br />

S -1<br />

G<br />

0<br />

SG schleifenfreier Ausführungsgraph

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!