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.
96 Hierarchieorientierte Workflowmodellierung<br />
In Abbildung 5.2(b) sind dann die CallBehaviourActions mit dem UML-Hierarchiesymbol bei den Aktivitäten<br />
A <strong>und</strong> B angegeben. Hierbei sind mit den drei Hierarchieebenen drei Aktivitätsdiagramme zu sehen, die<br />
jedoch noch keinen Sequenzflusskanten beinhalten. Eine konzeptionelle Darstellung der Hierarchie, die bei<br />
Aktivitätsdiagrammen eher unüblich ist, ist in Abbildung 5.2(c) zu sehen.<br />
An dem Modell von Abbildung 5.2(a) ist ersichtlich, dass durch die Baumdarstellung mehrere Abstraktionsebenen<br />
in einem Modell visualisiert werden. Anhand dessen lassen sich die oben erwähnten Nutzerziele<br />
ausdrücken. Dagegen ist wie in Abblidung 5.2(b) bei flachen Modellierungssprachen wie Aktivitätsdiagrammen<br />
diese Zielmodellierung nur über den Umweg weiterer Modelle ausdrückbar.<br />
5.2.2 Einführung der temporalen CTT-Operatoren<br />
Die Operatoren, die CTT zur Angabe der temporalen Beziehungen von Aufgaben bereitstellt, sind in Tabelle<br />
5.1 aufgelistet.<br />
CTT-Operator Bezeichnung Operationale Semantik<br />
A [] B Choice Entweder A oder B sind auszuführen.<br />
A ||| B Concurrency A <strong>und</strong> B werden unabhängig voneinander abgearbeitet.<br />
A |[]| B Concurrency With Information<br />
Exchange<br />
A <strong>und</strong> B sind unabhängig voneinander auszuführen, tauschen<br />
aber währenddessen Informationen aus.<br />
A [> B Deactivation B kann die Ausführung von A abbrechen. Zudem ist die<br />
Ausführung von B erforderlich, auch wenn A schon beendet<br />
wurde. Diese Eigenschaft unterscheidet den CTT-<br />
Deactivation vom LOTOS-Deactivation-Operator.<br />
A |> B Suspend-resume Solange A läuft kann B die Aktivität unterbrechen. Dieses<br />
kann mehrfach während der Abarbeitung von B geschehen,<br />
so dass B damit mehrmals ausgeführt wird.<br />
A |=| B Order Independence Entweder wird A oder B (jeweils inklusive Unteraufgaben)<br />
komplett abgearbeitet bevor die andere Aufgabe starten<br />
darf.<br />
A » B Enabling A muss vor dem Starten von B abgearbeitet worden sein.<br />
A []» B Enabling with information<br />
passing<br />
A muss vor dem Starten von B abgearbeitet worden sein. A<br />
stellt des Weiteren Information für B bereicht.<br />
A* Iteration A kann beliebig häufig ausgeführt werden, solange die darauffolgende<br />
Aufgabe mit einem Deactivation- oder Choice-<br />
Operator nicht zur Ausführung ausgewählt wurde.<br />
[A] Option A kann optional ausgeführt werden<br />
Tabelle 5.1: Temporale CTT-Operatoren<br />
In diesem Abschnitt sollen die temporalen Operatoren informell eingeführt werden, um sie in den Abschnitten<br />
5.2.3 <strong>und</strong> 5.2.4 zur semiformalen Repräsentation in Aktivitätsdiagrammen zu nutzen. Des Weiteren wird<br />
eine formalere Spezifikation dieser Operatoren in Abschnitt 5.3 folgen, in dem ein präzises Metamodell für<br />
CTT vorgestellt wird. Dort werden zudem Konsistenzprobleme aufgezeigt, die temporale Operatoren in<br />
CTT-Modellen hervorrufen können.<br />
In der linken Spalte der Tabelle 5.1 ist die Syntax der Operatoren angegeben. Daraufhin ist in der mittleren die<br />
Bezeichnung der Operatoren zu sehen <strong>und</strong> in der rechten umgangsprachlich <strong>und</strong> informell die operationale<br />
Semantik beschrieben.<br />
Die temporalen Operatoren aus Tabelle 5.1 haben Prioritäten, die notwendig für die Interpretation der<br />
Abarbeitungsreihenfolge mehrerer Geschwisterknoten im Aufgabenbaum sind. CTT ist ein grafischer