Diplomarbeit Im Fachbereich Elektrotechnik & Informatik . - HAW Hamburg

Transcription

MasterarbeitArazm HosienyKonzeption und Realisierung einesautomatisierten Java-Codegenerators basierendauf BPMN 2.0Fakultät Technik und InformatikDepartment InformatikFaculty of Engineering and Computer ScienceDepartment of Computer Science

Arazm HosienyKonzeption und Realisierung eines automatisiertenJava-Codegenerators basierend auf BPMN 2.0Masterarbeit eingereicht im Rahmen der Masterprüfungim Studiengang Informatikam Department Informatikder Fakultät Technik und Informatikder Hochschule für Angewandte Wissenschaften HamburgBetreuender Prüfer : Prof. Dr. Stefan SarstedtZweitgutachter : Prof. Dr. Olaf ZukunftAbgegeben am 13. Mai 2011

Arazm HosienyThema der MasterarbeitKonzeption und Realisierung eines automatisierten Java-Codegenerators basierendauf BPMN 2.0StichworteBPMN 2.0, Java, Codegenerator, MDA, ArchitekturKurzzusammenfassungDiese Masterarbeit beschäfigt sich mit der automatischen Generierung von JavaSourcecodes aus BPMN 2.0 Modellen. Die Codegenerierung basiert auf dem MDAKonzept. Für das Erreichen der Zielsetzung durchleuchtet der Autor die Grundlagender Themengebiete BPMN 2.0 und MDA. Darauf folgt eine Marktanalyse und eineRecherche existierender Ansätze. Resultierend aus den Ergebnissen kommt u.a. dieoAW-Plattform für die Realisierung der automatischen Codegenerierung zum Einsatz.Ebenfalls ein Bestandteil dieser Arbeit ist die Konzeption und Architektur. Eine großeHerausforderung stellen die Abbildungen der BPMN 2.0 Elemente aus einer Spezifikationsteilmenge in Java dar. Abschließend wird ein Prototyp realisiert und mit Hilfevon Testfällen getestet.Arazm HosienyTitle of the paperDesign and implementation of an automated Java code generator based on BPMN2.0KeywordsBPMN 2.0, Java, code generator, MDA, architectureAbstractThe objective of this master thesis is the automatic generation of Java-sourcecodesrelating to BPMN 2.0 models. The code generation is based on the MDA concept.In order to achieve this objective, the author scrutinises the basics of the areas ofBPMN 2.0 and MDA. In a next step, a market analysis is presented along with thefindings of research done with regard to the currently existing approaches. Based onthese, among other things, the oAW platform serving the realisation of the automaticcode generation is applied. A further part dealt with in the course of this thesis is theprovision of a conception and an architecture. Quite a big challenge is the depictionof of the BPMN 2.0 elements as part of a specification subset in Java. Finally, aprototype will be worked up and tested with the help of some test examples.

Ich widme diese Arbeit ganz besonderen Menschen;meiner Frau,meiner Mutter,meiner Schwiegermutter,meinem Vater †,und meinem Schwiegervater †.

DanksagungDer Entstehung dieser Arbeit standen viele Menschen zur Seite. An dieser Stelle möchte ichmich für die gute Betreuung, produktive Zusammenarbeit und für das ausführliche Feedbackwährend der Entstehung dieser Arbeit meinen besonderen Dank meinem betreuendenPrüfer Herrn Prof. Dr. Stefan Sarstedt von der Hochschule für Angewandte Wissenschaftenaussprechen. Dank dieser erfolgreichen Zusammenarbeit ist ein wissenschaftlich starkgefördertes Produkt entstanden. Ein Dankeschön geht ebenfalls an meinen ZweitgutachterHerrn Prof. Dr. Olaf Zukunft für sein stets großes Interesse und gute Empfehlungen.Im Weiteren herzlichen Dank an meine liebe Ehefrau Julia Hosieny, ebenfalls eine Masterstudentin der HAW, für ihre moralische Unterstützung und konstruktive Kritik bei der Entstehung dieser Masterarbeit. Sie hat mich von Anfang bis zum Ende des Masterstudiumsbegleitet und war immer eine starke Stütze. Ein weiterer Dank gilt an meine schätzenswerteMutter, Najiba Hosieny B.A., zu der ich immer hochgeschaut habe. Ein besonderer Dankgeht ebenfalls an meinen liebenswerten Neffen Behnam Subin, an meine hoch geschätztenSchwester Arian Subin und meinen liebenswürdigen Schwager Herrn Dr. Behrus Subin fürdie vielfältigen Hilfestellungen und die mentale Unterstützung.

