18.01.2014 Aufrufe

Metamodellbasierte und hierarchieorientierte ... - RosDok

Metamodellbasierte und hierarchieorientierte ... - RosDok

Metamodellbasierte und hierarchieorientierte ... - RosDok

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.

102 Hierarchieorientierte Workflowmodellierung<br />

den Choice-Operator zwischen B <strong>und</strong> C würde dieser mehrfach ausgewertet werden. Da in dieser Ebene<br />

aber keine Iteration spezifiziert ist, würde dieses Modellverhalten zu einem semantischen Problem führen.<br />

In der Ebene ist der Choice einmal zu vollziehen. Außerdem wäre eine Transformation dieses Modells zu<br />

einem Aktivitätsdiagramm nicht möglich. Die Kontrollflusskante ausgehend von E zum Choice-Operator,<br />

der entscheidet, ob E oder C auszuführen ist, müsste über die Aktivitätsgrenze der Aktivität B gehen. Ein<br />

solches Modell ist jedoch bei Aktivitätsdiagrammen nicht erlaubt [UML10].<br />

Die in diesem Abschnitt aufgezeigten Konsistenzprobleme verdeutlichen, dass eine genauere Spezifikation<br />

der CTT-Aufgabenmodelle <strong>und</strong> eine bessere Toolunterstützung während der Designtime wünschenswert ist.<br />

CTTE bietet zwar Möglichkeiten zur Konsistenzprüfung der Modelle, diese sind aber nicht komplett, wie<br />

Beispiele aus diesem Abschnitt gezeigt haben. Außerdem gibt es keine verlässlichen Spezifikationen, die<br />

die So<strong>und</strong>ness-Eigenschaften für CTT-Modelle festlegen. Einen transparenten Ansatz zur Definition der<br />

So<strong>und</strong>ness-Eigenschaften bietet ein metamodellbasierter Ansatz, der in Abschnitt 5.3.2 vorgestellt wird.<br />

5.3.2 Metamodell für MCTT<br />

In diesem Abschnitt wird in Abbildung 5.4 das Klassendiagramm vorgestellt, das die Basis zur Definition<br />

der Sprache Metamodel-Based ConcurTaskTree (MCTT) liefert. Diese Sprache ist wie der Name schon<br />

verrät stark angelehnt an CTT <strong>und</strong> soll deren Eigenschaften <strong>und</strong> Semantiken beinhalten.<br />

Abbildung 5.4: Das Metamodel für den MCTT-Ansatz<br />

Im Klassendiagramm ist die abstrakte Klasse Task zu sehen. Sie beinhaltet das Attribut name, mit der das<br />

Aufgabenobjekt bezeichnet werden kann. Alternativ kann wie bei dem DMWM-Modell von Abbildung<br />

3.9 auch bei MCTT die Objekt-ID zur Bezeichnung verwendet werden. Des Weiteren ist mit dem Attribut<br />

tempOp die Möglichkeit gegeben, der Aufgabe einen unären temporalen Operator zuzuweisen. In der<br />

Enumeration TempUn sind dafür die zwei möglichen Operatoren angegeben. Der Eintrag OPT steht für<br />

optional auszuführende <strong>und</strong> ITER für mehrfach auszuführende, iterative Aufgaben.<br />

Die abstrakten Aufgaben gliedern sich auf in innere Knoten <strong>und</strong> Blattknoten. Die Klasse CompTask<br />

repräsentiert die inneren Knoten, wohingegen die Blattknoten durch die Klasse LeafTask spezifiziert werden.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!