Metamodellbasierte und hierarchieorientierte ... - RosDok
Metamodellbasierte und hierarchieorientierte ... - RosDok
Metamodellbasierte und hierarchieorientierte ... - RosDok
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.