Bachelor + Master Publishing
811 Bachelorarbeiten, 533 Masterarbeiten, 10.103 Diplomarbeiten

Codegenerierung aus Prozessmodellen mittels des Eclipse-Plug-ins „JBoss Graphical Process Designer“ (Case-Ansatz) bzw. AndroMDA (MDA-Ansatz)

Ein Vergleich

Codegenerierung aus Prozessmodellen mittels des Eclipse-Plug-ins „JBoss Graphical Process Designer“ (Case-Ansatz) bzw. AndroMDA (MDA-Ansatz)
Über dieses Buch
  • Art: Bachelorarbeit
  • Autor: Björn Kleinert
  • Abgabedatum: April 2006
  • Umfang: 113 Seiten
  • Dateigröße: 1,7 MB
  • Note: 2,0
  • Institution / Hochschule: Fachhochschule Stralsund Deutschland
  • Bibliografie: ca. 54
  • ISBN (eBook): 978-3-8324-9925-9
  • ISBN (Paperback) :
    978-3-8324-9925-9 P
  • ISBN (CD) :978-3-8324-9925-9 CD
  • Sprache: Deutsch
  • Prämierung:
  • Arbeit zitieren: Kleinert, Björn April 2006: Codegenerierung aus Prozessmodellen mittels des Eclipse-Plug-ins „JBoss Graphical Process Designer“ (Case-Ansatz) bzw. AndroMDA (MDA-Ansatz), Hamburg: Diplomica Verlag
  • Schlagworte: Software-Entwicklung, MDA, UML, jBPM, Quelltextgenerator

Bachelorarbeit von Björn Kleinert

Einleitung:

In der Bachelor-Arbeit wird ein Vergleich der Prozessmodellierung mit CASE-Ansatz und der Prozessmodellierung mit MDA-Ansatz durchgeführt.

Die Modellierung mit CASE-Ansatz erfolgt mit einem Plug-in für die Entwicklungsumgebung Eclipse. Dieses Plug-in von der Firma JBoss erzeugt während der grafischen Modellierung eine Prozessbeschreibung. Beim MDA-Ansatz erfolgt die Modellierung auch mit einem CASE-Tool (MagicDraw). Die Prozessbeschreibung wird dann mittels AndroMDA [ANDROMDAH] generiert.

Der Fokus dieser Arbeit liegt auf dem technischen Aspekt der Prozessmodellierung, sowie der Codegenerierung mittels AndroMDA. Um auf die Generierung von Prozessbeschreibungen durch AndroMDA eingehen zu können, ist es notwendig, den Aufbau und die Funktionsweise von AndroMDA, speziell der AndroMDA jBPM-Cartridge, zu beschreiben. Auf andere Codegeneratoren wird nicht eingegangen. Eine Gegenüberstellung einiger Codegeneratoren ist unter [CG] u finden.

Gang der Untersuchung:

Zu Beginn wird das Umfeld der Entstehung der Arbeit dargestellt und danach wird die Aufgabenstellung vorgestellt.

In Kapitel 2 folgt eine kurze Einführung in die generative Softwareentwicklung. Dabei werden die Themen: Computer-Aided Software Engineering, Model Driven Architecture (MDA) und Model Driven Software Development (MDSD) behandelt. Um die Konzepte der Model Driven Architecture verstehen zu können, werden einige Standards der OMG vorgestellt (UML, MOF, XML, XMI ).

In Kapitel 2.2.2 werden die MDA-Konzepte dargestellt. Abgeschlossen wird der theoretische Teil der Arbeit mit einem Vergleich von MDA und MDSD.

Im praktischen Teil wird der Aufbau und die Funktionsweise von AndroMDA, speziell der AndroMDA jBPM-Cartridge, beschrieben.

Zuerst wird in Kapitel 3.3 das Vorgehen mit CASE-Ansatz erläutert. Die Prozessmodellierung erfolgt beim CASE-Ansatz mit einem Plug-in für die Entwicklungsumgebung Eclipse anhand eines einfachen Beispielprozesses (JBay).

Der gleiche Beispielprozess wird in Kapitel 3.4 verwendet, um den MDA-Ansatz darzustellen. Beim MDA-Ansatz erfolgt die Modellierung auch mit einem CASE-Tool (MagicDraw).

Die Prozessbeschreibung wird dann aber mittels AndroMDA generiert. Der Aufbau des Quelltextgenerators AndroMDA wird in Kapitel 3.4.2 beschrieben. Besonders ausführlich wird auf die jBPM-Cartridge eingegangen, da mit ihr aus einem Prozessmodell eine Prozessbeschreibung generiert werden kann.