rzeichnis10Listings111. Einleitung1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1.2. Aufgabenstellung und Zielsetzung . . . . . . . . . . . . . . . . . . . . . . .1.3. Gliederung der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121213142. Grundlagen2.1. BPMN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.1.1. Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.1.2. Ziel der Entwicklung und Anwendungsdomäne . . . . . . . . . .2.1.3. Historie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.1.4. Klassifikation der Prozess-Ebenen (-Levels) . . . . . . . . . . . .2.1.4.1. Descriptive modeling (Level I) . . . . . . . . . . . . . .2.1.4.2. Analytical modeling (Level II) . . . . . . . . . . . . . . .2.1.4.3. Executable modeling (Level III) . . . . . . . . . . . . . .2.1.5. BPMN 2.0 Spezifikation . . . . . . . . . . . . . . . . . . . . . . .2.1.5.1. BPMN 2.0 Basiselemente . . . . . . . . . . . . . . . . .2.1.5.2. Spezifikationsteilmenge, basierend auf einem Fallbeispiel2.2. Codegenerator und MDA . . . . . . . . . . . . . . . . . . . . . . . . . .2.2.1. Codegenerierung . . . . . . . . . . . . . . . . . . . . . . . . . .2.2.2. MOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2.2.3. Modell-Transformationen . . . . . . . . . . . . . . . . . . . . . .151515161617181818191921272829303. Anforderungsanalyse3.1. Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3.1.1. Technische Anforderungen . . . . . . . . . . . . . . . . . . . . . . .3.1.2. Fachliche Anforderungen . . . . . . . . . . . . . . . . . . . . . . . .32333335.

Inhaltsverzeichnis74. Marktanalyse und existierende Ansätze4.1. Marktanalyse der BPMN-Modellierungstools . . . .4.1.1. Intalio - BPMS Designer . . . . . . . . . .4.1.2. STP BPMN Modeler . . . . . . . . . . . .4.1.3. ARIS Express . . . . . . . . . . . . . . . .4.1.4. BIZAGI . . . . . . . . . . . . . . . . . . .4.1.5. Model Development Tools (MDT) . . . . . .4.1.6. Bewertung der BPMN-Modellierungstools .4.2. Marktanalyse für BPMN-Codegeneratoren . . . . .4.3. Existierende Ansätze für BPMN-Codegeneratoren4.3.1. Templates und Filtering . . . . . . . . . . .4.3.2. Templates und Metamodell . . . . . . . . .4.3.3. Code-Attribute . . . . . . . . . . . . . . .4.3.4. Cartridge und Metamodell . . . . . . . . .5. Systemdesign5.0.5. Der Translationisten Ansatz . .5.1. Architektur . . . . . . . . . . . . . .5.1.1. Komponentenbeschreibungen5.1.2. Externes Modellierungstool . .5.1.3. Kommunikations-Komponente5.1.4. Parser-Komponente . . . . .5.1.5. JDOM . . . . . . . . . . . . .5.1.6. Mapping-Komponente . . . .5.1.7. Präsentations-Komponente . .5.1.8. Persistenz-Komponente . . .5.1.9. Persistenter Speicher . . . . .5.1.10. Template-Komponente . . . .5.1.11. Metamodell . . . . . . . . . .5.1.12. OpenArchitectureWare (oAW)5.2. Verwendete Technologien . . . . . .6. Abbildung von BPMN 2.0 in Java6.1. Basiskonzept und Basisklassen6.1.1. Basiskonzept . . . . . .6.1.1.1. Kontrollfluss . .6.1.1.2. Verhaltenslogik6.1.2. Basisklassen . . . . . .6.1.2.1. Kontrollfluss . .6.1.2.2. Verhaltenslogik6.2. Flow Objects . . . . . . . . . 606161616263.656566666768697171

