18.01.2014 Aufrufe

Metamodellbasierte und hierarchieorientierte ... - RosDok

Metamodellbasierte und hierarchieorientierte ... - RosDok

Metamodellbasierte und hierarchieorientierte ... - RosDok

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!