18.01.2014 Aufrufe

Metamodellbasierte und hierarchieorientierte ... - RosDok

Metamodellbasierte und hierarchieorientierte ... - RosDok

Metamodellbasierte und hierarchieorientierte ... - RosDok

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!