2828283838384848585858686868787887. Zusammenfassung und Ausblick7.1. Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7.2. Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Event (Start, Intermediate und End)6.2.1.1. Konzept . . . . . . . . . .6.2.1.2. Realisierung . . . . . . .6.2.2. Activity . . . . . . . . . . . . . . .6.2.2.1. Konzept . . . . . . . . . .6.2.2.2. Realisierung . . . . . . .6.2.2.3. Anmerkung . . . . . . . .6.2.3. Exclusive Gateway . . . . . . . . .6.2.3.1. Konzept . . . . . . . . . .6.2.3.2. Realisierung . . . . . . .6.2.3.3. Anmerkung . . . . . . . .6.2.4. Parallel Gateway . . . . . . . . . .6.2.4.1. Konzept . . . . . . . . . .6.2.4.2. Realisierung . . . . . . .6.2.4.3. Anmerkung . . . . . . . .Connecting Objects . . . . . . . . . . . .6.3.1. Sequence Flow . . . . . . . . . . .6.3.1.1. Konzept . . . . . . . . . .6.3.1.2. Realisierung . . . . . . .6.3.2. Message Flow . . . . . . . . . . .6.3.2.1. Konzept . . . . . . . . . .6.3.2.2. Realisierung . . . . . . .6.3.2.3. Anmerkung . . . . . . . .Swimlanes . . . . . . . . . . . . . . . . .6.4.1. Lanes . . . . . . . . . . . . . . . .6.4.1.1. Konzept . . . . . . . . . .6.4.1.2. Realisierung . . . . . . .6.4.2. Pool . . . . . . . . . . . . . . . . .6.4.2.1. Konzept . . . . . . . . . .6.4.2.2. Realisierung . . . . . . .Zusammenfassung der Abbildungen . . . .Testfälle . . . . . . . . . . . . . . . . . . .8A. Anhang.104

code generieren . . . . . . . .BPMN-Diagramm parsen und interpretierenBPMN-Diagramm-Output laden . . . . . .Java-Sourcecode ansehen . . . . . . . . .Java-Sourcecode ins Projekt importieren .37383939404.1. Modellierungstool Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . .4.2. MDA-Plattform Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . .48556.1. Zusammenfassung der Abbildungen . . . . . . . . . . . . . . . . . . . . . .87

ation der Prozess-Ebenen nach [Jakob Freund (2010)] . . .Darstellung der BPMN 2.0 Spezifikationselemente als BaumgraphenFallbeispiel für ein Logistiksystem . . . . . . . . . . . . . . . . . .OMG four-layer [X. Blanc (2000)] . . . . . . . . . . . . . . . . . . .MDA Grundprinzipien [Peter Roßbach (2003)] . . . . . . . . . . . .17202229303.1. Anwendungsfall-Diagramm . . . . . . . . . . . . . . . . . . . . . . . . . . .364.1.4.2.4.3.4.4.434950545.1. Konzept und Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . .586.1.6.2.6.3.6.4.6.5.6.6.677089909192Intalio - BPM Architektur .Templates und Filtering . .Templates und MetamodellArchitektur des AndroMDA.Zustands-Pattern laut Ehrich Gamma . . . . . . . . . .Parallel ausgeführte Controller-Instanzen . . . . . . . .Prozess: Verschiffungsunternehmen . . . . . . . . . . .Prozess: Reederei . . . . . . . . . . . . . . . . . . . .Stellenausschreibung [Allweyer (2009b)] . . . . . . . . .Abbildung der Stellenausschreibung als UML-Diagramm.

Listings4.1.4.2.4.3.4.4.4.5.4.6.Allgemeine Struktur von Template-DateienXpand - IMPORT . . . . . . . . . . . . . .Xpand - EXTENSION . . . . . . . . . . .Xpand - LET . . . . . . . . . . . . . . . .Xpand - FOREACH . . . . . . . . . . . . .Xpand - Kommentare . . . . . . . . . . . .5152525253536.1.6.2.6.3.6.4.6.5.Java-Code: Activity . . . . . . . .Template-Code: Activity . . . . .Java-Code: Exclusive Gateway . .Java-Code: Parallel Gateway . . .Template-Code: Parallel Gateway.7474778081.

