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.

6.4. KONTROLLFLUSS IN FUNKTIONALEN DATENNETZEN 119<br />

Eine Alternative dazu, <strong>die</strong> ohne <strong>die</strong> genaue Kenntnis der zu aktualisierenden Sequenzen auskommt,<br />

kann mit Hilfe einer modulweiten Liste ermöglicht werden, in <strong>die</strong> <strong>die</strong> Objekt bestimmte<br />

ihrer Aktionen wie z.B. den Aufruf der ÐÐ -Methode eines Funktors eintragen, sobald <strong>die</strong>se<br />

im Zyklus zum ersten Mal durchgeführt wird. Für Aktionen, <strong>die</strong> erfolgreich abgeschlossen<br />

wurden, löscht das Objekt den entsprechenden Eintrag wieder aus der Liste. Einträge, <strong>die</strong> bis<br />

zum Ende des Zyklus nicht aus der Liste gelöscht wurden, zeigen direkt <strong>die</strong> Unerreichbarkeit<br />

von <strong>Daten</strong> oder Funktoren an.<br />

Testzyklen mit überwachendem Agenten: Lokale <strong>und</strong> <strong>die</strong> zuletzt genannten agentenbasierten<br />

Verfahren scheitern, wenn ein Konflikt zu einer Verklemmung führt, da in <strong>die</strong>sem Fall<br />

der Zyklus zu keinem Ende kommt. Besteht <strong>die</strong>se Gefahr, was insbesondere bei asynchronen<br />

Steuerungsmechanismen der Fall ist, sollte nach jeder Änderung des Netzdesigns ein spezieller<br />

Analysezyklus durchlaufen werden, der von einem Agenten angestoßen <strong>und</strong> anschließend<br />

ausgewertet werden kann. Hierbei können alle <strong>Daten</strong>- <strong>und</strong> Funktionsobjekte ihre jeweiligen<br />

Aktionen in eine Liste eintragen. Darüber hinaus besteht <strong>die</strong> Möglichkeit, daß Funktoren ihre<br />

Ó -Methode überspringen, wodurch <strong>die</strong> Laufzeit eines Testlaufs allein durch <strong>die</strong> Verwaltungsoperationen<br />

bestimmt wird <strong>und</strong> damit sehr kurz <strong>und</strong> gut abschätzbar ist. Nach Beendigung des<br />

Zyklus oder nach einer festen Zeitspanne analysiert der Agent <strong>die</strong> Liste, wodurch leicht festzustellen<br />

ist, ob alle Funktoren aufgerufen <strong>und</strong> auch wieder ordnungsgemäß beendet wurden.<br />

Auf <strong>die</strong> Aktionsliste <strong>und</strong> <strong>die</strong> anschließende agentenbasierte Auswertung des Analysezyklus<br />

kann verzichtet werden, wenn der gesamte Testzyklus in einem ungeteilten Kontrollfluß<br />

ausgeführt wird. Wie <strong>die</strong> folgenden Abschnitte zeigen werden, läßt sich in <strong>die</strong>sem Fall jede<br />

potentielle Verklemmung lokal erkennen.<br />

Voraussetzung <strong>für</strong> <strong>die</strong>se Verfahren ist zum einen <strong>die</strong> Mitwirkung der Funktoren <strong>und</strong> <strong>Daten</strong>sequenzen,<br />

<strong>die</strong> den <strong>Daten</strong>flußgraphen bilden, zum anderen ein Objekt, das in der Lage ist,<br />

<strong>die</strong> während eines regulären oder Testzyklus angesammelten Informationen auszuwerten. Beides<br />

ist, da als dynamische Elemente des Graphen nur <strong>Daten</strong>sequenzen <strong>und</strong> Funktoren in Frage<br />

kommen, mit relativ geringem Aufwand möglich, <strong>und</strong> soll daher — wenn lokale Verfahren nicht<br />

greifen — als Lösung präferiert werden.<br />

Das Potential möglicher Konflikte hängt nicht nur vom Netzdesign sondern auch wesentlich<br />

von der Art der Programm- bzw. Modulsteuerung ab. So führen mehrere, parallel arbeitende<br />

Kontrollflüsse, <strong>die</strong> sich asynchron im Netz ausbreiten, leichter zu Konflikten, <strong>die</strong> dazu schwerer<br />

zu erkennen sind, als eine Steuerung, <strong>die</strong> synchron in nur einem Kontrollfluß erfolgt. Dieser<br />

Punkt wird in den folgenden Abschnitten im Rahmen der Verwendung asynchroner Relationen<br />

genauer untersucht werden.<br />

Neben der Beschreibung <strong>und</strong> einem Vergleich der Ablaufmechanismen <strong>und</strong> Kontrollflüsse<br />

unter den verschiedenen Steuerungskonzepten sollen in den folgenden Abschnitten weitere<br />

Designentscheidungen <strong>für</strong> den objektorientierten Entwurf der beteiligten <strong>Daten</strong>- <strong>und</strong> Funktionsobjekte<br />

<strong>und</strong> deren Realisierung in Software abgeleitet werden.<br />

6.4.6 Asynchrone Steuerungskonzepte<br />

Eine Stärke funktionaler Programmbeschreibungen ist, daß sie auf natürliche Art <strong>und</strong> Weise<br />

<strong>die</strong> potentiellen Nebenläufigkeiten der durch sie repräsentierten Aufgaben ausdrücken können.<br />

Damit <strong>die</strong>ser Vorteil bei der Realisierung des funktionalen <strong>Daten</strong>flußgraphen in einem Compu-

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!