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.
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