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.

3.2 Workflow-Metamodell 49<br />

Abbildung 3.9: Ein DMWM-Workflowmodell für einen Krankenhaus-Notfallprozess als Objektdiagramm<br />

der Nutzer basierend auf der Guard-Spezifikation den adäquaten Prozesspfad auswählen muss. Mit den<br />

Guards critical <strong>und</strong> stable wird angegeben, in welchem Zustand sich der Patient befindet. Wählt der Nutzer<br />

critical aus, so befindet sich der Patient in einem kritischen Zustand <strong>und</strong> es hat mit EmergencySurgery<br />

eine Notoperation zu erfolgen. Bei einem stabilen (stable) Zustand hat mit der Aktivität NormalSurgery<br />

eine normale Operation zu erfolgen. Bei den Operations-Aktivitäten wurden jeweils Assistenz-Aktivitäten<br />

mit der in Abschnitt 3.2.3.3 erwähnten Parallel-Beziehung modelliert. Somit haben diese Aktivitäten<br />

gezwungenermaßen parallel zu erfolgen. Als letzte Aktivität ist dann noch WakeUp im Prozessmodell<br />

vorhanden, die durch die seq-Beziehung nach allen Aktivitäten der SurgeryCheck-Gruppe zu erfolgen hat.<br />

Die Zustände <strong>und</strong> Attributbelegungen der Aktivitätsobjekte spielen für die in diesem Abschnitt betrachtete<br />

Modellierungsphase noch keine Rolle <strong>und</strong> können hier vernachlässigt werden. Diese werden erst für<br />

die Runtime relevant, die in Kapitel 4 im Zusammenhang mit dem Workflow-Runtime-Plugin betrachtet<br />

wird. Auch das Designtime-Plugin, das aus den Workflowmodellen ASSL-Instanziierungsprozeduren zur<br />

persistenten Speicherung <strong>und</strong> deren Folgenutzung zur Runtime generiert, wird dort näher erklärt.<br />

3.2.6 Sicherstellung statischer Eigenschaften der Modelle<br />

In diesem Kapitel wurden bisher nur OCL-Constraints vorgestellt, die die operationale Semantik der DM-<br />

WM-Sprache betreffen. Ein wichtiger zusätzlicher Aspekt von DMWM ist die So<strong>und</strong>ness-Überprüfung<br />

während der Designtime mit OCL. Im Metamodell sind OCL-Invarianten spezifiziert, die potenzielle<br />

Deadlocks, die zur Runtime entstehen können, schon während der Designtime identifizieren.<br />

In Listing 3.9 werden zwei Invarianten vorgestellt, die Deadlocks identifizieren. Deadlocks sind dann<br />

gegeben, wenn die auf OCL-Contraints basierenden temporale Beziehungen sich widersprechen <strong>und</strong> damit<br />

die Prozessausführung blockieren würden.<br />

Ein solches Problem tritt z.B. dann auf, wenn der Modellierer einen Zyklus von Sequenzen bildet, welches<br />

in Abbildung 3.10 angegeben ist. Während der Runtime würde dann folgendes Problem auftauchen. Die<br />

OCL-Invariante seqActivity von Listing 3.7 fordert, dass die pred-Aktivitäten abgearbeitet sein müssen<br />

bevor die mit self angegebene, aktuell betrachtete Aktivität gestartet werden kann. Diese Zusicherung

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!