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.
52 KAPITEL 4. DYNAMISCHE BASISELEMENTE IN BILDFOLGENPROGRAMMEN<br />
Erweitert werden kann <strong>die</strong>ses Modell durch zusätzliche Attribute, wie einen Verweis auf<br />
den verwendeten Sensor , <strong>die</strong> Dauer der <strong>Daten</strong>erfassung oder den Zyklus Ø ,indemdas<br />
Datum ermittelt wurde.<br />
Für <strong>die</strong> Kennzeichnung der einzelne <strong>Daten</strong>elemente innerhalb einer Folge gelten <strong>die</strong> gleichen<br />
Konventionen wie <strong>für</strong> <strong>die</strong> zuvor beschriebenen Zeitfolgen: positive Indizes bezeichnen<br />
den fortlaufenden Index seit Beginn der Messung, negative Indizes <strong>und</strong> der Index beziehen<br />
sich auf den aktuellen Iterationsschritt. Eine <strong>Daten</strong>sequenz Ë läßt sich somit zuerst einmal wie<br />
folgt beschreiben:<br />
Ë Ë Ë Á Ë Ë Ë Ë Á Ë Á <br />
Weiterhin soll gelten, daß alle Sequenzwerte ein <strong>und</strong> derselben Sequenz nur <strong>Daten</strong> des gleichen<br />
Typs Ì enthalten. Allerdings soll <strong>die</strong> Möglichkeit bestehen, <strong>und</strong>efinierte Sequenzwerte<br />
der Sequenz hinzuzufügen, etwa um zu kennzeichnen, daß ein Merkmal aus einem bestimmten<br />
Bild nicht extrahiert werden konnte. Dies erlaubt es, eine zu einem bestimmten Zeitpunkt<br />
durchgeführte Messung, <strong>die</strong> erfolglos war, von den Zeiten, <strong>für</strong> <strong>die</strong> keine Messung erfolgte, zu<br />
unterscheiden. Da<strong>für</strong> wird ein spezielles, typloses <strong>Daten</strong>objekt verwendet.<br />
Ë <br />
Ë Ë Î Ì Ø <br />
Ø <br />
× Ì Ì Ì Ë <br />
Î Ì Î <br />
<br />
<br />
<br />
Ø<br />
<br />
<br />
<br />
Ø<br />
<br />
<strong>Daten</strong>sequenzen können mit einem Namen versehen werden, der <strong>die</strong> Semantik der <strong>Daten</strong><br />
beschreibt. Optional kann nach einem Doppelpunkt der Typ der <strong>Daten</strong> folgen:<br />
Ø <br />
×<br />
<br />
<br />
Ø<br />
×<br />
ËÆÑÌÝÔ℄ Ë ÆÑÌÝÔ℄ Ë <br />
ÆÑÌÝÔ℄ ËÆÑÌÝÔ℄ Ë <br />
ÆÑÌÝÔ<br />
Î <br />
ÆÑ ÌÌÝÔØ <br />
Ø <br />
×<br />
Beispiele: ËÑÖÁÑ ËÑÁ ËÑ ËÄÒ ËÊÇÁÊÓÒ<br />
Neben dem eigentlichen <strong>Daten</strong>verlauf wird <strong>für</strong> jede Sequenz ihr Bearbeitungskontext <strong>und</strong><br />
der aktuelle Status modelliert. Der Kontext wird von verschiedenen Funktoren gebildet: ÙÔ<br />
kapselt eine Funktion bzw. einen Sensor, mit dem der Sequenz neue Werte hinzugefügt werden.<br />
Der Funktor ÒØ <strong>die</strong>nt zur Interpolation von fehlenden <strong>Daten</strong>werten. Weitere Funktoren<br />
Ô Ò können nach jeder Aktualisierung der Sequenz aufgerufen werden. Dabei kann zwischen<br />
Operatoren, <strong>die</strong> nach einer erfolgreichen Aktualisierung Ô Ò , <strong>und</strong> welchen, <strong>die</strong> bei<br />
mißglückten Aktualisierungsversuchen (Î ) aufgerufen werden Ô Ò , unterschieden<br />
werden (Ô Ô Ô).<br />
Der Sequenzstatus wird durch den aktuellen Zyklus (Index Á <strong>und</strong> Zeit Ø ) sowie <strong>die</strong> zuletzt<br />
aufgerufenen Sequenzaktionen Å — bestehend aus einer Aktionskennung Å, dem aktuellen<br />
Bearbeitungsstand state <strong>und</strong> der Zykluszeit Ø — beschrieben (vgl. Abschnitt 4.2.2). Ausgestattet<br />
mit <strong>die</strong>sen Attributen ergibt sich das folgende, erweiterte Sequenzmodell Ë:<br />
<br />
Ë Ë Á ÙÔ ÒØ ÔÒÁØ Å <br />
mit Å Å stateØ<br />
Å Objektmethode bzw. Aktion<br />
state started running canceled finished error