18.01.2014 Aufrufe

Metamodellbasierte und hierarchieorientierte ... - RosDok

Metamodellbasierte und hierarchieorientierte ... - RosDok

Metamodellbasierte und hierarchieorientierte ... - RosDok

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

48 Deklarative UML metamodellbasierte Workflowmodellierung<br />

Kategorie wurde in der überarbeiteten Fassung der Workflow Patterns noch erweitert [RHAM06]. Die<br />

zusätzlich hinzugefügten Patterns betrachten wir hier jedoch nicht weiter.<br />

Der Arbitrary Cycle ist in Abbildung 3.8(a) modelliert. Dieses Pattern beschreibt Zyklen in Prozessmodellen,<br />

die unstrukturiert vorhanden sind. D.h. es gibt mehr als einen Entry- bzw. Exit-Punkt für Zyklen in<br />

Prozessmodellen. Beispielsweise gibt es im Modell von Abbildung 3.8(a) zwei Einstiegspunkte für die<br />

iterative Ausführung von Aktivität a3. Sowohl i1 als auch i2 kann genutzt werden, um nextIteration() <strong>und</strong><br />

damit einen neuen Ausführungszyklus im Zusammenhang mit a3 einzuleiten. Somit ist beispielsweise eine<br />

Abarbeitungsfolge wie die folgende denkbar, in der zunächst nextIteration() auf dem Objekt i2 <strong>und</strong> danach<br />

auf i1 aufgerufen wird: a1,a2,a3,a4,a3,a2,a3,a4,a5<br />

(a) WCP10: Arbitrary Cycles<br />

(b) WCP19&20: Cancel Task and Cancel<br />

Case<br />

Abbildung 3.8: Iteration, Cancellation and Force Completion Patterns<br />

Zu den Cancellation and Force Completion Patterns gehören dann schließlich die in Abbildung 3.8(b)<br />

dargestellten Cancel Task <strong>und</strong> Cancel Case (WCP19 & 20) Patterns. WCP19 wird durch eine einzelne<br />

Aktivität der Klasse Cancel repräsentiert. Im Metamodell von Abbildung 3.2 ist zu sehen, dass mit der<br />

Operation cancel() dem Nutzer für diese Aktivitäten die Möglichkeit bereitgestellt wird, die Aktivität<br />

abzubrechen. Zudem ist in der Enumteration State der Zustand canceled aufgeführt. Die Cancel-Aktivitäten<br />

können in den Zuständen waiting <strong>und</strong> running abgebrochen werden. Dieser Zustand kann nicht wieder<br />

verlassen werden. Neue Iterationen sind also mit nextIteration() nicht möglich.<br />

Beim Cancel Case Pattern (WCP20) kann die komplette Prozessausführung abgebrochen werden. Damit<br />

würden alle wartenden <strong>und</strong> laufenden Aktivitäten in den Zustand canceled überführt. Hierzu gehören alle<br />

Arten von Aktivitäten, auch wenn sie keine Operation cancel() besitzen. Eine weitere Ausführung von<br />

Aktivitäten ist damit nicht weiter möglich, womit der komplette Prozess abgebrochen wird.<br />

3.2.5 Ein Beispielprozess in DMWM<br />

In Abbildung 3.9 ist ein fertiges Workflowmodell zu einer Krankenhaus-Notfallaufnahme zu sehen. Der<br />

Prozess ist mit EmergencyProcess bezeichnet <strong>und</strong> als oberstes Objekt im Prozessmodell vorhanden. Mit<br />

dem Objekt verb<strong>und</strong>en sind die Objekte AdjustMedication <strong>und</strong> HeliAmbu.<br />

AdjustMedication ist eine Iterationsaktivität, die mehrfach ausgeführt werden kann. Sie hat Beziehungen<br />

zu anderen Modellelementen <strong>und</strong> ist somit keiner Ausführungsbeschränkungen unterworfen. HeliAmbu<br />

repräsentiert eine Deferred Choice Beziehung (s. Abschnitt 3.2.4.4) zwischen HelicopterDelivery <strong>und</strong><br />

AmbulanceDelivery Aktivitäten. Die Ausführung einer Aktivität hat das implizite Überspringen der anderen<br />

zur Folge.<br />

In einer Sequenz folgt dahinter die SurgeryCheck Gruppe, in der zunächst der Zustand des Patienten in<br />

der Aktivität CheckPatientCondition zu prüfen ist. Diese Aktivität repräsentiert eine XorDecision, in der

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!