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.
5.3 Definition konsistenter CTT-Aufgabenmodelle 103<br />
Die inneren Knoten sind mit mindestens 2 Kinderaufgaben assoziiert, was durch die Assoziation has <strong>und</strong><br />
die Multiplizität 2..* ausgedrückt wird.<br />
Zusätzlich zur Dekomposition ist die Angabe der temporalen Operatoren Kernmerkmal der CTT-Aufgabenmodelle.<br />
Diese Beziehung zwischen Aufgaben wird im Metamodell über die abstrakte Assoziationsklasse<br />
TempOp ausgedrückt. CTT sagt aus, dass Nachbarknoten in eine temporale Beziehung gesetzt werden<br />
müssen. Über die dafür verwendete Assoziationsklasse TempOp werden die Nachbarknoten im Baum<br />
definiert. Aufgaben, die mit keinem prev-Objekt in Beziehung stehen, sind die ersten Aufgaben in der<br />
nächst unteren Ebene des Teilbaums. Am CTT-Beispiel von Abbildung 5.3(e) sind das die Knoten A, B<br />
<strong>und</strong> D. Analog wird die letzte Aufgabe in der unterliegenden Hierarchie dadurch identifiziert, dass kein<br />
next-Objekt existiert. Die Aufgaben dazwischen müssen jeweils mit pred- <strong>und</strong> next-Objekten über TempOp<br />
verb<strong>und</strong>en sein. In Abschnitt 5.3.3 wird zum Definieren dieser Eigenschaft eine OCL-Invariante für das<br />
MCTT-Metamodell definiert.<br />
Für die Spezifikation der temporalen Beziehungen müssen die Unterklassen der abstakten Assoziationsklasse<br />
TempOp verwendet werden. Hierfür gibt es bei CTT die acht in Tabelle 5.1 vorgestellten binären Operatoren.<br />
Von Choice bis Enabling sind in Abbildung 5.4 die Klassen von links nach rechts in der Bindungsreihenfolge<br />
angegeben, wie in Abschnitt 5.2.2 beschrieben. Für MCTT gilt diese Reihenfolge ebenso.<br />
Im Gegensatz zu den durch die Klasse CompTask repräsentierten inneren Aufgaben sind die mit LeafTask<br />
modellierten Blattaufgaben ausführbar. Dieses wird durch die in der Klasse LeafTask angegebenen Operationen<br />
ausgedrückt, die analog zu DMWM (s. Abschnitt 3.2.1) die Schnittstelle eines Aktivitätsobjekts zum<br />
Nutzer darstellen.<br />
Bezüglich der operationalen Semantik unterscheidet sich MCTT von CTT, indem Zustandsautomaten zur<br />
Definition der operationalen Ablaufsemantik verwendet werden. Der Ansatz ist analog zu dem in Abschnitt<br />
3.2 vorgestellten von DMWM zu sehen. Diese Verwendung ist nötig, um eine ähnliche Betrachtung<br />
<strong>und</strong> Benutzung wie bei Workflow Mangagement Systemen herzustellen [Hol98]. Dabei werden dem<br />
Anwender in einer Art Arbeitsliste die Tätigkeiten angezeigt, die er starten <strong>und</strong> beenden kann. Während der<br />
Abarbeitung muss der Nutzer dann die entsprechenden Aktionen zur Erledigung der Aufgabe ausführen.<br />
Nach Fertigstellung hat der Nutzer die Aufgabe dann zu beenden. CTT fußt im Gegensatz zu Automaten auf<br />
der ereignisbasierten Prozessalgebra LOTOS [BB89].<br />
Für die ausführbaren Tätigkeiten bzw. Aufgaben ist im Metamodell von Abbildung 5.4 die Klasse LeafTask<br />
abgebildet. Wie bei DMWM werden dem Nutzer die Operationen start(), finish(), skip() <strong>und</strong> fail() als<br />
Schnittstelle zur Benutzung der Aktivitäten (bzw. Blattaufgaben) bereitgestellt. Mit diesen Operationen<br />
werden die Ausführungszustände der Blattaufgaben verändert, die mit dem Attribut state in der Klasse<br />
LeafTask gespeichert werden. Die möglichen Ausführungszustände dafür sind in der Enumeration State zu<br />
sehen. Sie repräsentieren die Zustände, die in den Zustandsautomaten zur Spezifikation der Lebenszyklen<br />
der Blattaufgaben verwendet werden. Die Zustandsautomaten sind in der Abbildung 5.5 angegeben.<br />
Wie bei DMWM wird auch bei MCTT für sowohl die Designtime als auch die Runtime das gleiche Metamodell<br />
verwendet. Über die Einbeziehung der Ausführungszustände lässt sich die operationale Semantik von<br />
MCTT mit Hilfe von OCL plattformunabhängig im Metamodell ausdrücken. Die imperative Umsetzung ist<br />
dann wiederum plattformabhängig <strong>und</strong> wird mit der Simple OCL-based Imperative Language (SOIL) in<br />
USE umgesetzt. Diese Thematik wird in Abschnitt 6.2.1 näher vorgestellt.<br />
Im MCTT-Metamodell wird die Dekomposition der Aufgaben über die has Assoziation ausgedrückt. Die<br />
inneren Knoten sind vom Typ CompTask <strong>und</strong> die ausführbaren Blattknoten vom Typ LeafTask. Die integrierte<br />
Zielmodellierung bei CTT wird über die inneren Aufgaben spezifiziert, die die Kontextziele ausdrücken.<br />
Wie bereits in Abschnitt 2.5.3 angesprochen, hat das ARIS-Metamodell für die Funktionssicht von Abbildung