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.
182 KAPITEL 7. OBJEKTORIENTIERTE MODELLE<br />
ÒÑ ×ØÖÒ<br />
ÙÒ ØÓÖ: Instanzvariablen<br />
Funktorname.<br />
ÚÐÙ×ÁÒÆÙÑ ÒØÖ Kardinalität Ñ ¢ Ò des Funktors: Anzahl der Eingangs- <strong>und</strong> Aus-<br />
ÚÐÙ×ÇÙØÆÙÑ ÒØÖ gangswerte.<br />
×ÕÙÒ ×ÁÒ ËÕÙÒ ℄ Array von Eingangssequenz-Referenzen mit den entsprechenden<br />
(ØËÕÙÒ ÊÐØÓÒ℄) Zugriffsrelationen.<br />
×ÕÙÒ ×ÇÙØ ËÕÙÒ ℄ Array <strong>für</strong> <strong>die</strong> ÚÐÙ×ÇÙØÆÙÑ Ausgangssequenzen.<br />
ÐÐÄ×Ø ÙÒ ØÓÖÐÐ℄ Die Funktoraufrufe begleitende Aufrufinstanzen zur Verwaltung<br />
(ÙÒ ØÓÖÐÐÖÖÝ) der Eingangs- <strong>und</strong> Ausgangssequenzwerte, des aktuellen Aktionsstatus<br />
<strong>und</strong> charakteristischer Zeitwerte.<br />
ÐÐÔØ ÒØÖ Maximalzahl gleichzeitig aktiver Bearbeitungszyklen — entspricht<br />
der Größe der als Ringpuffer realisierten Aufrufliste.<br />
ØÚÝ ÐÆÙÑ ÒØÖ Anzahl der gleichzeitig aktiven Bearbeitungszyklen.<br />
ÓÑÔÐÝ ÐÆÙÑ ÒØÖ Anzahl der abgeschlossenen Zyklen.<br />
ÙÖÖÒØÝ ÐÁÜ ÒØÖ Index Á des aktuellen Bearbeitungszyklus.<br />
ÓÑÔÐÝ ÐÌÑ ÌÑ Zykluszeit des zuletzt abgeschlossen Bearbeitungszyklus.<br />
ÙÖÖÒØÝ ÐÌÑ ÌÑ Zykluszeit des aktuellen Bearbeitungszyklus.<br />
Tabelle 7.11: Attribute <strong>und</strong> Objektreferenzen der Funktor-Basisklasse.<br />
Bei insistenten oder interpolierenden Zugriffsverfahren wird mit ×ÝÒ ÅÓ ÓÓÐ zwischen<br />
synchronem <strong>und</strong> asynchronem Zugriffsmodus unterschieden, <strong>und</strong> schließlich bestimmt <strong>die</strong> Variable<br />
ÙÒÅÓ ÒÙÑ wie mit <strong>und</strong>efinierten (nicht zu verwechseln, mit nicht verfügbaren)<br />
Eingangsdaten umzugehen ist. Die folgenden Möglichkeiten stehen zur Verfügung:<br />
ÙÒÅÓ ÙÒÇÙØ Ein <strong>und</strong>efiniertes Eingangsdatum führt zwangsläufig zu <strong>und</strong>efinierten<br />
Ausgangsdaten. Konnte beispielsweise im RoboCup der Ball nicht aus dem Bild extrahiert<br />
werden, kann ein nachfolgender Funktor auch nicht dessen Position bestimmen.<br />
Dieses stellt <strong>die</strong> Standardeinstellung dar.<br />
ÙÒÅÓ ØÍÒ Der <strong>und</strong>efinierte Sequenzwert kann von den Operatoren verwendet<br />
werden <strong>und</strong> fließt regulär in <strong>die</strong> Berechnungen mit ein. Für eine initiale Selbstlokalisation<br />
beim RoboCup wird z.B., falls ein Tor im Bild sichtbar ist, <strong>die</strong>se Information verwendet.<br />
Nicht sichtbare Tore dürfen jedoch nicht zum Abbruch der Lokalisation führen, denn<br />
zum einen kann <strong>für</strong> einen Roboter höchstens eines der beiden Tore sichtbar sein, <strong>und</strong> zum<br />
anderen stellt auch der Umstand, kein Tor zu sehen, eine nützliche Information dar.<br />
ÙÒÅÓ ØÄ×Ø Statt des aktuellen, <strong>und</strong>efinierten Datums wird der letzte definierte<br />
Wert der Liste verwendet. Wird ein Objekt im Bild verdeckt, kann so z.B. noch eine<br />
zeitlang mit der zuletzt ermittelten Objektposition gerechnet werden. Hierbei stellt das<br />
Alter <strong>die</strong>ses Datums eine bedeutende Information dar, <strong>die</strong> in der ÓÙÒ ØÓÒ -Methode<br />
unbedingt auszuwerten ist.<br />
Der Zustand eines Funktors läßt sich, wie der von Sequenzen, durch <strong>die</strong> aktiven <strong>und</strong> <strong>die</strong> zuletzt<br />
abgeschlossenen Bearbeitungszyklen sowie durch <strong>die</strong> aktuell laufenden Aktionen beschreiben.<br />
Ersteres erfolgt analog zu der <strong>für</strong> Sequenzen in Abschnitt 7.4.1 beschriebenen Vorgehensweise<br />
mit den Attributen ÓÑÔÐÝ ÐÆÙÑ, ÙÖÖÒØÝ ÐÁÜ, ÓÑÔÐÝ ÐÌÑ, ÙÖÖÒØÝ ÐÌÑ