18.01.2014 Aufrufe

Metamodellbasierte und hierarchieorientierte ... - RosDok

Metamodellbasierte und hierarchieorientierte ... - RosDok

Metamodellbasierte und hierarchieorientierte ... - RosDok

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

3.3 Datenintegration 51<br />

beiden Beziehungen Parallel <strong>und</strong> InterleavedParallelRouting zugeordnet.<br />

Es sind noch viele weitere Integritätsbedingungen zur Sicherstellung von So<strong>und</strong>ness-Eigenschaften denkbar.<br />

Beispielsweise stellen Zyklen von Guard- <strong>und</strong> exceeded-Assoziationen ebenso ein Problem dar. Die Beispiele<br />

von diesem Abschnitt sollen jedoch ausreichen, um exemplarisch zu zeigen, wie OCL-Invarianten im<br />

Metamodell eingesetzt werden können, um konsistente Workflowmodelle zu garantieren.<br />

3.3 Datenintegration<br />

In diesem Abschnitt wird die Datenintegration in Workflow-Modellierungssprachen im allgemeinen <strong>und</strong> in<br />

DMWM-Workflowmodellen im speziellen betrachtet. Die Spezifikation von Daten in Geschäftsprozessmodellen<br />

ist äußerst wichtig <strong>und</strong> Bestandteil aller populärer Prozessmodellierungssprachen, wie BPMN, Aktivitätsdiagrammen<br />

<strong>und</strong> eEPKs. Des Weiteren gibt es Datenflussdiagramme, die den Zusammenhang zwischen<br />

Funktionen, Schnittstellen <strong>und</strong> Speichern über Datenflüsse spezifizieren [Bal09]. In Abschnitt 3.3.1 werden<br />

diese näher betrachtet <strong>und</strong> gezeigt, wo Unterschiede <strong>und</strong> Probleme existieren. Daraufhin wird der Ansatz der<br />

Datenmodellierung <strong>und</strong> die Metamodellerweiterung für die Datenintegration in DMWM-Workflomodelle in<br />

Abschnitt 3.3.2 näher eingeführt. Im DMWM-Ansatz lassen sich außerdem Datenkonsistenzbedingungen<br />

mit OCL in den Datenmodellen spezifizieren, welche in Abschnitt 3.3.3 thematisiert werden. Damit können<br />

beispielsweise fehlende Dateneinträge zur Runtime identifiziert werden <strong>und</strong> der Nutzer darauf hingewiesen<br />

werden. Außerdem wird dort ein Beispiel gegeben, an dem die Datenintegration gezeigt wird.<br />

3.3.1 Konzepte <strong>und</strong> Probleme der Datenintegration in etablierten Modellierungssprachen<br />

Die Datenintegration ist in eEPKs vom Kontrollflusskonzept entkoppelt. Ein Beispiel für diese Modelle ist<br />

in Abbildung 3.11(a) angegeben. In eEPKs sind die Datenspezifikationen für jede Aktivität neu anzugeben.<br />

Datenflüsse, in denen einzelne Objekte von einer Aktivität zur nächsten gegeben werden sind nicht<br />

vorgesehen.<br />

Auch bei der in der Softwaretechnik entwickelten Strukturierten Analyse mit Realtime-Erweiterung (SA/RT)<br />

<strong>und</strong> den dort verwendeten Datenflussdiagrammen (DfDs) sind die Ablaufspezifikation (CSpecs) von Datenflüssen<br />

entkoppelt [Bal09]. Damit ist das Vorhandensein der Daten nicht Vorbedingung zur Ausführung<br />

der Funktion. Es kann z.B. auch passieren, dass während der Ausführung Daten ausgetauscht werden oder<br />

Funktionen später ihre Ausführung wieder aufnehmen. In Abbildung 3.11(d) ist ein Datenflussdiagramm zu<br />

sehen, das einen Austausch von Daten zwischen zwei Funktionen Function1 <strong>und</strong> Function2 vorgibt. Hier<br />

wissen wir nicht in welcher Reihenfolge diese Funktionen abgearbeitet oder ob eine Funktion mehrfach<br />

ausgeführt werden muss. Bei DfDs liegt der Fokus der Modellierung auf der Verbindung zwischen Daten,<br />

Funktionen, Schnittstellen <strong>und</strong> Speichern.<br />

Bei Aktivitätsdiagrammen, wofür in Abbildung 3.11(c) ein Beispiel angegeben ist, stellen Objektflüsse<br />

gleichzeitig Kontrollflüsse dar. Die Objekte dienen als Eingabeparameter für die Aktivitäten <strong>und</strong> sind<br />

Vorbedingungen zur Ausführung <strong>und</strong> Konsumierung der Objekte. Die Modellierung eines expliziten Kontrollflusses<br />

ist nicht erforderlich, wenn schon ein Objektfluss vorhanden ist. Objektflussspezifikationen<br />

können aber Probleme bei der Verknüpfungen zu Flussoperatoren hervorrufen. Beispielsweise kann es Typkonsistenzprobleme<br />

geben, wenn diese mit einem join synchronisiert oder mit einem fork verzweigt werden.<br />

Auch semantische Probleme können hier auftreten, die die Effekte auf das Objektmodell bei Ausführung der<br />

Flussoperatoren betreffen. Hier stellt sich beispielsweise die Frage, was passiert, wenn zwei Token miteinan-

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!