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.
72 <strong>Metamodellbasierte</strong> Workflow-Modellausführung<br />
✞<br />
1 procedure allocation(a:Activity)<br />
2 var p:Person;<br />
3 begin<br />
4 −− Role−Person allocation<br />
5 for r:Role in [a.bindingObject.oclAsType(Role)−>select(isDefined())−>asSequence()] begin<br />
6 p:=Any([r.person−>select(activity−>forAll(state#running))−>asSequence()]);<br />
7 Insert(allocation, [a], [p]);<br />
8 end;<br />
9 −− OrgUnit−Person allocation<br />
10 for u:AllocUnit in [a.allocUnit] begin<br />
11 ASSLCall allocation([u]);<br />
12 end;<br />
13 end;<br />
✝<br />
Listing 4.2: Allokationsprozedur umgesetzt mit ASSL<br />
☎<br />
✆<br />
Organisationseinheit eine ASSL-Allokationsprozedur aufgerufen. Für jede der drei Klassen AllocAllRoles,<br />
AllocAnyPerson <strong>und</strong> AllocAllPersons ist eine ASSL-Allokationsprozedur definiert. Anhand des dynamischen<br />
Bindens wird die gewünschte Prozedur automatisch aufgerufen <strong>und</strong> die Verbindung von der Aktivität zu<br />
Personen hergestellt. Die Umsetzung dieser Prozeduren wird hier jedoch nicht weiter betrachtet.<br />
4.2.3 Verhältnis Metamodelle, Modelle <strong>und</strong> Instanzen<br />
Bei dem DMWM-Ansatz muss zwischen Metamodell, Modell <strong>und</strong> Modellinstanzen unterschieden werden.<br />
Um einen Überblick über die verschieden Modelle zur Workflow-, Daten- <strong>und</strong> Organisationsmodellierung<br />
<strong>und</strong> die dafür verwendeten Diagrammarten zu bekommen, wird in Tablle 4.2 eine Übersicht gegeben.<br />
DMWM-<br />
Diagrammart<br />
Workflow<br />
Datenmodell<br />
Organisationsmodell<br />
Metamodell Modell (Designtime) Modellinstanz (Runtime)<br />
UML-<br />
UML-Objektdiagramm UML-Objektdiagramm<br />
Klassendiagramm<br />
angereichert mit<br />
Ausführungsdaten<br />
bereits mit USE implementiert<br />
UML-<br />
UML-Objektdiagramm<br />
Klassendiagramm<br />
UML-<br />
UML-Objektdiagramm UML-Objektdiagramm<br />
Klassendiagramm mit Aktivitätszuordnungen<br />
mit Personenzuordnun-<br />
zu Rollen oder gen<br />
Organisationseinheiten<br />
Tabelle 4.2: Die verwendeten UML-Diagramme für DMWM<br />
Das Workflow-Metamodell liegt in einem UML-Klassendiagramm angereichert um OCL-Constraints<br />
vor, welches in Kapitel 3 sehr ausführlich vorgestellt wurde. Anhand des USE-Tools lassen sich die<br />
Workflowmodelle zur Designtime mit UML-Objektdiagrammen erstellen. In diesem Objektmodell sind die<br />
Attribute für die Ausführungsdaten, wie Aktivitätszustände oder Zeitstempel, noch nicht relevant <strong>und</strong> daher<br />
nicht belegt.<br />
Das Designtime-Plugin nutzt das Workflowmodell, um eine ASSL-Prozedur zu generieren, die das Modell<br />
persistent speichert. Das Vorgehen wird in Abschnitt 4.2.4 näher vorgestellt. Ruft man die generierte<br />
Instanziierungsprozedur zur Runtime auf, wird das Prozessmodell reproduziert <strong>und</strong> die Zustände aller<br />
Aktivitäten auf waiting gesetzt. Wird die Instanziierungsprozedur mehrfach aufgerufen, so können mehrere<br />
Instanzen des gleichen Prozesses erzeugt werden.