1. EinleitungDie computerunterstützte Informationsverarbeitung sorgt für ein digitales Umfeld der neuen Generation. Mit ihrer Unterstützung sind zum ersten Mal in der Geschichte komplexemiteinander verwobene Arbeitsvorgänge automatisch steuerbar. Der digitalen Informationsverarbeitung ist ebenfalls der technische Fortschritt in den letzten 50 Jahren und somit dieSteigerung der Produktivität zuzurechnen [Thome (2006)]. Seitdem sind ständig wachsendeAnforderungen und eine zunehmende Komplexität der Softwaresysteme zu erkennen. ZurBewältigung komplexer Anforderungen sind Lösungskonzepte erforderlich, die die Komplexität der Anwendungen handhabbar machen.1.1. MotivationDie internationale Standardisierungsorganisation Object Management Group (OMG), gegründet im Jahre 1989, gilt inzwischen als ein offenes Konsortium mit ca. 800 Firmenweltweit. Sie stellt die erforderlichen Konzepte und Technologien unter dem Begriff ModelDriven Architecture (MDA) dar [oAW (2011)]. Mit dem MDA-Ansatz verschiebt die OMGInitiative den Fokus bei der Software-Entwicklung aus Manual erzeugtem Code auf dieModellierung [Thomas O. Meservy (2005)]. Es werden Technologien zur Qualitätssicherung,Kostenreduktion und Komplexitätsreduktion erarbeitet, die auf der Metaebene basieren. D.h.es sollen durch Formalisierung von Modellen mit Hilfe von Generatoren automatisch Codesgeneriert werden (Modellieren anstatt Programmieren) [Roland Petrasch (2006)] [Frankel(2003)].Es existieren mittlerweile auf der Basis der MDA viele Modellierungswerkzeuge, die Plattform unabhängige Modelle entwickeln. Ein renommiertes Beispiel für die Modellierung vonKlassendiagrammen stellt die UML dar, und im Bereich der Geschäftsprozessmodellierunghat sich Business Process Modeling Notation (BPMN) bewährt. Business Process Modeling Notation mit der Version 2.0 (BPMN 2.0) ist ebenso eine von der OMG und WorkflowManagement Coalition (WfMC) entwickelte Modellierungssprache zur Darstellung von Geschäftsprozessen [OMG (2011)].

