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.

Kapitel 7<br />

<strong>Objektorientierte</strong> Modelle <strong>für</strong> <strong>die</strong><br />

dynamische Sensordatenauswertung<br />

7.1 Entwurfsgr<strong>und</strong>lagen<br />

Während <strong>die</strong> vorhergehenden Kapitel <strong>die</strong> formale Definition einer um dynamische Ausdrucksmittel<br />

erweiterten funktionalen Beschreibungsmethode <strong>für</strong> dynamische Sensordatenprogramme<br />

zum Ziel hatten, steht nun <strong>die</strong> softwaretechnische Umsetzung des zuvor Beschriebenen mit objektorientierten<br />

Methoden im Mittelpunkt. Da<strong>für</strong> werden in <strong>die</strong>sem Kapitel <strong>die</strong> Basissoftwarekomponenten,<br />

<strong>die</strong> den Kern der objektorientierten Bildfolgen- bzw. Sensordatenprogramme bilden,<br />

mit den wichtigsten Designentscheidungen im Kontext einer dynamischen <strong>und</strong> zyklischen<br />

<strong>Daten</strong>verarbeitung entworfen. Eine objektorientierte Modellierung gr<strong>und</strong>legender Basisdatentypen<br />

<strong>für</strong> <strong>die</strong> Bildverarbeitung, wie Bilder, Regionen, Linien usw. soll an <strong>die</strong>ser Stelle nicht<br />

erfolgen. Diese können aus bestehenden Bibliotheken, wie HALCON/C++ importiert werden.<br />

Ausgangspunkt des objektorientierten Klassenentwurfs ist der Wunsch, mit Hilfe von Softwareobjekten<br />

eine möglichst direkte Umsetzung des funktionalen Systementwurfs in ein lauffähiges<br />

<strong>und</strong> effizientes Programm zu ermöglichen — einschließlich der vorgestellten Erweiterungen<br />

<strong>für</strong> <strong>die</strong> Programmsteuerung <strong>und</strong> der Flexibilität bei Anpassungen des Systems an veränderte<br />

Anforderungen <strong>und</strong> Randbedingungen. Somit bilden <strong>die</strong> Entwurfsgr<strong>und</strong>lagen der funktionalen<br />

Beschreibung auch <strong>die</strong> Basis des Softwareentwurfs.<br />

Neben Klassen <strong>für</strong> <strong>die</strong> Repräsentation der verschiedenen absoluten <strong>und</strong> relativen Zeitgrößen<br />

sind hier vor allem <strong>die</strong> in Kapitel 4 vorgestellten Basiselemente der funktionalen Beschreibung<br />

zu modellieren. <strong>Daten</strong>folgen (Ë) werden durch eine Sequenz-Klasse (ËÕÙÒ ) repräsentiert,<br />

deren Instanzen Zeitreihen der einzelnen Sensordaten (Ë ) beherbergen. Diese Elemente werden<br />

in Form von Sequenzwerten (ËÕÙÒ ÎÐÙ) modelliert. Dabei handelt es sich um eine<br />

Containerklasse, <strong>die</strong> <strong>die</strong> eigentlichen <strong>Daten</strong>werte (Î) — Bilder, aber auch beliebige andere<br />

<strong>Daten</strong>typen (Ì) — aufnimmt <strong>und</strong> mit bestimmten Status- <strong>und</strong> Zeitinformationen assoziiert.<br />

Die Verarbeitung <strong>und</strong> Auswertung der <strong>Daten</strong> erfolgt in Funktoren . Instanzen der entsprechenden<br />

Klasse ÙÒ ØÓÖ repräsentieren neben der Funktionalität konkreter Operatoren auch<br />

<strong>die</strong> Einbindung der Verfahren in eine konkrete Ausführungsumgebung mit den Beziehungen zu<br />

anderen Objekten, insbesondere den <strong>Daten</strong>sequenzen.<br />

Agenten () repräsentieren schließlich aktive Programmkomponenten, d.h. von ihnen können<br />

sowohl kontinuierliche als auch spontane Aktionen ausgehen. Darüber hinaus können sie<br />

163

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!