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.
30 Deklarative UML metamodellbasierte Workflowmodellierung<br />
3.1.1 Ausgewählte UML-Diagramme zur Verwendung für DMWM<br />
Die Unified Modeling Language (UML) stellt eine Sammlung von verschiedenen Diagrammarten bereit, um<br />
vorwiegend Software zu entwerfen <strong>und</strong> zu dokumentieren. Sie stellt eine Sammlung von vorher entwickelten<br />
objektorientierten Softwarespezifikationssprachen dar, die von Grady Booch, Ivar Jacobson <strong>und</strong> James<br />
Rumbaugh entwickelt wurden. Die Modelle sind visuell <strong>und</strong> sollen intuitiv erfassbar sein, um Diskussionen<br />
zwischen Entwicklern untereinander oder mit dem Endanwender anzuregen.<br />
Die unterschiedlichen UML-Diagramme werden grob in die folgenden zwei Gruppen unterteilt: Struktur<strong>und</strong><br />
Verhaltensmodelle. Zu den Strukturmodellen zählen die folgenden sechs. Die Modelle, die für den<br />
DMWM-Ansatz von Bedeutung sind, werden näher erläutert <strong>und</strong> angegeben, wofür sie in DMWM genutzt<br />
werden. Die restlichen UML-Diagramme werden daraufhin lediglich aufgelistet.<br />
• Klassendiagramm: Dieses ist das zentrale Modell in der UML. Es wird zur visuellen Softwaremodellierung<br />
für die Beschreibung der Struktur bzw. Architektur genutzt. Die Sprachelemente sind Klassen<br />
<strong>und</strong> Assoziationen. Klassen beschreiben eine Menge von gleichartigen Objekten. Diese besitzen<br />
Attribute gleichen Typs <strong>und</strong> gleiche Operationen. Assoziationen beschreiben Beziehungen zwischen<br />
Objekten.<br />
Es können damit objektorientierte Analysemodelle erstellt <strong>und</strong> diskutiert werden. Diese modellieren<br />
Ausschnitte der Realität, die sich daraufhin in der zu erstellenden Software widerspiegeln sollen. Die<br />
Analysemodelle lassen sich dann für (plattformspezifische) Softwaredesign- <strong>und</strong> Architekturmodelle<br />
transformieren [Kle08], die einen Hierfür werden Transformationstechniken angewendet, die eine<br />
modellgetriebene Softwareentwicklung realisieren [Kle08].<br />
Klassendiagramme können des Weiteren zur Datenmodellierung <strong>und</strong> Metamodellierung genutzt<br />
werden. Im DMWM-Ansatz wird das Klassendiagramm für diese beiden Zwecke genutzt. Als Beispiel<br />
zur Datenmodellierung sind in Abbildung 2.2(c) <strong>und</strong> 2.3(b) bereits zwei Datenmodelle angegeben.<br />
Des Weiteren wurden auch schon Klassendiagramme zur Metamodellierung in Abbildung 2.5 <strong>und</strong> 2.6<br />
präsentiert.<br />
• Objektdiagramm: Das Modell beinhaltet eine Menge von Objekten, die Instanzen von Klassen<br />
darstellen. Zudem gibt es Links zwischen Objekten, die Instanzen von Assoziationen aus dem Klassendiagramm<br />
sind. Es lassen sich also Objektdiagramme aus Klassendiagrammen erstellen. Somit<br />
haben diese beiden Diagrammarten eine unmittelbare Beziehung zwischeneinander. Ein Objektdiagramm<br />
stellt einen Schnappschuss dar, der ein Systemzustand zu einem bestimmten Zeitpunkt im<br />
Programmablauf repräsentiert.<br />
Im DMWM-Ansatz wird diese Diagrammart zur Modellierung der Workflowmodelle genutzt. Objektdiagramme<br />
stellen dabei eine abstrakte Syntax der Workflowsprache dar. Im Eclipse Modeling<br />
Framework (EMF) wird mit dem Graphical Modeling Framework (GMF) sogar eine Möglichkeit<br />
gegeben, den Instanzen der Metamodelle eine konkrete Syntax zu geben, indem bestimmten Typen<br />
aus dem Metamodell grafische Symbole zugeordnet werden [Gro09].<br />
Bei DMWM werden zudem Objektdiagramme für Workflowinstanzen genutzt, die im Ablauf befindliche<br />
Workflowmodelle repräsentieren. Diese Modelle werden dem Nutzer über ein Workflow-Plugin<br />
für ein UML-Werkzeug, zur Interaktion mit dem Modellierer aufbereitet. Die Modelle lassen sich über<br />
die Sprache ASSL [GBR05], die eine OCL-basierte UML-Action Language repräsentiert, ausführen.<br />
Schnappschüsse des Datenmodells <strong>und</strong> das Organisationsmodell werden ebenfalls im Objektdiagramm<br />
repräsentiert, so dass sich die Abhängigkeiten der einzelnen Modelle mit dem hier vorgestellten Ansatz<br />
sehr gut testen lassen.