1. Einleitung13Es existieren viele unterschiedliche Sprachen, mit denen Softwaresysteme entwickelt werden können. Heutzutage kommen in den meisten Fällen höhere Programmiersprachen zumEinsatz, da sie den Entwicklungsaufwand gegenüber anderen Programmiersprachen (LowLevel-Sprachen) schmälern. Des Weiteren bietet das objektorientierte Konzept eine großeUnterstützung in der Entwicklung und Wartung von Softwaresystemen. Dieses Konzept verfolgt den Ansatz, komplexe Systeme in Komponenten und die Komponenten wiederum inObjekte aufzuteilen [E.-E. Doberkat (2002)]. Die Aufteilung erfolgt in logisch abgegrenztenEinheiten, und die Kommunikation zwischen den Einheiten verläuft unter klar definiertenSchnittstellen. Zu dem objektorientierten Konzept gehört ebenfalls die Wiederverwendungvon Elementen. Infolgedessen unterstützt die Objektorientierung die Verständlichkeit desSystems und somit die Handhabung. Java ist eine weitverbreitete objektorientierte höhereProgrammiersprache, die die erwähnten Eigenschaften aufweist.Die Motivation dieser Masterarbeit ist die automatische Überführung von Geschäftsprozessen in Softwaresysteme. Zu diesem Zweck sollen die oben erwähnten Themengebiete vereinigt werden. Mittels der MDA-Ansätze sollen Geschäftsprozesse, die mit Hilfe von BPMNmodelliert werden, durch die Generierung von Java-Sourcecode in Softwaresysteme überführt werden. Der Generator soll für die Generierung von Softwareanwendungen, basierendauf kleineren Geschäftsprozessen, genutzt werden, um die Entwickler bei ihrer Arbeit zuentlasten, wobei Veränderungen von Unternehmensprozessen, sowie die Entwicklung neuer Geschäftsprozesse von bereits bestehenden Systemen inbegriffen sind. Zudem soll derGenerator ebenso für Studenten oder ähnliche Lerngruppen zum Einsatz kommen, bei denen im Vordergrund das Verstehen und Erlernen der Modellierung von Geschäftsprozessenunter Verwendung von BPMN 2.0 stehen.1.2. Aufgabenstellung und ZielsetzungDas Hauptziel dieser Masterarbeit unter diesen Voraussetzungen ist zum einen die Erarbeitung eines geeigneten Systemdesigns und einer Architektur zur Realisierung eines JavaSourcecode-Generators, zum anderen die Konzeption zur Abbildung von BPMN 2.0 Elementen in Java. Um detailliert auf die Abbildungen der BPMN 2.0 Elemente eingehen zu können,wird eine Spezifikationsteilmenge, basierend auf einem Fallbeispiel, gebildet. Der Generator soll den Namen BPMN-to-Java-Sourcecode-Generator, abgekürzt B2JSG, tragen. DesWeiteren sind für die Zielsetzung einige ergänzende nützliche Schritte durchzuführen. Zunennen sei u.a. die Durchführung einer Marktanalyse und die Überprüfung existierenderAnsätze, um zu untersuchen, mit welchen existierenden Ansätzen die Realisierung diesesSystems möglich ist. Die unterschiedlichen Alternativen für die Umsetzung des B2JSG sollenuntersucht und einige verwendet werden. Die folgenden Punkte legen die Rahmenbedingungen für diese Masterarbeit fest.

1. Einleitung141.3. Gliederung der ArbeitDie Arbeit ist in sieben Kapitel unterteilt: Das zweite Kapitel schneidet die Grundlagen der BPMN 2.0 an. Es wird erörtert, zuwelchem Zweck sich der Einsatz von BPMN eignet. Daraufhin wird eine Spezifikationsteilmenge der BPMN 2.0 Elementen vorgestellt. Zu den Grundlagen gehören ebenfallsdie MDA-Konzepte. Im dritten Kapitel folgt eine Anforderungsanalyse. Es werden die technischen und fachlichen Anforderungen aufgestellt In Kapitel vier wird eine Marktanalyse für BPMN-Modellierungstools durchgeführt. Anschließend folgt eine Marktanalyse und eine Überprüfung/Bewertung existierender Ansätze von Codegeneratoren. Das fünfte Kapitel beschäftigt sich mit dem Systemdesign. Das Systemdesign umfasstdie Erarbeitung einer geeigneten Architektur auf Basis der Anforderungen und derErgebnisse der Marktanalyse. Abschließend folgen eine Aufzählung der verwendetenTechnologien und deren Entscheidungshintergrund. Im vorletzten Kapitel folgt das Abbildungskonzept der BPMN 2.0 Elemente aus derSpezifikationsteilmenge in Java. In der Abbildungskonzeption wird ebenfalls auf dieRealisierung eingegangen und auf auftretende Problematiken und Hinweise hingewiesen. Am Ende dieses Kapitels werden die Testfälle dargestellt. Die Masterarbeit schließt in Kapitel sieben mit einem Fazit und der Erörterung allerrelevanten Ergebnisse ab. Die Arbeit schließt mit dem Ausblick ab.

