Metamodellbasierte und hierarchieorientierte ... - RosDok
Metamodellbasierte und hierarchieorientierte ... - RosDok
Metamodellbasierte und hierarchieorientierte ... - RosDok
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
6.2 Modellausführung von MCTT-Aufgabenmodellen 117<br />
6.2 Modellausführung von MCTT-Aufgabenmodellen<br />
Die lokale Ausführung der MCTT-Workflowmodelle besteht aus zwei wesentlichen Bestandteilen, die in<br />
diesem Abschnitt näher vorgestellt werden. Die Gr<strong>und</strong>lage zur Ausführung der Workflowmodelle wird in<br />
Abschnitt 6.2.1 mit den auf Basis der Simple OCL-based Imperative Language (SOIL) [BG11] umgesetzten<br />
Operationen des MCTT-Metamodells gelegt. Darauf basierend wurde das für DMWM bereits entstandene<br />
<strong>und</strong> in Abschnitt 4.3 vorgestellte Workflow-Plugin für MCTT adapiert <strong>und</strong> erweitert. Dieses ist damit<br />
fähig, auch MCTT-Modelle zu interpretieren <strong>und</strong> dem Nutzer eine adäquate Interaktionsschnittstellte<br />
bereitzustellen, die in Abschnitt 6.2.2 näher beschrieben wird.<br />
6.2.1 Umsetzung der operationalen Semantik mit SOIL<br />
Im MCTT-Metamodell sind nicht nur strukturelle Einschränkungen angegeben (s. Abschnitt 5.3.3), auch<br />
Teile der operationalen Ausführungssemantik sind deklarativ <strong>und</strong> plattformunabhängig über OCL spezifiziert.<br />
Sowohl die deklarativen Einschränkungen als auch weitere benötigte Hilfsfunktionen, die zur Ausführung<br />
der MCTT-Modelle gebraucht werden, wurden mit SOIL umgesetzt. Zudem werden, wie auch schon<br />
beim DMWM-Ansatz, OCL-Hilfsfunktionen (s. Abschnitt 3.2.3.2) genutzt, um die operationale Semantik<br />
umzusetzen.<br />
Die OCL- <strong>und</strong> SOIL-Hilfsoperationen wurden zur Übersichtlichkeit in Abbildung 5.4 weggelassen. Diese<br />
stellen keine Nutzerschnittstelle dar, über die der Anwender mit den Aufgabenobjekten direkt interagieren<br />
kann. Sie werden lediglich indirekt über Interaktionen mit anderen Aufgabenobjekten aufgerufen. Ein<br />
Teil der Operationen, die für die metamodellbasierte Umsetzung der operationalen Semantik notwendig<br />
sind, werden in Abbildung 6.1 für die Klassen LeafTask <strong>und</strong> CompTask sowie für die Assoziationsklassen<br />
TempOp, DataChoice, Choice <strong>und</strong> Enabling aufgeführt. Die abstrakte Klasse Task wurde hier weggelassen,<br />
da sie mit ca. 70 Hilfsfunktionen zu umfangreich für die hiesige Dokumentation wurde.<br />
Abbildung 6.1: Klassen aus dem MCTT-Metamodell inkl. der Hilfsoperationen<br />
Eine wichtige Funktion zur Angabe der Bindungsstärke bzw. Prioritäten der temporalen CTT-Operatoren<br />
(s. Abschnitt 5.2.2) ist bei der Assoziationsklasse TempOp <strong>und</strong> deren Unterklassen mit der Operation<br />
getPriority() hinterlegt. Die Unterklassen überschreiben die entsprechende Operation <strong>und</strong> geben damit<br />
ihre spezifische Bindungszahl wieder. So liefert DataChoice bzw. Choice die Zahl mit der größten <strong>und</strong><br />
Enabling den mit der geringsten Bindung zurück. Auf Basis dieser Information wird der Einflussbereich der<br />
entsprechenden Operationsaufrufe ausgehend von der aufgerufenen Blattaufgabe bestimmt. Die Bindungsstärke<br />
wird beispielsweise bei den in Listing 6.1 aufgerufenen Operationen der start()-Operation geprüft