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

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!