2. GrundlagenIm Kapitel Grundlagen werden die relevanten Themenbereiche dieser Masterarbeit für dasGrundverständnis behandelt. Diese Themenbereiche umfassen BPMN 2.0 und die Codegenerierung. Sie legen somit das Fundament für die folgenden Kapitel. Im ersten Abschnitt desKapitels wird einleitend auf die BPMN-Definition eingegangen, gefolgt von der Darstellungder Nutzbarkeit und der Vorstellung der Klassifikation des Prozesses auf verschiedenenEbenen. Anschließend wird eine Teilmenge der BPMN-Spezifikationselemente, basierendauf einem Logistikprozess eines Unternehmens, bestimmt und im Detail erläutert. Im zweiten Teil dieses Kapitels wird auf die Codegenerierung eingegangen. In diesem Kontext wirdauch ein Einblick in MDA und MOF gewährt.2.1. BPMNAn dieser Stelle wird die Definition der Modellierungssprache für Geschäfsprozesse (BPMN)präsentiert.2.1.1. DefinitionThe Object Management Group (OMG) has developed a standard Business Process Modeling Notation (BPMN). The primary goal of BPMN is to provide a notation that is readilyunderstandable by all business users, from the business analysts that create the initial draftsof the processes, to the technical developers responsible for implementing the technologythat will perform those processes, and finally, to the business people who will manage andmonitor those processes. Thus, BPMN creates a standardized bridge for the gap betweenthe business process design and process implementation [Group (2010)].Der Autor hat, wie oben zu erkennen ist, die Definition von OMG als Quelle angegeben,da die OMG BPMN 2.0 spezifiziert hat. Er ist bei der Recherche auf weitere Definitionen

2. Grundlagen16gestoßen [Remco M. Dijkman a (2008)] [Jan Recker (2005)], die im Wesentlichen auf dieDefinition der OMG zurückzuführen sind.2.1.2. Ziel der Entwicklung und AnwendungsdomäneDas primäre Ziel zur Entwicklung eines Standards für alle Business-Anwender wurde mitder ersten Version der BPMN-Spezifikation im Jahr 2004 unter der Leitung von StephenA. White von IBM verwirklicht [Stephen A. White (2004)]. Sie eignet sich sowohl für dieBusiness-Analysten, die die ersten Entwürfe der Prozesse kreieren, als auch für die technischen Entwickler, die für die Implementierung und Umsetzung der Technologie verantwortlich sind. Darüber hinaus erfüllt BPMN die Anforderungen des Managements zur Verwaltungund Überwachung der Prozesse. BPMN folgt der Tradition der Flussdiagramm-Notationen,dadurch findet sie eine hohe Akzeptanz bei den Business-Anwendern [Silver (2009)] [Group(2010)]. Im Folgenden wird vertiefend darauf eingegangen.2.1.3. HistorieHistorisch gesehen hatte vor der Entwicklung der BPMN jedes Unternehmen seine individuellen Schreibweisen, Methoden und Werkzeuge. Bei der Entwicklung der BPMN wurdevon der Business Process Management Initiative (BPMI), einem Konsortium aus Vertreternvon Software-Unternehmen, eine standardisierte grafische Notation zur Darstellung vonProzessbeschreibungen angestrebt. Daher hat das BPMI-Team die besten Ideen aus vielenunterschiedlichen Notationen auf dem Markt in einer einzigen Notation konsolidiert. Inzwischen ist die BPMI ein Bestandteil der Object Management Group (OMG). Die OMG und dieWorkflow Management Coalition stehen bei der Entwicklung und Forschung miteinander inKooperation [Group (2010)] [Allweyer (2008)].Die BPMN-Notation erbt und kombiniert Elemente aus einer Reihe von bisher vorgeschlagenen Notationen zur Geschäftsprozessmodellierung, darunter ebenso die XMLProcess Definition Language (XPDL) und Komponenten der Aktivitätsdiagramme der Unified Modeling Notation (UML). Die BPMN Prozessmodelle bestehen aus Aktivitäts-Knoten,sie modellieren Geschäftsereignisse, die die geleistete Arbeit von Menschen oder vonSoftware-Anwendungen darstellen. Die Kontrollknoten regeln die Ablaufsteuerung zwischenden Aktivitäten. Aktivitäts- und Kontrollknoten können mittels Sequenz- und Message-Flüssein beliebiger Weise verbunden werden [Remco M. Dijkman a (2008)]. Im Verlauf dieser Arbeitwerden einige Spezifikationselemente 2.1.5 detailliert erläutert. BPMN wurde mit einer soliden mathematischen Grundlage entwickelt, so dass mit ihrer Hilfe eine präzise Ausführung

