Metamodellbasierte und hierarchieorientierte ... - RosDok
Metamodellbasierte und hierarchieorientierte ... - RosDok
Metamodellbasierte und hierarchieorientierte ... - RosDok
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
60 Deklarative UML metamodellbasierte Workflowmodellierung<br />
Gerätemanagement (FacilityManagement), medizinische Abteilung (MedicineDepartment) <strong>und</strong> Verwaltung<br />
(Accounting). Im Organisationsbaum sind nun zwei Rollen der medizinischen Abteilung zugeordnet. Die<br />
Rolle des Rettungsassistenten (paramedic) <strong>und</strong> die des Chirurgen (surgeon) sind hierfür im Modell vorhanden.<br />
Weiterhin sind jeweils zwei Person vorhanden, die die beiden obigen Rollen übernehmen: Bob <strong>und</strong><br />
Mike sind Rettungsassistenen <strong>und</strong> Pete <strong>und</strong> Meg übernehmen die Rolle des Chirurgen. Außerdem hat Meg<br />
die Rolle der Krankenhausdirektorin inne. Damit ist es nach dem Metamodell also erlaubt, dass Personen<br />
mehrere Rollen übernehmen können. Es ist anzumerken, dass das hier eingeführte Organisationsmodell nur<br />
ein Ausschnitt eines wirklichen Organisationsmodells ist <strong>und</strong> als Beispiel zu verstehen ist.<br />
In Abbildung 3.15(b) sind Aktivitäten vom Notfallprozess von Abbildung 3.9 zu sehen. Zum einen sind<br />
die Transportaktivitäten HelicopterDelivery <strong>und</strong> AmbulanceDelivery jeweils mit der Rolle des Rettungsassistenten<br />
verb<strong>und</strong>en. Zum anderen sind die ärztlichen Aktivitäten NormalSurgery, EmergencySurgery <strong>und</strong><br />
CheckPatientCondition dem Chirurgen zugeordnet. Eine weitere Zuordnung ist bei der Verabreichung von<br />
Medikamenten bei der Aktivität AdjustMedication vorhanden. Sie ist über ein Objekt der Assoziationsklasse<br />
AllocAnyPerson mit der medizinischen Abteilung verb<strong>und</strong>en. Das bedeutet, dass jede Rolle bzw. jede Person<br />
dieser Abteilung zur Ausführung dieser Aktivität berechtigt ist. Im Falle des hier betrachteten Modells sind<br />
das alle vier Personen.<br />
Die Ausführung der Workflowmodelle inklusive imperativer Allokationsprozeduren, die unterschiedliche<br />
Strategien implementieren können, betreffen die Runtime, die in Kapitel 4 näher betrachtet wird.<br />
3.5 Realisieren von DMWM mit USE<br />
Mit der in den vorherigen Abschnitten vorgestellten UML- <strong>und</strong> OCL-Spezifikation für DMWM ist die Basis<br />
gegeben, ein Modellierungswerkzeug für die Designtime <strong>und</strong> eine Workflow-Engine für die Runtime zu<br />
entwickeln. Dagegen kann man auch bestehende UML-Werkzeuge wie z.B. das Eclipse Modeling Framework<br />
[Gro09] oder die UML-based Specification Environment (USE) [GBR07] zur Umsetzung von DMWM<br />
verwenden. Bei einer solchen modellbasierten Umsetzung kann man sich viel Implementierungsarbeit sparen.<br />
Für diese Dissertation wurde das UML-Werkzeug USE gewählt, da dort u.a. mit ASSL eine OCL-basierte<br />
imperative Sprache bereitsteht, mit der die operationale Semantik für DMWM umgesetzt werden kann. Die<br />
Modellausführung mit ASSL ist Thema in Kapitel 4.<br />
Im Folgenden wird in Abschnitt 3.5.1 das Werkzeug USE näher vorgestellt. Daraufhin wird die Benutzung<br />
des USE-Tools für DMWM mit Anwendungsfällen in Abschnitt 3.5.2 verdeutlicht. Die Benutzung des Tools<br />
zur Modellierung eines Workflows ist Thema in Abschnitt 3.5.3. Schließlich beschreibt Abschnitt 3.5.4 die<br />
automatische So<strong>und</strong>ness-Analyse der Workflowmodelle. Die dafür bereitgestellten Funktionalitäten <strong>und</strong><br />
Werkzeuge von USE werden dafür näher beleuchtet.<br />
3.5.1 UML-Entwicklungsumgebung USE<br />
Die UML-based Specification Environment (USE) ist ursprünglich dazu entwickelt worden, UML-Klassendiagramme<br />
zusammen mit OCL-Constraints zu validieren. USE wird im Zusammenhang mit den in Abschnitt<br />
2.1 vorgestellten leichtgewichtigen formalen Methoden in der Softwareentwicklung genutzt. Hier werden<br />
die Modelle während der Entwurfsphase auf Eigenschaften getestet.<br />
Der Entwickler spezifiziert ein Modell als UML-Klassendiagramm zusammen mit OCL-Constraints. Nun<br />
wird anhand des Modells ein Abbild eines laufenden Systems in Form eines UML-Objektdiagramms durch<br />
Manipulation des Systemzustands erzeugt. Daraufhin prüft das USE-System OCL-Constraints <strong>und</strong> der