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