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.

152 KAPITEL 6. FUNKTIONALE BESCHREIBUNG VON BILDFOLGENPROGRAMMEN<br />

konsistenten <strong>Daten</strong>. Für solche <strong>Daten</strong>flußgraphen sind Mechanismen notwendig, <strong>die</strong> über <strong>die</strong><br />

Zykluszeit <strong>die</strong> <strong>Daten</strong>zugriffe synchronisieren. Dies kann mit Ø Ø℄ über den Zeitpunkt der<br />

Verfügbarkeit des Datums <strong>und</strong> mit ØØ anhand der <strong>Daten</strong>meßzeit erfolgen.<br />

ist i.d.R. nur <strong>für</strong> sekun-<br />

Eine Anwendung von Interpolationsverfahren Ø <br />

Ø <strong>und</strong> Ø <br />

Ø<br />

däre <strong>Daten</strong> sinnvoll, um <strong>die</strong>se zeitlich an <strong>die</strong> primären <strong>Daten</strong> anzupassen. Dies setzt voraus,<br />

daß ein primäres Datum bereits eingelesen wurde, <strong>und</strong> so eine eindeutige Zuordnung zwischen<br />

<strong>Daten</strong>meßzeit <strong>und</strong> Zykluszeit möglich ist. Ist <strong>die</strong>s gegeben, gilt im wesentlichen das in Abschnitt<br />

6.4.7 Gesagte.<br />

Eine solche Zuordnung kann modulweit gültig sein <strong>und</strong> erfolgen, wenn in dem aktuellen<br />

Arbeitszyklus erstmals auf eine Eingangsdatensequenz ËÅÁÒ zugegriffen wird, sie kann aber<br />

auch lokal im Funktor durchgeführt werden <strong>und</strong> dabei rekursiv durch den Graphen propagiert<br />

werden: nachdem ein Eingangsdatum ËÁÒ gelesen wurde, steht <strong>die</strong> zeitliche Einordnung <strong>für</strong><br />

<strong>die</strong> anderen Eingangsdaten, <strong>die</strong> Funktorbearbeitung <strong>und</strong> <strong>die</strong> von ihm ermittelten Ausgangsdaten<br />

fest. Die modulweite Zuordnung hat dabei den Vorteil, daß bereits nach dem ersten <strong>Daten</strong>zugriff<br />

<strong>die</strong> Zeit im ganzen Modul verfügbar ist, wodurch der parallele Zugriff auf <strong>die</strong> Eingangsdaten<br />

unterstützt wird. Der eingelesene Wert definiert dabei <strong>die</strong> <strong>Daten</strong>meßzeit <strong>für</strong> den aktuellen Bearbeitungszyklus:<br />

Ø Ø ËÅÁÒ . Zusammen mit der Zykluszeit charakterisiert <strong>die</strong> Meßzeit alle in<br />

einem Zyklus ermittelten Sequenzwerte. Wichtig ist <strong>die</strong>s beispielsweise, wenn zwischen mehreren<br />

dicht aufeinanderfolgenden Anfragezyklen <strong>die</strong> Eingangsdaten nicht aktualisiert wurden.<br />

Ohne Berücksichtigung der <strong>Daten</strong>meßzeit würde <strong>die</strong>s zu einer wiederholten Bearbeitung der<br />

gleichen Eingangsdaten führen. Erkennt ein Funktor oder eine Sequenz jedoch, daß eine offene<br />

Anfrage auf <strong>die</strong> gleiche <strong>Daten</strong>meßzeit wie eine bereits beantwortete abzubilden ist, kann <strong>die</strong><br />

laufende Aktion abgebrochen werden, wobei <strong>für</strong> <strong>die</strong> erfolgreiche Fortführung wartender Aktionen,<br />

insbesondere von ØØ , ein modifizierter ×Ø -Aufruf notwendig ist. Da <strong>die</strong> Sequenz <strong>für</strong><br />

<strong>die</strong> <strong>Daten</strong>meßzeit Ø, auf <strong>die</strong> <strong>die</strong> neue Zykluszeit Ø im Nachhinein abgebildet wurde, bereits<br />

einen Wert hat, stellt der modifizierte ×Ø -Aufruf <strong>für</strong> den Sequenzwert nur den neuen, erweiterten<br />

Zeitbezug her <strong>und</strong> weckt <strong>die</strong> eventuell wartenden Zugriffe ØØ auf. Diese können nun<br />

den der Anfragezeit zugeordneten Sequenzwert dem aufrufenden Funktor übergeben.<br />

6.5 Anwendungsmuster <strong>für</strong> <strong>die</strong> Ansteuerung von <strong>Daten</strong>flußgraphen<br />

Nachdem in den vorhergehenden Abschnitten gr<strong>und</strong>sätzliche Konzepte <strong>für</strong> <strong>die</strong> Ablaufsteuerung<br />

innerhalb eines Modulzyklus vorgestellt wurden, soll an <strong>die</strong>ser Stelle nun untersucht werden,<br />

wie <strong>die</strong>se Mechanismen in <strong>die</strong> übergeordnete Gesamtsteuerung einer Applikation eingebettet<br />

werden können. Da<strong>für</strong> ist insbesondere <strong>die</strong> Frage zu beantworten, wie ein solches Modul zur dynamischen<br />

Sensordatenverarbeitung mit externen Sensoren <strong>und</strong> Verbrauchern zusammenspielt,<br />

wie also <strong>die</strong> Kopplung an einen externen Prozeß erfolgen kann.<br />

Für andere Programmkomponenten kann das gesamte Modul als ein logischer Sensor betrachtet<br />

werden, der kontinuierlich oder durch <strong>Daten</strong>anfragen getriggert eine Reihe von Sensordatenfolgen<br />

bereitstellt. Der interne Aufbau <strong>die</strong>ses Sensormoduls spielt aus Sicht der Konsumenten<br />

der <strong>Daten</strong> keine Rolle. Der Arbeitsmodus des Sensors läßt sich über <strong>die</strong> internen<br />

Steuerrelationen <strong>und</strong> ggf. einen zum Modul gehörigen Agenten einstellen.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!