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.

4.3 Workflow Runtime-Plugin 83<br />

(a) Darstellung der Datenabhängigkeiten von AdjustMedication<br />

im Runtime Plugin<br />

(b) Darstellung der Datenabhängigkeiten von CheckPatientCondition<br />

Abbildung 4.9: Darstellung von Daten während der Workflowausführung<br />

DataCreate-Objekts dosage angezeigt wird. Das Attribut creationActivity vom neu erzeugten Datenobjekt<br />

MedicationDosage3 ist bereits vom Runtime Plugin auf die erzeugende Aktivität AdjustMedication gesetzt<br />

worden. Während der Abarbeitung der Aktivität hat der Nutzer die Aufgabe, die Attribute medication <strong>und</strong><br />

amount einzutragen.<br />

In Abbildung 4.9(a) ist des Weiteren zu sehen, dass die aktuell ausgewählte Aktivität AdjustMedication nicht<br />

beendet werden kann, da der entsprechende finish-Button deaktiviert ist. Um den Gr<strong>und</strong> dafür herauszufinden,<br />

kann der Nutzer peek ASSL procedure aus dem Optionsmenü des Runtime-Plugins (s. Abbildung 4.4(d))<br />

aufrufen. Der ASSL-Prozeduraufruf finish(AdjustMedication) versucht diese Prozedur auszuführen <strong>und</strong><br />

liefert als Ergebnis, dass diese entweder erfolgreich ausgeführt werden kann oder eine Constraint-Verletzung<br />

hervorgerufen wird. In Listing 4.4 ist die Konsolenausgabe des peek-Aufrufs der finish()-Operation von<br />

Abbildung 4.9(a) zu sehen, die angibt, dass die Invariante MedicationEntriesMade verletzt wurde. Mit dieser<br />

Information sieht der Nutzer, dass die Einträge für die aktuelle Medikation noch fehlen. Erst nachdem diese<br />

getätigt wurden, kann die Aktivität beendet werden.<br />

✞<br />

1 checks valid invalid mul. viol. time (ms) Invariant<br />

2 ... ... ... ... ... ...<br />

3 1 1 0 0 0 MIWithSync::instanceDoneSelfDone<br />

4 1 0 1 0 0 MedicationDosage::MedicationEntriesMade<br />

5 0 0 0 0 0 MultiInstance::instanceCreated<br />

6 ... ... ... ... ... ...<br />

7 Total checks: 12 Overhead (checks - states checked): 11<br />

8 Sorted 0 times.<br />

✝<br />

Listing 4.4: Konsolenausgabe bei Peek-Aufruf der finish() Operation bei AdjustMedication<br />

☎<br />

✆<br />

In Abbildung 4.9(b) ist des Weiteren die Aktivität CheckPatientCondition ausgewählt worden. Deren<br />

Datenabhängigkeiten getAllDiseases <strong>und</strong> PatientData des Worfklowmodells von Abbildung 3.13(b) werden<br />

vom Runtime-Plugin dort angezeigt. Die DataRead-Tabelle repräsentiert die Daten des Informationssystems,<br />

die über das getAllDiseases Objekt angefragt wurden. Des Weiteren ist das PatientData-Objekt im Object<br />

properties-Fenster zu sehen. Da CheckPatientCondition eine Entscheidungsaktivität ist, werden dem Nutzer<br />

zudem die zugehörigen Entscheidungsalternativen analog zur Abbildung 4.5(a) zur Auswahl gestellt.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!