Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...
Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...
Objektorientierte Daten- und Zeitmodelle für die Echtzeit ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
94 KAPITEL 6. FUNKTIONALE BESCHREIBUNG VON BILDFOLGENPROGRAMMEN<br />
S A<br />
S B<br />
-1<br />
F<br />
F<br />
CD<br />
Ë Ë Ë<br />
Ë Ë Ë <br />
E<br />
S<br />
S<br />
S<br />
C<br />
D<br />
E<br />
F<br />
F<br />
F<br />
Ë Ë Ë<br />
Ë Ë Ë<br />
Ë Ë<br />
F<br />
G<br />
B<br />
S<br />
S<br />
F<br />
G<br />
-1<br />
-1<br />
FX<br />
F H<br />
F<br />
JK<br />
F L<br />
Ë<br />
ËÀ À Ë <br />
<br />
ËÂ ËÃ ÂÃ Ë Ë<br />
ËÄ Ä Ë Ë Ä<br />
Abbildung 6.4: <strong>Daten</strong>flußgraph aus Funktoren Ä <strong>und</strong> <strong>Daten</strong>sequenzen Ë ËÄ —<br />
graphisch <strong>und</strong> als Gleichungssystem. Zugriffe auf alte Werte werden über einen Relativindex<br />
(z.B. ) angezeigt. Voraussetzung da<strong>für</strong> ist, daß <strong>die</strong> <strong>Daten</strong>objekte alte Werte zwischenspeichern<br />
können.<br />
Einfache Variablen oder Konstanten, <strong>die</strong> als steuernde Parameter in <strong>die</strong> Funktionen einfließen,<br />
spielen in <strong>die</strong>sem Rahmen nur eine untergeordnete Rolle <strong>und</strong> werden daher nicht gesondert<br />
untersucht. Variablen, <strong>die</strong> in jedem Zyklus neu berechnet werden, können wie Szenendaten als<br />
dynamische <strong>Daten</strong>sequenzen repräsentiert werden, ändern sie sich dagegen nur gelegentlich,<br />
sind also relativ konstant im Vergleich zur Zyklusdauer, werden sie als integraler Bestandteil<br />
der Funktionen, <strong>die</strong> sie verwenden, interpretiert. Eine Änderung <strong>die</strong>ser Parameter entspricht<br />
dann, wie in Abschnitt 4.3.4 gezeigt wurde, einem Austausch der durch das Funktionsobjekt<br />
gekapselten Funktion.<br />
Die zentrale Aufgabe der Funktionsobjekte ist es, <strong>Daten</strong>objekte in <strong>Daten</strong>objekte abzubilden.<br />
Sie werden entsprechend Kapitel 4.3 als Funktoren modelliert <strong>und</strong> können beliebig komplexe<br />
Funktionen, Operatorfolgen oder ganze Programmkomponenten kapseln. Die so eingeschlossene<br />
Funktionalität kann sich von Aufruf zu Aufruf ändern, dabei bleiben jedoch Anzahl, Semantik<br />
<strong>und</strong> Typen der zu verknüpfenden <strong>Daten</strong>objekte, <strong>die</strong> <strong>die</strong> Einordnung der Funktoren in<br />
den <strong>Daten</strong>flußgraphen, <strong>und</strong> damit den <strong>Daten</strong>fluß durch <strong>die</strong> Funktoren definieren, gleich.<br />
Ein Funktionsaufruf stellt so eine Instanziierung der in der funktionalen Ebene dargestellten<br />
abstrakten Funktion durch einen bestimmten Algorithmus mit konkreten Parametern dar. Die<br />
Zeit ist einer <strong>die</strong>ser Parameter <strong>und</strong> fließt daher in jeden Funktionsaufruf mit ein. Legt man eine<br />
streng funktionale Betrachtungsweise zugr<strong>und</strong>e, erlaubt <strong>die</strong>s überhaupt erst eine Änderung<br />
der Funktionalität über <strong>die</strong> Zeit, ohne <strong>die</strong> <strong>für</strong> funktionale Beschreibungen geforderte Seiteneffektsfreiheit<br />
aufzugegeben. Diese ist hier allerdings nur von marginalem Interesse, da nicht <strong>die</strong><br />
Funktionen selbst Gegenstand der Untersuchungen sind, sondern das Zusammenspiel der <strong>Daten</strong>-<br />
<strong>und</strong> Funktionsobjekte <strong>und</strong> <strong>die</strong> sich daraus ergebenden Relationen. Diese bleiben aber bis zu<br />
einer Neukonfiguration des Programms konstant, auch wenn einzelne Parameter, Algorithmen<br />
oder Funktionen ausgetauscht werden.<br />
S H<br />
S J<br />
S K<br />
S<br />
L