2. Grundlagen17der Sprache erzeugt werden kann [Silver (2009)].2.1.4. Klassifikation der Prozess-Ebenen (-Levels)Von Silver und Freund werden BPMN-Prozesse in verschiedene Ebenen (Levels) unterteilt[Silver (2009)] [Jakob Freund (2010)]. Die Klassifikationen stellen den Detaillierungsgradvon Prozessen dar, sind jedoch kein Bestandteil der BPMN-Spezifikation [Group (2010)].Silver unterteilt BPMN-Prozesse in drei Ebenen, Freund dagegen in vier. Die ersten beidenEbenen von Freund ähneln der Darstellung vom Silver. Die dritte Ebene von Silver entsprichtder dritten und vierten Ebene von Freund. Nachfolgend werden die Ebenen laut Freund inder Abbildung 2.1.4 grafisch dargestellt, die ebenso die Ebenen laut Silver darstellen, mit derAusnahme, dass die Ebenen drei und vier der Ebene drei von Silver entsprechen. Im oberenBereich der Pyramide ist die fachliche Sicht und unten die technische Sicht zu erkennen.Abbildung 2.1.: Klassifikation der Prozess-Ebenen nach [Jakob Freund (2010)]

2. Grundlagen18Die Klassifikation der Prozess-Ebenen ist für diese Masterarbeit ebenfalls von Relevanz, daim Verlauf dieser Arbeit zu untersuchen ist, welcher Detaillierungsgrad zu wählen ist. Es istebenfalls entscheidend, für welche Anwendergruppen sich der Codegenerator am besteneignet. Zunächst wird auf die Klassifikation der Ebenen eingegangen und später wird überdie Zuordnung des Codegenerators auf einer Ebene reflektiert.2.1.4.1. Descriptive modeling (Level I)In der ersten BPMN-Ebene (beschreibende Modellierung) geht es um das Dokumentierendes Prozessablaufs. Sie verwendet einige Basis Elemente der BPMN-Notation, die durchwegs von traditionellen Flussdiagrammen zur Beschreibung der Reihenfolge der Aktivitätenund ihrer Zugehörigkeit bzw. Verantwortlichkeit in der Organisationseinheit bekannt seindürften. Ausnahmepfade und/oder Regeln, die in der BPMN-Spezifikation vorgeschriebensind, können hierbei ignoriert werden. Die Modellierung auf Level I erlaubt eine Verfeinerungin Level II und Level III, sodass keine größeren strukturellen Veränderungen vorgenommenwerden müssen.2.1.4.2. Analytical modeling (Level II)BPMN Level II (analytische Modellierung) nutzt die komplette BPMN-Notation, um denProzessablauf präziser zu beschreiben, einschließlich der Ausnahmepfade, die für dieKey Performance Indikatoren wichtig sind. Auf dieser Ebene sind die Modelle nicht ausführbar. Sie vernachlässigen technische Details der Spezifikation (Datenstrukturen undAusdrücke). Sie sind erforderlich, um das Modell auf einer Prozess-Engine ausführen zukönnen. BPMN Level II spiegelt eine business-orientierte Perspektive wider und wird vonBusiness-Analysten verstanden.2.1.4.3. Executable modeling (Level III)BPMN Level III (ausführbare Modelle) ist vergleichbar mit der zweiten Ebene, mit dem Unterschied, dass die ausführbaren Details vollständig in BPMN-Standard-Attribute realisiertsind. Dieses Level umfasst Level III und IV des Freund‘schen Denkansatzes. Das erzeugteModell weist einen hohen Detaillierungsgrad auf Level drei auf, sodass es direkt zur Automatisierung eines Geschäftsprozesse verwendet werden kann [Grass (2010)].