In Kapitel 3.4.3 wird eine Einführung in die Velocity Template Language (VTL) gegeben. Dies ist Notwendig, weil die so-genannten Templates ein wichtiger Bestanteil der jBPM-Cartridge sind. Auf diese Templates wird in Kapitel 3.4.4 näher eingegangen. In Kapitel 3.4.5 wird die Funktionsweise von AndroMDA beschrieben und danach die Prozessbeschreibung des Beispielprozesses JBay generiert.

Die Analyse der Ergebnisse wird in Kapitel 4 vorgenommen. Es wird auf die Unterschiede der Prozessmodellierungsvariaten eingegangen. Weiterhin werden zwei Prozessbeschreibungen miteinander verglichen. Diese zwei Prozessbeschreibungen wurden anhand eines zweiten Beispiels (einer Bestellungsbearbeitung) mit dem CASE-Ansatz bzw. mit dem MDA-Ansatz gewonnen. Das Kapitel 4 endet mit der Gegenüberstellung von Vor- und Nachteilen der MDA.

Im letzten Kapitel der Arbeit werden Schlussfolgerungen gezogen und ein Ausblick gegeben. Kapitel 5.1 beschäftig sich mit einigen Schritten die notwendig sind, um eine neue Cartridge für AndroMDA erstellen zu können.

Inhaltsverzeichnis:

1. Problemstellung 1
1.1 Kurze Danksagung und Vorstellung des IT Ser vices Center Bonn 1
1.2 Erläuterung der Aufgabenstellung 2
2. Einführung in die generative Softwareentwicklung 3
2.1 Computer-Aided Software Engineering (CASE) 3
2.2 Model Driven Architecture und Model Driven Software Development 4
2.2.1 Anmerkungen zu den Standards UML, MOF, XML, XMI 5
2.2.1.1 Unified Modelling Language (UML) 5
2.2.1.2 Meta Object Facility (MOF) 7
2.2.1.3 Extensible Markup Language (XML) 10
2.2.1.4 XML Metadata Interchange (XMI) 10
2.2.2 Vorstellung der MDA-Konzepte 15
2.2.2.1 Modelltransformationen 18
2.2.3 Vergleich von MDA und MDSD 22
3. Beschreibung des Vorgehens zur Aufgabenlösung 25
3.1 Die JBoss jBPM Workflowengine 25
3.2 Vergleichskriterien festlegen 26
3.3 Vorgehen mit CASE-Ansatz 26
3.3.1 Anforderungen und Analyse 26
3.3.2 Prozessmodellierung mit dem Graphical Process Designer 27
3.3.3 Einbindung von Ser vices in das Prozessmodell 30
3.3.4 JUnit Test 31
3.4 Vorgehen mit MDA-Ansatz 32
3.4.1 Entwicklungsprozess mit AndroMDA 32
3.4.2 Aufbau von AndroMDA 38
3.4.2.1 Aufbau der AndroMDA jBPM-Car tridge 41
3.4.3 Einführung in die Velocity Template Language (VTL) 43
3.4.4 Die Templates der jBPM-Car trigde 45
3.4.5 Funktionsweise von AndroMDA 47
3.4.6 Ein AndroMDA-Projekt mittels Projektgenerator erzeugen 49
3.4.7 AndroMDA einstellen 50
3.4.8 Anforderungen und Analyse 51
3.4.9 Prozessmodellierung mit MagicDraw 51
3.4.10 Prozessbeschreibung generieren 56
3.4.11 Nach der Codegenerierung 57
3.4.12 JUnit Test 59
4. Analyse der Ergebnisse 60
4.1 Unterschiede der Prozessmodellierungsvariaten 60
4.2 Vergleich zweier Prozessbeschreibungen 61
4.3 Vor und Nachteile von MDA 63
5. Schlussfolgerungen und Ausblick 65
5.1 Eine neue Car tridge erstellen 65
Index 67
A. Anhang 70
A.1 Typographische Konventionen der Arbeiten 70
A.2 Installationshinweise 71
A.3 Literaturverzeichnis 73
A.4 Internetquellen 74
A.5 Quelltexte und Diagramme 79
Eidesstattliche Erklärung 113

Automatisiert erstellter Textauszug:

