Metamodellbasierte und hierarchieorientierte ... - RosDok
Metamodellbasierte und hierarchieorientierte ... - RosDok
Metamodellbasierte und hierarchieorientierte ... - RosDok
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
4.3 Workflow Runtime-Plugin 79<br />
Entscheidung führt, wird mit der Aktivität bezeichnet <strong>und</strong> die Kriterien zur Pfadauswahl wird bei DMWM<br />
in den zugeordneten Guards angegeben. Während der Ausführung der Aktivität werden dem Nutzer die<br />
Guards zur Auswahl dargestellt. Dieser hat dann die Aufgabe, den zutreffenden Pfad zu wählen.<br />
Im Folgenden wird das Konzept an einem Beispiel erläutert. In Abbildung 4.5(a) wird die Aktivität<br />
CheckPatientCondition zur Runtime dargestellt. Während der Ausführung der Aktivität hat die ausführende<br />
Person die Verfassung des Patienten zu prüfen. Es stehen laut Workflowmodell von Abbildung 3.9 hier zwei<br />
Alternativen bereit. Entweder ist der Patient in einer stabilen oder in einer kritischen Verfassung. Diese<br />
Alternativen werden dem Nutzer zur Runtime präsentiert <strong>und</strong> eine davon hat er per Checkbox auszuwählen.<br />
(a) Entscheidungsaktivität CheckPatientCondition<br />
(b) Workflowzustand nach Ausführen der Entscheidungsaktivität<br />
Abbildung 4.5: Anzeigen der Entscheidungsaktivitäten während der Runtime<br />
Nach Auswahl <strong>und</strong> Beendigung der Entscheidungsaktivität werden die nicht ausgewählten Aktivitäten<br />
mit skip() übersprungen. Dieses ist in der ASSL-Datei für die finish()-Operation der Klasse Decision<br />
umgesetzt. Aktivitätsketten, die mit seq-Links entstehen können, werden bis zum nächsten merge-Operator<br />
übersprungen, um das Structured Synchronization Merge Pattern (WCP7) umzusetzen, welches in Abschnitt<br />
3.2.4.2 vorgestellt wurde. In dem Falle, dass die seq-Kette ohne FlowOperator endet, werden die Aktivitäten<br />
bis dahin übersprungen. Im Notfallprozess-Beispiel von Abbildung 3.9 sind solche Ketten nicht vorhanden.<br />
In Abbildung 4.5(b) ist die Workflowinstanz nach Beendigung der Entscheidungsaktivität zu sehen. Da der<br />
Guard critical in Abbildung 4.5(a) ausgewählt wurde, wurde die Aktivität NormalSurgery übersprungen.<br />
Da diese Aktivität wiederum in einer parallelen Beziehung zur Aktivität AssistNormalSurgery steht, wurde<br />
damit auch diese übersprungen. Übersprungene Aktivitäten werden grau (als skipped) gekennzeichnet. Das<br />
Verhalten ist in einem UML-Sequenzdiagramm in Abschnitt 4.4.2 angegeben.<br />
In Abbildung 4.5(b) ist des Weiteren zu sehen, dass die Aktivitäten EmergencySurgery <strong>und</strong> AssistEmergencySurgery<br />
startbar geworden sind, was mit hellgrün für enabled gekennzeichnet wurde. Diese Konsequenz<br />
ist auch an dem aktivierten start-Button zu sehen, der die ausgewählte EmergencySurgery Aktivität betrifft.<br />
4.3.2.2 Iterationen<br />
Iterationen stellen ein anderes Verhalten dar als normale Aktivitäten, weil sie einen anderen Objektlebenszyklus<br />
aufweisen. Normale Aktivitäten haben den in Abbildung 3.3(a) dargestellten Lebenszyklus,<br />
wohingegen Iteration-Aktivitäten den von Abbildung 3.3(b) besitzen. Die Darstellung von Iterationsaktivitäten<br />
im Runtime-Plugin ist mit einem [I] gekennzeichnet, welches in Abbildung 4.6(a) an der gestarteten