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 81<br />
(a) Cancel-Prozess mit Multiinstanz-Aktivitäten <strong>und</strong> IterationGroup<br />
(b) Darstellung des Workflows im Runtime-Plugin<br />
(c) Starten der Multiinstanz-Aktivität<br />
(d) Darstellung des Workflows in Runtime-Plugin<br />
Abbildung 4.7: Workflow-Modell mit Multiinstanz-Aktivitäten <strong>und</strong> Ausführung im Runtime-Plugin<br />
Interaktion mit Aktivitäten auch ein add-Button zu sehen. Dieser repräsentiert die gleichnamige Operation<br />
der Klasse MIRuntimeWithAdd vom Workflow-Metamodell aus Abbildung 3.2. Es können damit während<br />
die Multiinstanz-Aktivität läuft Ausführungsinstanzen hinzugefügt werden.<br />
In Abbildung 4.7(d) sind daraufhin die zwei Ausführungsinstanzen als Kinder in den Baum hinzugefügt<br />
worden. Diese können unabhängig voneinander ausgeführt werden. Die Multiinstanzaktivität NotifyAffiliated<br />
kann jedoch erst dann beendet werden, wenn alle Ausführungsinstanzen nicht mehr laufen. Möchte man hier<br />
ein unsynchrones Verhalten erlauben, sollte eine Aktivität der Klasse MIWithoutSynch verwendet werden,<br />
die das Workflow Pattern 12 ausdrückt (s. Abschnitt 3.2.4.3).<br />
4.3.2.4 Darstellung <strong>und</strong> Ausführung eines Cancel-Prozesses <strong>und</strong> einer Iterationsgruppe<br />
In Abbildung 4.7(a) ist bereits ein Cancel-Prozess modelliert. Workflowinstanzen davon können jeder<br />
Zeit mit der cancel()-Operation abgebrochen werden. Im Runtime-Plugin ist das Prozessobjekt <strong>und</strong> der<br />
cancel-Button in Abbildung 4.7(b) zu sehen, mit dem der Nutzer die Operation ausführen kann.