In größeren Projekten ist das Vorgehensmodell entscheidend. Ein Entwicklungsprozess, der zwar unvollständig ist, sich aber in der Praxis bewährt hat, wird in [MDSD] vorgestellt. Beim Generativen Development Prozess (GDP) wird zuerst die Entwicklung der fachlichen Modelle (Analyse) und der technischen Modelle (Architektur) getrennt vorangetrieben. Bei der parallelen Entwicklung beider Entwicklungsstränge kann iterativ vorgegangen werden. Zusammengefügt werden die beiden Entwicklungsstränge dann im Design. Im Design wird die durch Analyse entstandene Fachlichkeit durch die Designsprache (die als Ergebnis aus dem Architekturstrang hervorgegangen ist) ausgedrückt. Anschließend erfolgt die Generierung und die Implementierung (von Hand erzeugter Code). Im letzten Schritt eines Inkrementes sind Tests durchzuführen. Wird für die Tests JUnit eingesetzt, müssen die Testklassen von Hand implementiert werden. Eine typische Vorgehensweise beim Umgang mit AndroMDA (bei Verwendung der gegebenen Cartridges) ist in Abbildung 3.4 abgebildet. [...]

JUnit ist ein oft eingesetztes Java-Framework um Tests zu strukturieren und automatisiert durchzuführen. Die Testmethoden werden in einer Klasse geschrieben, die von TestCase abgeleitet ist. Mehrere dieser Klassen können wiederum zu einer TestSuite zusammengefasst werden. Ein Feature der JBoss jBPM Workflowengine ist, dass das Abarbeiten von Servives mit einem JUnit Test kontrolliert werden kann. Bei Prozessbeginn gibt es die Variable „greetings“ in JBay noch nicht. Dies, und dass es die Variable „greetings“ nach dem Übergang in den Status „auction“ gibt, wird mit der Methode testActionHandler() überprüft. Der Prozessdurchlauf wird mit testProcess() getestet. Die Annahmen werden mit assertNotNull() und assertEquals() überprüft. Der Quellcode der Testklasse befindet sich im Anhang. [...]

Services können durch Java Code, die einen „ActionHandler“ implementieren, angeboten werden. Typische Beispiele für Services sind die Validierung von Eingabedaten oder das Updaten einer Datenbank. Man hat zwei Möglichkeiten, um Java Code in den Prozess einzubinden. Die erste Möglichkeit besteht darin, dass man eine „Action“ an ein „Call-Event“ bindet, welche dann z. B. bei der Ankunft am Knoten oder beim Verlassen eines Knotens, ausgelöst wird. Der Nachteil ist, dass Services, die an ein „Call-Event“ gebunden sind, den weiteren Prozessverlauf nicht beeinflussen können. Tritt ein „Call-Event“ ein, werden die Methoden eines „ActionHandlers“ ausgeführt. Die zweite Möglichkeit ist es, eine „Action“ an einen Knoten vom Typ „Node“ zu binden. Erreicht ein Prozess den Knoten vom Typ „Node“, wird der Service ausgeführt. Diese „Actions“ können die weitere Ausführung des Prozesses steuern. Hier ein Beispiel für einen ActionHandler, in dem eine Variable erzeugt wird: [...]

Arbeit zitieren:
Kleinert, Björn April 2006: Codegenerierung aus Prozessmodellen mittels des Eclipse-Plug-ins „JBoss Graphical Process Designer“ (Case-Ansatz) bzw. AndroMDA (MDA-Ansatz), Hamburg: Diplomica Verlag

Schlagworte:
Software-Entwicklung, MDA, UML, jBPM, Quelltextgenerator

Entdecken Sie mehr zum Thema

diplom.de
Bachelor + Master Publishing

Hermannstal 119 k
22119 Hamburg

Fon: +49 (0) 40 655992-0
Fax: +49 (0) 40 655992-22

Service-Telefon

Rufen Sie uns an:
+49 (0) 40 655992-0

Mo-Fr
09.00-16.00 Uhr

diplom.de in den Medien

Folgen Sie uns bei Twitter & werden Sie diplom.de-Fan bei Facebook!
Schreibtipps unserer Lektoren, Neuigkeiten aus dem Verlagsalltag und das Expertenwissen unserer Autoren als Tweet & Post!
Wir freuen uns auf Sie!

diplom.de BACHELOR + MASTER PUBLISHING

Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Magisterarbeiten, Dissertationen und andere Abschlussarbeiten aus allen Fachbereichen und Hochschulen können Sie bei uns als eBook sofort per Download beziehen oder sich auf CD oder als Buch zusenden lassen. Seit mehr als 15 Jahren ist diplom.de der seriöse, professionelle und erfolgreiche Partner für die Veröffentlichung wissenschaftlicher Abschlussarbeiten.

© Diplomica Verlag GmbH 1996-2011, AG Hamburg HRB 80293 - GF Björn Bedey, USt-IdNr.: DE214910002 - Verkehrsnummer: 12285 - Impressum
Index der Arbeiten - Index der Autoren