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.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!