2. Grundlagen19Ein grundlegendes Ziel der OMG Model Driven Architecture (MDA) ist, Systeme mit grafischen Modellen anstatt der Codierung, zu erzeugen. Dieses ist ebenfalls das Ziel dieser Masterarbeit. BPMN auf der Ebene III ist ausgerichtet auf Entwickler, nicht auf SWArchitekten oder Analysten. Die automatisierte Generierung eines Systems erfordert einensehr hohen Detaillierungsgrad. Es wird das Ziel angestrebt, Entwickler in die Lage zu versetzen, aus einem BPMN-Diagramm (Modell) mit Hilfe des Codegenerators ein System oderTeile eines Systems zu erstellen. Für die Umsetzung des Codegenerators käme Level III inFrage.2.1.5. BPMN 2.0 SpezifikationWie bereits erwähnt, ist BPMN 2.0 durch die OMG spezifiziert. Das nachfolgende Unterkapitel umfasst einen Einblick in die Spezifikationselemente der BPMN 2.0. Basierend aufeinem Fallbeispiel 2.3, wird eine Teilmenge der Spezifikationselemente bestimmt. Unteranderem soll es möglich sein, aus diesem Fallbeispiel am Ende der Realisierung 6.6 denJava-Sourcecode zu generieren. Für einen detaillierteren Einblick wird auf die BPMNSpezifikation [Group (2010)] der OMG verwiesen.2.1.5.1. BPMN 2.0 BasiselementeDie OMG teilt die Spezifikationselemente der BPMN 2.0 in fünf Basiskategorien ein. Abbildung 2.2 stellt die fünf Basiskategorien als Baumgraphen mit den Zweigen und Blättern dar.Die Blätter entsprechen den Spezifikationselementen, die wiederum weitere Unterelementebeinhalten können.Im Folgenden werden die fünf verschiedenen Basiskategorien der BPMN 2.0 Notationselemente vorgestellt.Flow ObjectsFlow Objects sind eine der wichtigsten Basiselemente, mit denen das Verhalten von Business Prozessen definiert werden kann. Sie werden in drei Flow Objekte (Events, Activitiesund Gateways) unterteilt. Im Baumgraphen sind sie als Blätter der Flow Objekte abgebildet.DataData spezifizieren die Kommunikation zwischen Prozessen. Sie bieten Activities die Möglichkeit, gespeicherte Informationen außerhalb der Prozessgrenzen abzurufen oder zu aktualisieren, wobei Activities die zu verrichtende Arbeit sind, die in einem Unternehmensprozess

2. Grundlagen20Abbildung 2.2.: Darstellung der BPMN 2.0 Spezifikationselemente als Baumgraphendurchgeführt wird. Darauf wird später näher eingegangen. Ebenso dienen sie der Datenmodellierung. Zum Beispiel wird bestimmt, ob persistente Daten ein- (Input) oder abfließen(Output). Das Lesen eines Dokuments wäre in diesem Fall der Input und das Erstellen oderBearbeiten der Output.Connecting ObjectsEs existieren vier Möglichkeiten, Flow Objects miteinander oder mit Informationen zu verbinden. Diese Möglichkeiten werden unter dem Begriff Connection Objects zusammengefasst.Einige dieser Verbindungsobjekte sind für das Erstellen des Fallbeispiels 2.3 unbedingt erforderlich.SwimlanesIn einem BPMN-Diagramm können mehrere miteinander kommunizierende Prozesse modelliert werden. Swimlanes abstrahieren die beiden existierenden Alternativen; Pools undLanes.ArtifactsArtifacts werden verwendet, um zusätzliche Informationen über den Prozess zu liefern. Eswird zwischen zwei standardisierten Artifacts unterschieden, aber es ist den Modellierernoder den Modellierungstools freigestellt, so viele Artifacts hinzuzufügen, wie sie benötigen.Es könnte eine zusätzliche Aufgabe darin bestehen, eine größere Anzahl von Artifacts zustandardisieren, der für den generellen Gebrauch anwendbar wäre. Die aktuelle Liste vonArtifacts beinhaltet „Group“ und „Text Annotation“.

2. Grundlagen212.1.5.2. Spezifikationsteilmenge, basier

hat sich Business Process Modeling Notation (BPMN) bewährt. Business Process Mode-ling Notation mit der Version 2.0 (BPMN 2.0) ist ebenso eine von der OMG und Workflow Management Coalition (WfMC) entwickelte Modellierungssprache zur Darstellung von Ge-schäftsprozessen [OMG(2011)].