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.

166 KAPITEL 7. OBJEKTORIENTIERTE MODELLE<br />

TimeIntervalRel<br />

Konstruktoren<br />

TimeIntervalRel (tr1,tr2)<br />

...<br />

Vergleichsoperatoren<br />

before (interval): bool<br />

...<br />

Arithmet. Operationen<br />

+ (tr): TimeIntervalRel<br />

...<br />

TimeRel<br />

Konvertierung<br />

asTimePointRel ()<br />

asTimeIntervalRel ()<br />

TimePointRel<br />

startTime<br />

1 timeVal: TimeStruct<br />

endTime Konstruktoren<br />

1 TimePointRel (val,unit)<br />

...<br />

Vergleichsoperatoren<br />

before (interval): bool<br />

...<br />

Arithmet. Operationen<br />

+ (tr): TimePointRel<br />

...<br />

Time<br />

/ length: TimePointRel<br />

offset<br />

1<br />

TimePointAbs<br />

timeVal: TimeStruct<br />

startTime<br />

1<br />

Konstruktoren<br />

TimePointAbs ("now")<br />

...<br />

Vergleichsoperatoren<br />

before (interval): bool<br />

...<br />

TimeAbs<br />

Konvertierung<br />

asTimePointAbs ()<br />

asTimeIntervalAbs ()<br />

endTime<br />

1<br />

TimeIntervalAbs<br />

Konstruktoren<br />

TimeIntervalAbs (t1,t2)<br />

...<br />

Vergleichsoperatoren<br />

before (interval): bool<br />

...<br />

Arithmet. Operationen<br />

Arithmet. Operationen<br />

+ (tr): TimePointAbs<br />

...<br />

+ (tr): TimeIntervalAbs<br />

...<br />

Abbildung 7.1: Klassendiagramm <strong>für</strong> <strong>die</strong> Modellierung von Zeitwerten.<br />

können. Daraus läßt sich, entsprechend der in Abschnitt 4.2.1 vorgeschlagenen Modellierung<br />

von Sequenzen, ein spezieller <strong>Daten</strong>typ <strong>für</strong> <strong>die</strong> Modellierung dynamischer <strong>Daten</strong>werte ableiten.<br />

Dieser wird als Sequenzwert Ë Î Ì bezeichnet <strong>und</strong> durch <strong>die</strong> Klasse ËÕÙÒ ÎÐÙ<br />

repräsentiert. Deren Aufgabe ist es, beliebige <strong>Daten</strong> um dynamische Aspekte zu erweitern.<br />

7.3.1 Unterscheidung zwischen Zeit <strong>und</strong> Wert<br />

Die Verbindung von <strong>Daten</strong>werten mit Attributen <strong>und</strong> Methoden kann mit verschiedenen Entwurfsstrategien<br />

umgesetzt werden. Ein Ansatz wäre z.B., <strong>die</strong> in Zeitfolgen zu verarbeitenden<br />

<strong>Daten</strong>klassen bei ihrem Entwurf gleich mit den zusätzlichen Attributen auszustatten. In einer<br />

gemeinsamen Basisklasse können alle zeitrelevanten Erweiterungen zusammengefaßt <strong>und</strong> so<br />

einfach an <strong>die</strong> zu verarbeitenden <strong>Daten</strong> vererbt werden. Diese Vorgehensweise ist jedoch nur <strong>für</strong><br />

neu zu definierende <strong>Daten</strong>typen möglich, nicht aber <strong>für</strong> Basisdaten des verwendeten Systems<br />

oder aus anderen Bibliotheken übernommene Klassen, was <strong>die</strong> Anwendbarkeit deutlich einschränkt.<br />

Außerdem bedeutet <strong>die</strong>s einen erheblichen Eingriff in <strong>die</strong> <strong>Daten</strong>strukturen, <strong>die</strong> auch<br />

<strong>für</strong> andere, statische Anwendungen von Bedeutung sind. Da alle <strong>Daten</strong>strukturen bei <strong>die</strong>sem<br />

Ansatz <strong>die</strong> Zeitinformationen immer mit sich tragen würden, verschiebt sich deren Semantik<br />

<strong>und</strong> ihre Repräsentation wird künstlich aufgebläht.<br />

Die hier relevanten Attribute stellen eine Art Metawissen über eine konkrete Ausprägung<br />

<strong>und</strong> den Kontext der <strong>Daten</strong> dar, sie sind jedoch kein fester Bestandteil von <strong>die</strong>sen <strong>und</strong> <strong>die</strong>nen<br />

nicht zu deren generellen Beschreibung. Daher spiegelt <strong>die</strong> Vererbungsrelation <strong>die</strong> Beziehung<br />

zwischen den <strong>Daten</strong> <strong>und</strong> deren Modellierung als Element einer Sequenz nicht korrekt wider.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!