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.
4.5 Verwandte Arbeiten 87<br />
✞<br />
1 use> ?EmergencyProcess.getActivities()->iterate(a:Activity;acc:Bag(Tuple(n:String, t:Integer))=Bag{}<br />
|acc->including(Tuple{n:a.name, t:a.finish-a.start}))->select(t.isDefined())->sortedBy(t)<br />
2 -> Sequence{Tuple{n=’AssistEmergencySurgery’,t=2},Tuple{n=’EmergencySurgery’,t=2},Tuple{n=’<br />
HelicopterDelivery’,t=3},Tuple{n=’WakeUp’,t=4},Tuple{n=’CheckPatientCondition’,t=7}} : Sequence(<br />
Tuple(n:String,t:Integer))<br />
✝<br />
Listing 4.5: Konsolenausgabe für OCL-Mininganfrage<br />
☎<br />
✆<br />
Tool [ADG + 09] u.a. der α-Algorithmus entwickelt, der aus einer Liste von Events ein Petri-Netz als<br />
Prozessmodell generieren kann [DMW09].<br />
Die Möglichkeit, aus den Abarbeitungsdaten ein Prozessmodell zu entwickeln, ist mit DMWM <strong>und</strong> USE<br />
ebenfalls denkbar. Die Invarianten, die die operationale Semantik für die Runtime festlegen <strong>und</strong> auf den<br />
Ausführungszuständen der Aktivitäten basieren (s. Abschnitt 3.2.3.3) können auf Zeitstempel umformuliert<br />
werden. Aktivitäten <strong>und</strong> zugehörige Events inklusive Zeitstempel könnten über das MXML- oder XES-<br />
Format in das Objektdiagramm überführt werden. Die temporalen Beziehungen könnte der Modellierer<br />
nachmodellieren <strong>und</strong> damit Prozessmodelle erzeugen. Die OCL-Invarianten aus dem Workflow-Metamodell<br />
für das Process-Mining würden dann angeben, ob auf Basis der Zeitstempel temporale Beziehungen verletzt<br />
sind. Dieser Ansatz wird hier jedoch nicht weiter vertieft.<br />
4.5 Verwandte Arbeiten<br />
Der in diesem <strong>und</strong> Kapitel 3 vorgestellte DMWM-Ansatz tangiert zwei Bereiche der (Wirtschafts-) Informatik.<br />
Zum einen wird das Gebiet der UML-modellbasierten <strong>und</strong> -getriebenen Softwareentwicklung <strong>und</strong><br />
zum anderen die Workflow- <strong>und</strong> Geschäftsprozessmodellierung berührt. Das UML-Werkzeug USE, das<br />
vorwiegend zur Validierung von UML-Modellen zur Softwareentwicklung genutzt wird, wird mit DMWM<br />
auf dem Gebiet der Workflowmodellierung eingesetzt. Im Folgenden werden unterschiedliche Ansätze aus<br />
den beiden Bereichen <strong>und</strong> damit zu DMWM verwandte Arbeiten kurz beschrieben.<br />
Die modellgetriebene Softwareentwicklung verwendet häufig Metamodelle, um auf deren Basis Modelltransformationen<br />
durchzuführen. U.a. wurde für solche die Sprache QVT (Query View Transformation) [QVT08]<br />
entwickelt. Sie beinhaltet eine imperative OCL-basierte Sprache imperativeOCL zum implementieren der<br />
Transformationen. Wie in Abschnitt 2.2 schon erwähnt, werden die Transformationen bei QVT dafür genutzt,<br />
um Modelle von einer Modellierungssprache in eine andere zu übersetzen. In diesem Zusammenhang ist<br />
auch die Atlas Transformation Language (ATL) zu sehen [JABK08], die mit einem Eclipse-Plugin zur<br />
Entwicklung <strong>und</strong> Ausführung von Modelltransformationen umgesetzt wurde.<br />
Kermeta wurde entwickelt, um auf Metamodellebene Transformationen zu definieren, um die darauf<br />
basierenden Modelle ausführen zu können. Für diesen Ansatz gibt es ebenfalls eine OCL-basierte imperative<br />
Sprache [MFJ05].<br />
Die mit dem UML-Tool USE umgesetzte A Snapshot Sequence Language (ASSL) wird ebenfalls dazu<br />
genutzt, UML-Modelle zu validieren. Dieses wird erreicht, indem semi-automatisch Objektdiagramme<br />
von Klassendiagrammen erzeugt werden, die dann Testfälle darstellen. Eine ähnliche Validierungsmethode<br />
für Modelle wird mit Alloy verfolgt, das im Gegensatz zu OCL eine eigene Sprache zum Modelchecking<br />
verwendet [Jac03].<br />
Die von USE bereitgestellte Sprache ASSL setzt weite Teile der UML-Action Semantics um, so dass diese<br />
Sprache analog zu Kermeta als imperative Sprache zur Ausführung von Modellen genutzt werden kann. Die<br />
ebenfalls von USE interpretierte Sprache SOIL [Büt11] stand zum Zeitpunkt der Entwicklung von DMWM<br />
noch nicht bereit. Diese Sprache hat wie Kermeta zum Ziel, die Modelle ausführbar zu machen. Sie wird für