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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!