Agnes Koschmider Ähnlichkeitsbasierte Modellierungsunterstützung für Geschäftsprozesse
Ähnlichkeitsbasierte Modellier...
34 downloads
998 Views
3MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Agnes Koschmider Ähnlichkeitsbasierte Modellierungsunterstützung für Geschäftsprozesse
Ähnlichkeitsbasierte Modellierungsunterstützung für Geschäftsprozesse von Agnes Koschmider
Dissertation, genehmigt von der Fakultät für Wirtschaftswissenschaften der Universität Fridericiana zu Karlsruhe, 2007 Referent: Prof. Dr. Andreas Oberweis Korreferent: Prof. Dr. Hagen Lindstädt
Impressum Universitätsverlag Karlsruhe c/o Universitätsbibliothek Straße am Forum 2 D-76131 Karlsruhe www.uvka.de
Dieses Werk ist unter folgender Creative Commons-Lizenz lizenziert: http://creativecommons.org/licenses/by-nc-nd/2.0/de/
Universitätsverlag Karlsruhe 2007 Print on Demand ISBN: 978-3-86644-188-0
Vorwort Die Ergebnisse dieser Arbeit wurden während meiner Tätigkeit als wissenschaftliche Mitarbeiterin am Institut für Angewandte Informatik und Formale Beschreibungsverfahren (AIFB) an der Universität Karlsruhe (TH) erzielt. Mein besonderer Dank gilt meinem Doktorvater Prof. Dr. Andreas Oberweis, der mir viel freien Raum für meine Forschung gelassen hat. Seine ständige Bereitschaft, auf meine jeweiligen Probleme einzugehen, war für mich eine große Bereicherung. Prof. Dr. Dr.h.c Wolffried Stucky danke ich für seine freundliche Unterstützung während meiner gesamten Zeit am Institut AIFB. Ebenso bedanke ich mich bei Prof. Dr. Hagen Lindstädt für die Übernahme des Korreferates sowie bei Prof. Dr. Rudi Studer und Prof. Dr. Karl-Heinz Waldmann für die Begleitung meiner mündlichen Prüfung. Allen meinen Kollegen danke ich für ihre Hilfsbereitschaft und gute Zusammenarbeit in sehr angenehmer Atmosphäre. Stefanie Betz möchte ich danken, dass sie stets Zeit hatte, sich meine Ideen anzuhören und diese kritisch zu hinterfragen. Sehr danken möchte ich Dr. Marco Mevius, der mir mit seinen zahlreichen Hinweisen stets als wertvoller Mentor während meiner gesamten Zeit am Institut AIFB zur Seite stand. Ein besonderer Dank gilt Dr. Daniel Sommer für das zügige und gründliche Korrekturreferat und die konstruktiven Verbesserungsvorschläge. Dank gilt auch den zahlreichen Studien–, und Diplomarbeitern für ihre engagierte Mitarbeit. Ich danke auch allen meinen Koautoren für die stets fruchtbare Zusammenarbeit: Stefanie Betz, Emmanuel Blanchard, Saartje Brockmans, Rebecca Bulander, Marc Ehrig, Thomas Hornung, Thomas Karle, Stefan Klink, Yu Li, Jan Mendling, Marco Mevius, Andreas Oberweis, Daniel Ried, Ute Rusnak, Daniel Sommer, Rudi Studer, Ralf Trunko und Markus Zaich. Meinen Freundinnen Wasiliki Bouka, Cathleen Kassun, Daniela Kölbel, Silvia Naether, Silke Philipps, Dr. Tatjana Podgayetskaya, Bettina Sachse und Nadine Wellermann danke ich, dass sie mich immer zu meiner Arbeit motiviert haben. Vor allem möchte ich Heike Frankenberger danken, die mich in jeder Lebenssituation ihren Rückhalt hat spüren lassen. Meinen Eltern danke ich für ihre uneingeschränkte Unterstützung, meine persönlichen Ziele jederzeit verfolgen zu können. Meiner Schwester Margarethe danke ich, dass sie stets jeden Schritt meiner Ausbildung gefördert hat. Meinem Bruder Thomas danke ich für die vielen Gespräche zu Metathemen und für seine Begeisterung, die er immer für meine Ideen aufgebracht hat. Nicht zuletzt gilt mein ganz besonderer Dank meinem Freund Alexander Paar. Seine breite Allgemeinbildung und vor allem sein umfangreiches Wissen auf dem Gebiet der Informatik haben mir in den entsprechenden Situationen die Augen geöffnet. Er hat dazu beigetragen, dass ich nicht nur im Alltag sondern auch bei der wissenschaftlichen Arbeit Probleme sorgfältiger löse. Karlsruhe, August 2007 Agnes Koschmider
II
Inhaltsverzeichnis
1
Einleitung.................................................................................. 1
1.1
Problemstellung ...................................................................... 1
1.2
Ziel der Arbeit ......................................................................... 4
1.3
Aufbau der Arbeit.................................................................... 7
2 2.1
2.1
2.3
3 3.1
3.2
Grundlagen ............................................................................. 11 Ontologie .............................................................................. 11
2.1.1 2.1.2
Der Ontologiebegriff ................................................................ 14 Sprachen zur Modellierung von Ontologien ................................. 17
Geschäftsprozesse ................................................................ 31
2.2.1 2.2.2 2.2.3
Zweck der Geschäftsprozessmodellierung ................................... 32 Sprachen zur Modellierung von Geschäftsprozessen ..................... 33 Vergleich von Sprachen zur Modellierung von Geschäftsprozessen . 48
Modellierungsunterstützung ................................................. 48
2.3.1 2.3.2 2.3.3 2.3.4
Einführung............................................................................. 48 Anforderungen ....................................................................... 52 Namenskonventionen .............................................................. 54 Komponenten......................................................................... 54
Semantische Beschreibung von Geschäftsprozessmodellen .... 58 XML-basiertes Austauschformat für Petri-Netze ................... 58
3.1.1 3.1.2
Austauschformat für elementare Petri-Netze ............................... 59 Austauschformat für höhere Petri-Netze ..................................... 66
OWL-basiertes Beschreibungsformat für Petri-Netze ............ 71
3.2.1 3.2.2 3.2.3 3.2.4
Definition von Konzepten und Eigenschaften ............................... 73 Konzeption einer Ontologie für Petri-Netze ................................. 76 Instanzmodellierung................................................................ 81 Eigenschaften der Pr/T-Netz-Ontologie....................................... 82
3.3 Untersuchung bestehender Ansätze zur semantischen Beschreibung von Geschäftsprozessmodellen ................................ 82
4 Der Ähnlichkeitsbegriff für semantische Geschäftsprozessmodelle.............................................................. 90 4.1
Einführende Beispiele ........................................................... 90
4.2
Definition Ähnlichkeit............................................................ 92
4.3
Bestehende Ansätze.............................................................. 92 III
4.3.1 4.3.2 4.3.3 4.3.4 4.3.5
Eigenschaftsbasierte Ähnlichkeit ............................................... 93 Syntaktische Ähnlichkeit .......................................................... 95 Informationsbasierte Ähnlichkeit ............................................... 96 Ähnlichkeitsmetriken für Abstraktionsgrade ................................ 97 Zusammenfassung der Ähnlichkeitsmetriken .............................100
4.4 Unterschiede zwischen Ähnlichkeitsmaßen für Ontologien, Textdokumente und Geschäftsprozessmodelle.............................101 4.5
Hintergrundwissen..............................................................103
4.6
Ähnlichkeitsmaße für semantische Geschäftsprozessmodelle 104
4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7
Syntaktische Ähnlichkeit .........................................................105 Linguistische Ähnlichkeit .........................................................106 Strukturelle Ähnlichkeit ..........................................................108 Abstraktionsniveaubasierte Ähnlichkeit .....................................111 Kombinierte Ähnlichkeit ..........................................................112 Gesamtähnlichkeit .................................................................113 Ähnlichkeitsalgorithmus..........................................................114
5 SiMQL- eine Anfragesprache für Ähnlichkeitsmaße und eine Modellierungsunterstützung für Geschäftsprozesse ................. 116 5.1 5.2
5.3
5.4
Bestehende Anfragesprache für OWL ..................................116 OWL-basierte Anfragesprache für Ähnlichkeitswerte ..........118
5.2.1 5.2.2
Anfragetypen ........................................................................119 Grammatik ...........................................................................123
Anforderungen an die OWL-basierte Anfragesprache..........127
5.3.1 5.3.2
Allgemeine Anforderungen ......................................................127 Spezielle Anforderungen .........................................................131
Ausdrucksmächtigkeit .........................................................133
6 Konzeption einer Empfehlungskomponente zur Modellierungsunterstützung von Geschäftsprozessen................. 135 6.1
6.2
6.3
IV
Geschäftsregeln ..................................................................135
6.1.1 6.1.2
Klassifikation von Geschäftsregeln ...........................................135 Konsistenz von Geschäftsregeln...............................................139
Konzeption ..........................................................................140
6.2.1 6.2.2
Semantic Web Rule Language .................................................140 Automatische Geschäftsprozessergänzung.................................142
Ähnlichkeitsbasierte Empfehlungskomponente ...................148
6.3.1 6.3.2
Berücksichtigung von Geschäftsregeln ......................................148 Berücksichtigung des Abstraktionsgrades ..................................151
7 Evaluierung von Ähnlichkeitsmaßen und der Modellierungsunterstützung für Geschäftsprozesse.................... 160 7.1
Klassifikation von Verfahren des maschinellen Lernens ...... 160
7.1.1 7.1.2
Neuronale Netze ................................................................... 161 Clusteranalyse...................................................................... 166
7.2
Vorgehensmodell für die Evaluation.................................... 171
7.3
Ergebnisse der Evaluation................................................... 172
7.3.1 7.3.2 7.3.3 7.3.4
Generelles ........................................................................... Aufbereitung der erhobenen Daten .......................................... Anwendung von Verfahren des maschinellen Lernens ................. Analyse und Interpretation der erhobenen Daten.......................
173 175 182 197
8 Entwicklung eines Prototyps für die Modellierungsunterstützung von Geschäftsprozessen.............................................................. 200 8.1 Inhaltliche und technische Anforderungen............................. 200 8.2 Komponenten des Prototyps .................................................. 202 8.2.1 8.2.2 8.2.3
Entwicklungskomponente....................................................... 202 Logikkomponente ................................................................. 206 Präsentationskomponente ...................................................... 212
9 Anwendungsszenarien für semantische Geschäftsprozessmodelle und Ähnlichkeitsmaße ........................ 214 9.1 Integration verschiedener semantischer Geschäftsprozessmodelle............................................................. 214 9.1.1 9.1.2
Vorgehensweise.................................................................... 214 Realisierung ......................................................................... 218
9.2
Berechnung der Ähnlichkeit zwischen EPKs und Petri-Netzen 220
10
Schlussüberlegungen und Ausblick .................................... 222
10.1
Zusammenfassung ........................................................... 222
10.2
Hauptbeitrag .................................................................... 225
10.3
Technische Grenzen des Forschungsansatzes .................. 226
10.4
Methodische Grenzen des Forschungsansatzes ................ 227
10.5
Ausblick ........................................................................... 229
Literaturverzeichnis .................................................................... 231
V
Anhang........................................................................................ 243 Anhang A
OWL-Serialisierung erweitert um SWRL-Teil ..............243
Anhang B
Initiale SWRL Regeln .................................................252
Anhang C
Evaluation ..................................................................253
Abbildungsverzeichnis ................................................................. VII
Tabellenverzeichnis......................................................................... X
Quelltextauszüge ...........................................................................XI
Definitionen ................................................................................. XII
Index .......................................................................................... 264
VI
Abbildungsverzeichnis Abbildung 1: Beispiel für eine Modellierungsunterstützung für Geschäftsprozesse................3 Abbildung 2: Aufbau der Arbeit.................................................................................. 10 Abbildung 3: Das semiotische Dreieck ........................................................................ 12 Abbildung 4: Begriffsbeispiel ..................................................................................... 12 Abbildung 5: Beispiel für eine Application-Ontologie...................................................... 17 Abbildung 6: Einfache RDF-Aussage ........................................................................... 24 Abbildung 7: Zusammenhang zwischen Beschreibungslogik-basierten Sprachen ............... 31 Abbildung 8: Konstrukte einer EPK ............................................................................. 34 Abbildung 9: Metamodel von BPEL ............................................................................. 35 Abbildung 10: Metamodell von XPDL .......................................................................... 37 Abbildung 11: Ein Petri-Netz ..................................................................................... 39 Abbildung 12: Beispiel einer Vergröberung von
N
zu
ˆ N
und
N' . ................................... 40
Abbildung 13: Sequenzieller Ablauf ............................................................................ 40 Abbildung 14: Paralleler Ablauf .................................................................................. 41 Abbildung 15: Konfliktsituation .................................................................................. 41 Abbildung 16: Iteration ............................................................................................ 41 Abbildung 17: Hierarchisches Petri-Netz mit verfeinerten Transitionen............................. 42 Abbildung 18: Modellierung eines Geschäftsprozesses mit einem Pr/T-Netz ...................... 44 Abbildung 19: Modellierung eines Geschäftsprozesses mit XML-Netzen ............................ 45 Abbildung 20: Analysemethoden für Geschäftsprozesse, insbesondere für Petri-Netze ....... 47 Abbildung 21: „schlechte“ Empfehlungen von Folgeprozessen ........................................ 50 Abbildung 22: Idee einer Unterstützung während der Geschäftsprozessmodellierung ......... 51 Abbildung 23: Komponenten eines Modellierungsunterstützungssystems für..................... 56 Abbildung 24: UML-basierte Darstellung von PNML ....................................................... 63 Abbildung 25: Ein Beispiel-Petri-Netz.......................................................................... 64 Abbildung 26: UML-basierte Notation der Pr/TML-Elemente............................................ 67 Abbildung 27: Beispiel Pr/T-Netz................................................................................ 68 Abbildung 28: Graphische Darstellung der Pr/T-Netz-Ontologie ...................................... 80 Abbildung 29: Hauptelemente der Petri-Netz-Ontologie nach [GaJD05] ........................... 83 Abbildung 30: Statische Elemente der High-Level-Petri-Net-Ontologie nach [ViLB06]......... 84 Abbildung 31: Drei Spezifikationen der SDK Cluster Arbeitsgruppe.................................. 87 Abbildung 32: Semantisches Geschäftsprozessmodell „sending purchase order“................ 91 Abbildung 33: Semantisches Geschäftsprozessmodell „sending order“ ............................. 91 Abbildung 34: Objekte als Feature Sets ...................................................................... 94 Abbildung 35: Darstellung einer Ontologie als Graph..................................................... 98 Abbildung 36: Beispiel-Ontologie ............................................................................. 102 Abbildung 37: Synonyme für den Begriff „order“ ........................................................ 106 Abbildung 38: Ein Beispielkontext ............................................................................ 108 Abbildung 39: Tiefe in der Taxonomie....................................................................... 111 Abbildung 40: Ähnlichkeitsalgorithmus...................................................................... 115
VII
Abbildung 41: Basistypen von SiMQL ........................................................................125 Abbildung 42: Pfadangaben in SiMQL ........................................................................126 Abbildung 43: Syntax der Anfragetypen von SiMQL .....................................................126 Abbildung 44: Bedingungen und Funktionen von SiMQL ...............................................127 Abbildung 45: Input- und Outputformate der Ähnlichkeitsberechnung ............................132 Abbildung 46: Klassifikationsschema für Geschäftsregeln .............................................136 Abbildung 47: Zuordnung von initialElement und isSelected .........................................143 Abbildung 48: Vorschlag von korrekten Folgeprozessen ...............................................144 Abbildung 49: Vefeinerungsmuster „Gleiches Substantiv“.............................................151 Abbildung 50: Verfeinerungsmuster „Ungleiche Substantive“ ........................................152 Abbildung 51: Verfeinerungsmuster „Spezialisierung von Substantiven“ .........................152 Abbildung 52: Integrierter Geschäftsprozess (Aufdeckung Verfeinerungsmuster 1) ..........153 Abbildung 53: Integrierter Geschäftsprozess (Verfeinerungsmuster 2) ...........................156 Abbildung 54: Neuronales Netz als Abbildungsvorschrift...............................................161 Abbildung 55: Neuronale Netze als Verbindungsstruktur einfacher Prozessoren ...............162 Abbildung 56: Mehrschichtiges vorwärtsgerichtetes neuronales Netz..............................163 Abbildung 57: Einzel-Perzeptron...............................................................................163 Abbildung 58: Tangens hyperbolicus (links) und logistische Funktion mit g=0.5(rechts)....165 Abbildung 59: unterschiedliche Darstellung von Clustern..............................................168 Abbildung 60: Berechnung der neuen Distanz beim Single Linkage Verfahren..................170 Abbildung 61: Modellierungserfahrungen der Befragten ...............................................173 Abbildung 62: Vertrautheit mit der Modellierungsdomäne im Verhältnis zu .....................174 Abbildung 63: Eingeschätzte Ähnlichkeitswerte beurteilt nach Erfahrungen in der Geschäftsprozessmodellierung (Frage 3) .............................................................178 Abbildung 64: Eingeschätzte Ähnlichkeitswerte beurteilt nach Erfahrungen in der Geschäftsprozessmodellierung (Frage 4) .............................................................179 Abbildung 65: durchschnittlichen Modellierungserfahrungen nach Vertrautheit mit der Modellierungsdomäne (Frage 3) .........................................................................180 Abbildung 66: Statistik der Differenz von Transitionsähnlichkeiten.................................186 Abbildung 67: Abbildung 68: Backpropagation-Netz für Transitionen..............................187 Abbildung 69: Statistik der Differenz von Transitionsähnlichkeiten.................................188 Abbildung 70: Auswahl von passenden Folgeprozessen in Frage 10 ...............................191 Abbildung 71: Clustern von Benutzern nach Complete Linkage für Frage 10....................192 Abbildung 72: Clusterung bei einer Ähnlichkeitsdistanz von 4.0 für Frage 10...................193 Abbildung 73: Auswahl von passenden Folgeprozessen in Frage 11 ...............................194 Abbildung 74: Clustern von Benutzern nach Complete Linkage für Frage 11....................195 Abbildung 75: Clusterung bei einer Ähnlichkeitsdistanz von 4.7 für Frage 11...................196 Abbildung 76: Clusterung bei einer Ähnlichkeitsdistanz von 9.0 für Frage 10 und 11 ........197 Abbildung 77: Zusammenspiel von SWT und Draw2D ..................................................205 Abbildung 78: Dialogfenster für Ähnlichkeitsberechnungen ...........................................209 Abbildung 79: Konfiguration der Anfrage ...................................................................210 Abbildung 80: Dialogfenster der OWL-Anfragesprache .................................................210 Abbildung 81: Graphische Oberfläche des SWRL-Konverters .........................................211
VIII
Abbildung 82: Dialogfenster der Modellierungsunterstützung........................................ 212 Abbildung 83: Oberfläche von SemPeT ..................................................................... 213 Abbildung 84: UML-basierte Darstellung der Petri-Netz-Ontologie ................................. 216 Abbildung 85: UML-basierte Darstellung der EPK-Ontologie.......................................... 216 Abbildung 86: Ein Beispiel für ein Petri-Netz und ein EPK............................................. 219
IX
Tabellenverzeichnis Tabelle 1: Kindelemente des -Elements ...................................................... 61 Tabelle 2: Netztypunabhängige PNML-Elemente........................................................... 62 Tabelle 3: Typspezifische Pr/TML-Elemente ................................................................. 66 Tabelle 4: Formale Syntax von OWL DL ...................................................................... 77 Tabelle 5: Vergleich verschiedener Ähnlichkeitsmetriken ..............................................101 Tabelle 6: Kontext und Gewichtungen von Konzeptinstanzen ........................................110 Tabelle 7: Beispiel-Ähnlichkeitswerte ........................................................................113 Tabelle 8: Syntax von EBNF.....................................................................................124 Tabelle 9: Erfüllung allgemeiner Anforderungen von SiMQL ..........................................131 Tabelle 10: Annotierte Geschäftsregeln für Geschäftsprozessmodelle .............................139 Tabelle 11: Linguistische Ausprägung für das Geschäftsprozessmodell aus Abbildung 52...154 Tabelle 12: Linguistische Ausprägung für das Geschäftsprozessmodell aus Abbildung 53...157 Tabelle 13: Mittlere Ränge ermittelt mit Hilfe des Friedman-Tests..................................177 Tabelle 14: Ähnlichkeitswerte für Transitionen aus Frage 6 bis 9 ...................................183 Tabelle 15: Ähnlichkeitswerte für Stellen aus Frage 6 bis 9...........................................184 Tabelle 16: Ähnlichkeitswerte für Attribute aus Frage 6 bis 9 ........................................185 Tabelle 17: Eingabewerte für Transitionen (Ausschnitt)................................................185 Tabelle 18: Eingabewerte für Stellen (Ausschnitt) .......................................................185 Tabelle 19: Eingabewerte für Attribute ......................................................................185 Tabelle 20: Ein- und Ausgabe des BP-Netzes für Transitionen .......................................187 Tabelle 21: Ergebnisvergleich mit unterschiedlichen Perzeptronen für Transitionen ..........187 Tabelle 22: Netzgewichte für Transitionen..................................................................188 Tabelle 23: Testergebnis für Transitionen ..................................................................188 Tabelle 24: Ein- und Ausgabe des BP-Netzes für Stellen...............................................189 Tabelle 25: Ergebnisvergleich mit unterschiedlichen Perzeptronen für Stellen ..................189 Tabelle 26: Netzgewichte für Stellen .........................................................................189 Tabelle 27: Testergebnis für Stellen ..........................................................................190 Tabelle 28: Semantische Beziehungen zwischen Konstrukten der Petri-Netz- und EPKOntologie ........................................................................................................218 Tabelle 29: Ähnlichkeitswerte für EPKs und Petri-Netzen ..............................................220
X
Quelltextauszüge Quelltext 1: Modellierung einer Ontologie mit F-Logik ................................................... 20 Quelltext 2: XML-Dokument zur Beschreibung von Büchern ........................................... 22 Quelltext 3: XML-Dokument mit gleicher semantischer Bedeutung .................................. 22 Quelltext 4: XML-Dokument ohne implizite Bedeutung .................................................. 23 Quelltext 5: RDF/XML-Syntax zur RDF-Aussage in Abbildung 6....................................... 24 Quelltext 6: Verschiedene Schachtelungen von rdfs:Class.............................................. 25 Quelltext 7: Modellierung der inverseOf-Einschränkung und ein für das Schema gültiges Instanzdokument .............................................................................................. 27 Quelltext 8: Modellierung der inverseFunctionalProperty-Einschränkung ..................... 28 Quelltext 9: Modellierung der intersectionOf-Einschränkung ........................................... 29 Quelltext 10: PNML-Syntax der Stelle aus Abbildung 25 ................................................ 64 Quelltext 11: PNML-Syntax der Transition aus Abbildung 25 .......................................... 65 Quelltext 12: PNML-Syntax der Kante aus Abbildung 25 ................................................ 65 Quelltext 13: Umsetzung der Stelle aus Abbildung 27 in Pr/TML-Syntax........................... 68 Quelltext 14: PrTML-Syntax für die Transition aus Abbildung 27 ..................................... 70 Quelltext 15: PrTML-Syntax für die Kante von Lieferung nach empfangen ........................ 70 Quelltext 16: PrTML-Syntax für die Kante von empfangen nach Lieferung ........................ 71 Quelltext 17: Ausschnitt der Pr/T-Netz-Ontologie in XML/RDF-Syntax.............................. 80 Quelltext 18: Instanzmodellierung für das Pr/T-Netz in Abbildung 27 (Ausschnitt)............. 81 Quelltext 19: Beschreibung eines Web-Services in WSMO.............................................. 88 Quelltext 20: Anfrage mit OWL-QL ........................................................................... 117 Quelltext 21: Anfrage in SiMQL (QUERY_SELECTION) ................................................. 119 Quelltext 22: Anfrage in SiMQL (QUERY_CONDITION) ................................................. 120 Quelltext 23: Weitere Anfrage in SiMQL (QUERY_CONDITION) ..................................... 121 Quelltext 24: Abgekürzte Anfrage von Quelltext 23 mit SiMQL...................................... 121 Quelltext 25: Anfrage mit SiMQL (QUERY_ALIGNSELECTION)....................................... 122 Quelltext 26: Kombination von semantischen Geschäftsprozessmodellen mit SWRL-Regeln .................................................................................................................... 141 Quelltext 27: Programmcode für die Erzeugung der Instanz Document mit JDOM............. 203 Quelltext 28: Programmcode für die Erzeugung eines Konzepts und einer Eigenschaft mit JENA2............................................................................................................ 203 Quelltext 29: Programmcode zur Implementierung einer Benutzungsoberfläche und einer Zeichenfläche mit SWT und Draw2D ................................................................... 205 Quelltext 30: Programmcode für die XML-Serialisierung von Pr/T-Netzen ....................... 207 Quelltext 31: Programmcode für die OWL-Serialisierung der Pr/T-Netz-Ontologie ............ 208 Quelltext 32: Äquivalenzen von Klassen und Eigenschaften.......................................... 218 Quelltext 33: OWL-Syntax für Petri-Netz und EPK aus Abbildung 85 .............................. 219 Quelltext 34: Anfrage in SiMQL mit erweiterter Syntax................................................ 221
XI
Definitionen 1: Ontologie ........................................................................................................... 14 Definition 2: Konzepthierarchie ................................................................................. 14 Definition 3: Eigenschaft .......................................................................................... 14 Definition 4: Eigenschaftshierarchie ........................................................................... 14 Definition 5: Wissensbasis ........................................................................................ 15 Definition 6: Netz .................................................................................................... 38 Definition 7: Prädikate/Transitionen-Netz.................................................................... 43 Definition 8: Term ................................................................................................... 44 Definition 9: Prädikatenlogischer Ausdruck.................................................................. 44 Definition 10: Semantische Geschäftsprozessmodelle ................................................... 72 Definition 11: Zusammenhängend / Stark zusammenhängend ....................................... 72 Definition 12: Ähnlichkeitsmaß .................................................................................. 92
XII
1
Einleitung
In diesem Kapitel werden zunächst nach Einführung in die bestehenden Problemstellungen bei der Modellierung von Geschäftsprozessen die Zielsetzung dieser Arbeit und der vorgeschlagene Lösungsweg vorgestellt. Anschließend wird der methodische Aufbau der Arbeit beschrieben und motiviert.
1.1
Problemstellung
Die präzise Modellierung von Geschäftsprozessen bildet die Grundlage für den Einsatz standardisierter Informationssysteme, die eine zielgerichtete Zuordnung von Daten- und Kommunikationsdiensten zu Anwendern unterstützen. Bei Veränderung von Anforderungen für diese Informationssysteme werden die entsprechenden Geschäftsprozesse häufig nicht angepasst, sondern neu modelliert, da eine Anpassung zeitaufwändiger wäre. Dabei könnte durch die Wiederverwendung von bereits modellierten Prozessteilen der Entwurfs- und Implementierungsaufwand von Informationssystemen (für die die Geschäftsprozesse die Grundlage bilden) erheblich reduziert werden. Ein Problem, das eine Anpassung der entsprechenden Prozessteile erschwert, besteht in der Schwierigkeit, zwei prinzipiell gleiche Geschäftsprozessmodelle zu identifizieren. Die meisten Modellierer vermischen die Abstraktionsgrade von Prozessaktivitäten: auf der gleichen Prozessebene werden einige Aktivitäten detaillierter und andere weniger detailliert dargestellt, obwohl ein gleicher Detaillierungsgrad für den konsistenten Entwurf eines Informationssystems wichtig ist. Das Ergebnis dieser unpräzisen Vorgehensweise sind Geschäftsprozessmodellvarianten, die nur mit viel Modellierungserfahrungen als solche erkannt werden können. Hinzu kommt, dass Modellierer ihre Geschäftsprozessmodelle in der Regel nicht mit demselben Vokabular beschreiben. Zur Modellierung von Prozessaktivitäten werden branchenspezifische Begrifflichkeiten verwendet, die auch bei Unternehmen gleicher Branche variieren können. Der Rohstofflieferant verwendet zur Beschreibung von Bestellungen den Begriff commission, der Erzeuger order und der Montagebetrieb
purchase order1. Auch das erschwert die Anpassung von Geschäftsprozessen, da die Erkennung unterschiedlicher Begriffe für gleiche Prozessobjekte entsprechendes Kontextwissen voraussetzt. In der Literatur wird deswegen ein „kontrolliertes“ Vokabular zur Geschäftsprozessmodellierung gefordert. In den am Markt verfügbaren Werkzeugen zur Geschäftsprozessmodellierung existiert bislang keine Funktion, die eine Anpassung von Geschäftsprozessmodellen unterstützt. Ein weiteres Defizit der bestehenden Werkzeuge liegt in der unzureichenden Unterstützung des Modellierers, Unternehmensrestriktionen bei der Anpassung einzuhalten. Mit Hilfe der Geschäftsprozessanalyse können Prozessmodelle validiert, verifiziert und bewertet werden [vgl. exemplarisch Aals98, MBCD95]. Es kann überprüft werden, ob das Prozessmodell die Wirklichkeit richtig abbildet oder ob das Prozessmodell
korrekt
ist
(Verklemmungsfreiheit,
Lebendigkeit2)
und
einer
bestimmten Leistungsfähigkeit entspricht. Allerdings kann nicht überprüft werden, ob der modellierte Realweltausschnitt den Restriktionen (Geschäftsregeln) des Unternehmens entspricht. Dabei ist die Fähigkeit, die Geschäftsregeln [Hall02] konsistent
in
das
Informationssystem
zu
implementieren,
ein
kritischer
Erfolgsfaktor von E-Business [KnEn04]. Im Rahmen dieser Arbeit wird erstmalig ein Unterstützungssystem für die Geschäftsprozessmodellierung vorgestellt, das eine Anpassung durch Wiederverwendung von bereits modellierten Geschäftsprozessteilen ermöglicht. Der Benutzer kann nach bereits modellierten Prozessteilen in einer Prozessbibliothek mit Hilfe einer in dieser Arbeit entwickelten Anfragesprache suchen. Zusätzlich wird in der Arbeit eine Empfehlungskomponente präsentiert, die dem Modellierer Prozessteile passend zu seinem gerade editierten Prozessmodell auf Basis von Geschäftsregeln aus der Prozessbibliothek vorschlägt. So werden die Prozessmodelle gleichzeitig an die jeweilige Umwelt angepasst. Die Empfehlungskomponente wird weiterhin dahingehend erweitert, dass auch das Abstraktionsniveau eines gerade editierten Geschäftsprozessmodells mit den empfohlenen Prozessteilen gleich bleibt. Somit sollen Modellierungsfehler weitgehend vermieden und ein konsistenter Entwurf des Informationssystems unterstützt werden. In der Arbeit wird auch die Einschränkung eines „kontrollierten“ Vokabulars aufgehoben. Es werden stattdessen Ähnlichkeitsmaße definiert, durch die Prozessteile mit unterschiedlichem Vokabular zur Beschreibung gleicher Prozessobjekte wieder verwendet werden können.
1
Die in dieser Arbeit vorgestellten Methoden zur Modellierungsunterstützung wurden für Geschäftsprozesse aufgestellt, die in englischer Sprache modelliert wurden. Aus diesem Grund werden in der Problemstellung bereits englische Begriffe verwendet. 2 Definition zu Lebendigkeit siehe [Reis86, S. 84].
2
Die Modellierungsunterstützung funktioniert wie in Abbildung 1 skizziert. Der Modellierer möchte ab einem bestimmten Prozesselement (in der Abbildung ist es eine Stelle, die durch ein dunkelgraues, umschließendes Rechteck hervorgehoben ist) Empfehlungen für passende Folgeprozesse bekommen (Schritt 1). Daraufhin schlägt ihm die Empfehlungskomponente drei passende Folgeprozesse vor (Schritt 2), aus denen er den für ihn relevanten Prozess auswählt und in seiner Modellierungsumgebung gegebenenfalls verändern kann. Alternativ dazu kann der Modellierer auch die Anfragesprache verwenden, die als Ergebnis ebenfalls passende Prozesselemente ausgibt. Abbildung 1: Beispiel für eine Modellierungsunterstützung für Geschäftsprozesse
Ein besonderer Vorteil dieser Modellierungsunterstützung ist, dass die vorgeschlagenen Folgeprozesse das gleiche Abstraktionsniveau wie der gerade editierte Geschäftsprozesse haben und annotierten Geschäftsregeln entsprechen. Zusätzlich werden beim Vorschlag strukturelle Eigenschaften berücksichtigt, mit denen unerwünschte Deadlocks vermieden werden können. Zur Realisierung einer Modellierungsunterstützung müssen zunächst Geschäftsprozesse modelliert werden. Zur Modellierung komplexer Geschäftsprozessmodelle und der prozessrelevanten Objekte eignen sich höhere Petri-Netze [GeLa81, DeOb96, Lenz03, Ober96]. Die formale Fundierung von Petri-Netzen ermöglicht eine korrekte syntaktische Verbindung eines editierten Geschäftsprozessmodells mit dem vorgeschlagenen Folgeprozess [Aals00, AaWe01]. Bestehende Analysemethoden für Petri-Netze [Pete77, SaOr00] können zur syntaktischen Überprüfung der verbundenen Geschäftsprozessmodelle verwendet werden. Durch die Verwendung von Ontologien [Grub93a, Grub93b, StSt04] kann ein einheitliches Verständnis über Begriffe und die Beziehungen zwischen Begriffen von Geschäftsprozessmodellen definiert werden. Ontologien ermöglichen es, Missverständnisse in Form von Synonymen oder Homonymen aufzudecken und Abstraktionsgrade von Begriffen zu bestimmen. Die formale Beschreibung von Ontologien
3
erlaubt es zudem, Inferenzmechanismen [HuRy04] einzusetzen, um aus den annotierten Geschäftsregeln die passenden Folgeprozesse ermitteln zu können. Dadurch kann die Wiederverwendung von Geschäftsprozessmodellen erleichtert und die Interoperabilität in heterogenen Systemlandschaften verbessert werden.
1.2
Ziel der Arbeit
Hauptziel dieser Arbeit ist es, Methoden zu entwickeln, mit denen die Modellierung von Geschäftsprozessen benutzerindividuell unterstützt und somit die Fehlerrate von Geschäftsprozessmodellen weitgehend reduziert werden kann. Dabei sollte die Unterstützung von Benutzern während der Geschäftsprozessmodellierung entweder teilautomatisch und/oder automatisch durch ein Unterstützungssystem umgesetzt werden (abhängig von den Benutzerwünschen und dem Benutzertyp). Eine solche Unterstützung existiert bislang noch in keinem Geschäftsprozessmodellierungswerkzeug. Die Modellierungsunterstützung soll unabhängig von einem Modellierungswerkzeug funktionieren; Petri-Netz-basierte Geschäftsprozesse, die mit unterschiedlichen Werkzeugen modelliert wurden, sollen zwischen den Werkzeugen (möglichst ohne Informationsverlust) austauschbar sein. Hierfür soll ein allgemeingültiges XML-basiertes Speicher- und Austauschformat für einfache Petri-Netze erweitert werden. Zusätzlich zu dem Austauschformat soll ein Beschreibungsformat für Petri-Netze entwickelt werden, welches den Einsatz von Inferenzmechanismen unterstützt und somit eine automatische Modellierungsunterstützung realisiert werden kann. Eine besondere Schwierigkeit bei der Realisierung einer automatischen Modellierungsunterstützung ergibt sich dadurch, dass Modellierer während der Prozessmodellierung in der Regel Unternehmensrestriktionen in Form von Geschäftsregeln einhalten sollen. Die Nichteinhaltung dieser Regeln ist eine mögliche Fehlerquelle für Geschäftsprozessmodelle. Das Beschreibungsformat muss dahingehend erweiterbar sein, dass es erlaubt, die Allgemeingültigkeit von Unternehmensrestriktionen für bestimmte Geschäftsprozessmodelle zu überprüfen. Eine weitere Fehlerquelle von Geschäftsprozessmodellen ist die Nichteinhaltung eines identischen Abstraktionsniveaus für Prozessaktivitäten auf der gleichen Prozessebene. Petri-Netze unterstützen die Systemdarstellung auf verschiedenen Abstraktionsebenen. Bislang existiert aber keine Software-gestützte Methode, die das Abstraktionsniveau von Prozessaktivitäten überprüft. Im Rahmen der Modellierungsunterstützung soll eine solche Methode entwickelt werden. Bestimmte Geschäftsprozessmodelle oder nur Teile davon sind nicht für alle Mitarbeiter eines Unternehmens zugänglich (unternehmenskritische Geschäftsprozess-
4
modelle). Bislang wird ein Geschäftsprozess mit unternehmenskritischen Prozessaktivitäten vollständig gesperrt und somit sind auch die öffentlichen Teile für die Mitarbeiter nicht sichtbar. Bei der Realisierung der Modellierungsunterstützung sollen die öffentlichen Teile des Geschäftsprozesses trotzdem verfügbar sein und als passende Folgeprozesse genutzt werden können. Eine solche Modellierungsunterstützung mit Zugang zu öffentlichen Teilen von Geschäftsprozessmodellen kann mit Hilfe einer Anfragesprache umgesetzt werden. Diese setzt aber voraus, dass nur die „privaten“ Teile des Geschäftsprozesses gesperrt werden. Der Benutzer formuliert in seiner Anfrage Kriterien, nach denen passende Folgeprozesse gesucht werden sollen. Die Anfragesprache sollte auf einer formalen Grammatik basieren, damit die Gültigkeit von Anfragen überprüft werden kann. Zusätzlich sollte die Anfragesprache allgemeingültigen Anforderungen an Anfragesprachen [HeSc91] genügen. Bei der Modellierung von Geschäftsprozessmodellen wird in der Literatur ein „kontrolliertes“ Vokabular vorausgesetzt, damit keine begrifflichen Missverständnisse entstehen können. Eine solche Einschränkung ist allerdings in Unternehmen üblicherweise nicht realisierbar, vor allem nicht bei einer unternehmensübergreifenden Prozessmodellierung (jeder Unternehmenspartner verwendet sein eigenes Vokabular). Um diese Einschränkung aufzuheben, sollen verschiedene Ähnlichkeitsmaße definiert werden, mit denen begriffliche Missverständnisse in Geschäftsprozessmodellen möglichst automatisch erkannt werden können. Eine Ursache für begriffliche Missverständnisse können synonym bzw. homonym verwendete Begriffe sein. Eine andere Fehlerquelle entsteht durch Begriffe mit unterschiedlichem Abstraktionsniveau, die synonym gebraucht werden (z.B. "Information" vs. "Mitteilung"). Bei der Modellierung von Geschäftsprozessen können zusätzlich noch leicht Editierfehler entstehen. Die Ähnlichkeitsmaße sollen auch diese Editierfehler identifizieren. Mit der Aufhebung der Restriktion eines „kontrollierten“ Vokabulars werden durch die Empfehlungskomponente und die Anfragesprache zusätzlich passende Folgeprozesse vorgeschlagen, die mit einem unterschiedlichen Vokabular modelliert wurden. Um Benutzer individuell bei der Modellierung von Geschäftsprozessen zu unterstützen, soll eine Benutzerbefragung durchgeführt werden. Aus den Ergebnissen der Befragung sollen sich unterschiedliche Hilfestellungen abhängig von der Zugehörigkeit einer Person zu einer bestimmten Benutzergruppe (Anfänger, Fortgeschritten, Experte) ableiten lassen. Eine solche Evaluation wurde bislang noch nicht durchgeführt.
5
Die entwickelten Methoden für die Modellierungsunterstützung sollen auch in einem Software-Werkzeug implementiert werden. Schwerpunkt der Umsetzung ist, einen Software-Prototyp für allgemein verwertbare Ähnlichkeitsmessungen, die Anfragesprache und die Empfehlungskomponente zu implementieren, allerdings ohne Berücksichtigung von Software-Qualitätsmerkmalen wie Ergonomie oder Performance des Systems. Die Unterstützung während der Geschäftsprozessmodellierung kann mit unterschiedlicher Zielsetzung eingesetzt werden: •
Sie kann Anfänger bei der Modellierung von Geschäftsprozessen unterstützen. Dabei wird der zu editierende Geschäftsprozess mit Geschäftsprozessmodellen verglichen, die in einem Repository (Prozessbibliothek) [KeEi06] gespeichert wurden. Werden im Repository Geschäftsprozessteile gefunden, die sich als passende Folgeprozesse eignen, so werden diese zur automatischen Vervollständigung des Geschäftsprozessmodells vorgeschlagen.
•
Unternehmen, die ihre Geschäftsprozessmodelle verbinden wollen, dabei allerdings ein unterschiedliches Vokabular verwenden, können sich (über die Anfragesprache)
Schnittstellen
unternehmensübergreifenden
ausgeben
lassen,
Geschäftsprozessmodelle
an
denen
integriert
die
werden
können. •
Die Modellierung von Geschäftsprozessen orientiert sich häufig an Geschäftsregeln. Beispielsweise erfordert bei der Versicherung die Begutachtung von Schäden über einer Schadenssumme von 10 000 € einen externen Gutachter. Mit Hilfe von Inferenzmechanismen werden bei einer automatischen Vervollständigung von Geschäftsprozessmodellen nur solche Prozessteile zugelassen, die nicht gegen die Geschäftsregeln verstoßen.
•
Veränderungen in den Anforderungen an Informationssysteme bedürfen auch Anpassungen von implementierten Funktionalitäten und den darunter liegenden Geschäftsprozessmodellen. Geschäftsprozessmodellvarianten sind das Ergebnis dieser Anpassungen. Das Modellierungsunterstützungssystem kann eingesetzt werden, um bereits modellierte Geschäftsprozessvarianten schneller als solche aufdecken zu können.
6
•
Die Idee der Modellierungsunterstützung kann auch für methodisch unterschiedlich modellierte Geschäftsprozesse eingesetzt werden, z.B. wenn in einem Repository Petri-Netz- oder EPK-basierte [KeNS92] Geschäftsprozessmodelle
hinterlegt
wurden
und
der
Benutzer
dennoch
die
Modellierungsunterstützung nutzen möchte. •
Generell ist die Idee der Modellierungsunterstützung übertragbar z.B. auf Formalismen
zur
konzeptuellen
Modellierung
(Entity-Relationship-
Diagramme) oder auf Sprachen zur Modellierung von Software (Unified Modeling Language).
1.3
Aufbau der Arbeit
In einem einführenden Kapitel (Kapitel 2) werden die Grundlagen für die Entwicklung einer Unterstützung während der Geschäftsprozessmodellierung gelegt, die eine methodische Fundierung für die Realisierung einer solchen Funktion bilden. Dazu werden Ontologien und Sprachen zur Modellierung von Ontologien [Beck04, BrGu04, KiLW95] erklärt. Es wird insbesondere auf die Web Ontology Language (OWL) [McHa03] eingegangen, die eine formale Modellierung von Aussagen über Daten in einem maschinell interpretierbaren Datenformat erlaubt. Anschließend werden Grundlagen der Geschäftsprozessmodellierung und verschiedene Modellierungssprachen [AABC05, KeNS92, WMC02] skizziert. Der Schwerpunkt liegt dabei auf der Beschreibung von elementaren und höheren Petri-Netzen [GeLa81, Jens92, Pete77, Reis86, ReRo98a, ReRo98b] zur Darstellung von Geschäftsprozessmodellen. Ferner werden die Anforderungen und Komponenten eines Modellierungsunterstützungssystems vorgestellt, die eine Grundlage für alle nachfolgenden Kapitel bilden. Der Schwerpunkt bei der Umsetzung der Modellierungsunterstützung liegt darauf, dem Benutzer möglichst wenige Einschränkungen vorzuschreiben, damit er die Modellierungsunterstützung nutzen kann. Deshalb werden in diesem Kapitel Anforderungen an ein Modellierungsunterstützungssystem skizziert. Kapitel 3 widmet sich der Erweiterung eines bestehenden XML-basierten Austauschformats für elementare [Kind03, BCHW03] und höhere Petri-Netze. XML (eXtensible Markup Language) [W3C00] ist ein Austausch- und Beschreibungsformat für strukturierte und semi-strukturierte Dokumente. Anschließend wird das OWL-basierte Beschreibungsformat für elementare und höhere Petri-Netze entwickelt [KoOb05, KoRi05]. Dieses OWL-basierte Beschreibungsformat wird in einer formalen Darstellung vorgestellt.
7
Im folgenden Kapitel 4 werden Ähnlichkeitsmaße für das OWL-basierte Beschreibungsformat für Petri-Netze definiert [EhKO07, KoOb07b]. Nachdem sich das OWLbasierte Beschreibungsformat von Petri-Netzen nur durch eine andere Formatdarstellung unterscheidet, sind die Ähnlichkeitsmaße auf alle Petri-Netz-basierten Geschäftsprozessmodelle anwendbar. Zur Aufdeckung von Homonymen und Synonymen
zwischen
zwei
Prozesselementnamen
werden
drei
Ähnlichkeitsmaße
eingeführt: syntaktische, linguistische und strukturelle Ähnlichkeitsmaße. Für das linguistische Ähnlichkeitsmaß ist eine Wissensbasis [SEHH03] in Form von Ontologien erforderlich. Als Wissensbasis wird WordNet [Fell98] verwendet. Die Aufdeckung von ähnlichen Begriffen mit einem unterschiedlichen Abstraktionsniveau (Generalisierung, Spezialisierung) erfordert die Berechnung der linguistischen Ausprägung von Elementnamen [Lin98, Resn99, WuPa94]. Hierfür wird eine Ähnlichkeitsmetrik aus der Literatur für ein viertes Ähnlichkeitsmaß erweitert. Die neu definierten Ähnlichkeitsmaße können zu einer Gesamtähnlichkeit kombiniert werden (kombiniertes Ähnlichkeitsmaß), die es erlaubt, den Ähnlichkeitsgrad zwischen zwei Geschäftsprozessen zu bestimmen. Mit Hilfe eines Ähnlichkeitsalgorithmus wird der Einsatz der Ähnlichkeitsmaße zur Berechnung der Ähnlichkeit zwischen Geschäftsprozessmodellen vorgestellt. Um Prozessfragmente nach bestimmten Kriterien aus einer Prozessbibliothek extrahieren zu können, wird im Kapitel 5 eine spezielle OWL-basierte Anfragesprache definiert. Mit Hilfe der Anfragesprache kann auch nach Schnittstellen von Prozessmodellen mit einem bestimmten Ähnlichkeitswert gesucht werden. Es wird überprüft, in wieweit diese OWL-basierte Anfragesprache die allgemeingültigen Anforderungen für Anfragesprachen, wie sie in der Literatur existieren, erfüllt. Die Anfragesprache basiert auf einer formalen Grammatik und ermöglicht somit, die Gültigkeit von Anfragen zu überprüfen. Zuletzt wird auch die Ausdrucksmächtigkeit der Anfragesprache diskutiert. Die Anfragesprache bildet die Grundlage für eine teilautomatische Unterstützung der Geschäftsprozessmodellierung. Eine automatische Modellierungsunterstützung auf Basis einer Empfehlungskomponente wird im Kapitel 6 ausführlich dargestellt. Zunächst wird nur eine Empfehlungskomponente vorgestellt, die beim Vorschlag von passenden Folgeprozessen ausschließlich Geschäftsregeln berücksichtigt. Im zweiten Schritt wird die Funktion dahingehend erweitert, dass auch das Abstraktionsniveau der gerade editierten Prozessaktivitäten beachtet wird. Zuletzt wird auf unterschiedliche Begrifflichkeiten für gleiche Prozesselementnamen in Geschäftsprozessen eingegangen. Folgeprozes-
8
se, die zum editierten Geschäftsprozessmodell sehr ähnliche Prozessaktivitäten verwenden und auch den Geschäftsregeln entsprechen, werden bei der Empfehlung ebenfalls angezeigt. Im Rahmen einer Benutzerbefragung wird untersucht, welche Anzahl an Folgeprozessen dem Modellierer empfohlen werden soll. Insbesondere soll evaluiert werden, aus wie vielen Prozessaktivitäten ein Folgeprozess bestehen muss, damit der Modellierer die Prozesse schnell nachvollziehen und einen passenden Folgeprozess auswählen kann. Es werden Personen mit unterschiedlichen Modellierungserfahrungen befragt. Durch Auswertung der Befragung mit Hilfe von Verfahren des maschinellen Lernens werden im Kapitel 7 benutzerindividuelle Empfehlungen für Modellierungsunterstützungen abgeleitet. Bei der Berechnung des kombinierten Ähnlichkeitsmaßes haben die vier Ähnlichkeitsmaße (syntaktisch, linguistisch, strukturell und abstraktionsniveaubasiert) eine unterschiedliche Gewichtung bezüglich der Gesamtähnlichkeit. Zudem kann die Gewichtung entweder manuell oder automatisch mit Hilfe von Verfahren des maschinellen Lernens zugewiesen werden, indem eine passende initiale Gewichtung gelernt wird. Diese Verfahren und die individuelle Wertigkeit von Ähnlichkeitsmaßen werden ebenfalls im Rahmen von Kapitel 7 vorgestellt. Die technische Umsetzung der teilautomatischen und automatischen Unterstützung während der Geschäftsprozessmodellierung wird im Kapitel 8 präsentiert. Der Einsatz der Modellierungsunterstützung bzw. von Ähnlichkeitsmaßen für methodisch unterschiedlich modellierte Geschäftsprozesse wird im Kapitel 9 vorgestellt. Es wird speziell die Berechnung von semantischen Ähnlichkeiten zwischen EPK-basierten und Petri-Netz-basierten Geschäftsprozessmodellen betrachtet. Damit ist die Modellierungsunterstützung nicht nur auf Petri-Netze beschränkt, sondern kann auf weitere Geschäftsprozessmodellierungssprachen übertragen werden. Am Ende der Arbeit folgen eine Zusammenfassung der wesentlichen Ergebnisse der Arbeit, die Diskussion der technischen und methodischen Grenzen des vorgeschlagenen Konzeptes und ein Ausblick auf weitere Forschungsmöglichkeiten bezüglich inhaltlicher und technischer Themen. Abbildung 2 gibt einen Überblick über den Aufbau der Arbeit.
9
Abbildung 2: Aufbau der Arbeit
1
Einführung
2
Grundlagen Ontologien
Geschäftsprozessmanagement
Modellierungsunterstützungsfunktion
3
4
Der Ähnlichkeitsbegriff für semantische Geschäftsprozessmodelle
5
SiMQL- eine Anfragesprache für Ähnlichkeitsmaße und eine Modellierungsunterstützung für Geschäftsprozesse
6
Konzeption einer Empfehlungskomponente zur Modellierungsunterstützung von Geschäftsprozessen
7
Evaluierung von Ähnlichkeitsmaßen und der Modellierungsunterstützung für Geschäftsprozesse
8
Entwicklung eines Prototyps für die Modellierungsunterstützung von Geschäftsprozessen
9
Anwendungsszenarien für semantische Geschäftsprozessmodelle und Ähnlichkeitsmaße
10
10
Semantische Beschreibung von Geschäftsprozessmodellen
Schlussüberlegungen und Ausblick
2
Grundlagen
In diesem Kapitel werden zunächst Grundbegriffe und Sprachen zur Modellierung von Ontologien und Geschäftsprozessen eingeführt, die im weiteren Verlauf der Arbeit benötigt werden.
2.1
Ontologie
Der Begriff Ontologie stammt ursprünglich aus der Philosophie und wird dort als die Lehre vom Sein verstanden. In der Informatik wird der Begriff seit den 90er Jahren verwendet und stellt die Wissensrepräsentation eines formal definierten Systems von Begriffen und Beziehungen dar. Ontologie in der Philosophie Der Begriff Ontologie reicht bis in die Antike zurück, stammt ursprünglich aus der Philosophie und wurde als Teil der Metaphysik (also: über Physik hinaus, nach der Natur kommend) verstanden. In der Philosophie ist der Begriff Ontologie eine Lehre, die sich (primär) mit dem Sein, dem Seienden als solchem und mit den fundamentalen Typen von Entitäten beschäftigt [Lehm23]. Mit einer Ontologie werden die Prinzipien des Seins beschrieben. Als Teil der Metaphysik beschreibt eine Ontologie eine sinnlich nicht mehr erfahrbare Welt und die hinter unseren Wahrnehmungen verborgenen (oder vermuteten) Tatbestände – Dinge, die existieren könnten. Semiotisches Dreieck in der Linguistik Ontologien werden auch in der Linguistik verwendet. Unter Linguistik wird hier im weiteren Sinne der Gesamtbereich der Sprachwissenschaften subsumiert [Broc02]. In der Linguistik existieren Modelle, die die menschliche Sprache und somit auch Kommunikation beschreiben. Ein Bereich der Linguistik ist die Semiotik, die sich mit der Theorie der Zeichensysteme beschäftigt. Die Semiotik wird als Oberbegriff für die drei Teilgebiete Syntax, Semantik und Pragmatik verstanden. Die Entstehung der Ontologie in der Semiotik kann durch ein so genanntes semiotisches Dreieck
11
(Abbildung 3) veranschaulicht werden. Beim alltäglichen und intuitiven Gebrauch unserer Sprache werden die komplexen Zusammenhänge von Wörtern, Symbolen und deren Bedeutungen erst bei Kommunikationsproblemen wie sprachlichen Missverständnissen deutlich. Die Semiotik behauptet, dass keine direkte Beziehung zwischen einem Wort (Symbol) und einem Gegenstand (Ding) besteht, was im semiotischen Dreieck durch eine gestrichelte Linie veranschaulicht wird. Diese Lehre geht davon aus, dass die Beziehung irgendwann willkürlich festgelegt worden sei, weshalb im semiotischen Dreieck ein Konzept eingeführt wird, das bei einem Wort erweckt wird und sich auf einen Gegenstand bezieht. Abbildung 3: Das semiotische Dreieck
Beim Sprechen werden automatisch Wörter mit bestimmten Gegenständen verbunden. Die Wörter lösen in unseren Gedanken bestimmte Vorstellungen aus. Mit dem Wort Golf beispielsweise wird eine Sportart im Freien, der letzte Urlaub in einer Golfanlage oder eine Automarke verbunden (siehe Abbildung 4). Abbildung 4: Begriffsbeispiel
Diese gedankliche Vorstellung verbinden wir auch direkt mit einem realen Bild, z.B. dem Sieger des Golfturniers, der in den gestrigen Sportnachrichten gezeigt wurde. Beim Reden verschmelzen Wörter, Vorstellungen und reale Bilder zu einem Ge-
12
samtbild und werden als gleichbedeutende Begriffe betrachtet. Damit steht ein Wort für ein bestimmtes Bild bzw. Objekt. Die moderne Auffassung vom semiotischen Dreieck stammt von C. K. Ogden und I. A. Richards (1923) und geht davon aus, dass eine implizite Beziehung zwischen Symbolen und Objekten besteht. Symbole werden durch Wörter ausgedrückt, z.B. das geschriebene Wort „Golf” hat an sich noch keine Bedeutung. Erst wir selbst geben den Wörtern eine Bedeutung, die oft unterschiedlich sein kann. Ein Wort gewinnt erst an Bedeutung, wenn es mit einem Objekt, z.B. einem Auto der Marke Golf, das auf der Autobahn im Regen fährt, assoziiert werden. Oder man könnte an die Öltürme in der Region vom persischen Golf denken. All diese Vorstellungen können durch das Symbol „Golf“ erweckt werden. Die gedanklichen Vorstellungen beziehen sich auf konkrete Objekte - und somit entsteht eine implizite Beziehung zwischen Symbolen und Objekten. Anderenfalls entstünden viele Missverständnisse in der Kommunikation. Die menschliche Kommunikation, die zunächst intuitiv und einfach erscheint, ist ein komplexes Geflecht aus Beziehungen zwischen Objekten und Symbolen. Ontologie in der Informatik In der Informatik wurden Ontologien erstmals durch T. R. Gruber eingeführt. Gruber versteht unter einer Ontologie “an explicit specification of a conceptualization” bzw. “a specification of a representational vocabulary for a shared domain of discourses – definitions of classes, relations, functions, and other objects” [Grub93a, Grub93b]. Nach Gruber werden Ontologien zur expliziten konzeptuellen Modellierung eines gemeinsamen Wortschatzes für interagierende Parteien verwendet. Im Bereich der Informatik dient u. a. das Entity-Relationship-Modell (ERM) [Chen76] als konzeptuelle Modellierungssprache für die Abbildung von Objekten (Entitäten) und Beziehungen. Die Semantik dieser konzeptuellen Modellierungssprache soll einerseits eine präzise Beziehung zur Realität sicherstellen und andererseits eine gezielte Manipulation der Daten durch darauf operierende Funktionen ermöglichen. Im Allgemeinen beschreibt eine Ontologie (formal) Objekte, Objekteigenschaften und Zusammenhänge zwischen Objekten in Form einer hierarchischen Anordnung. Regeln in einer Ontologie werden als Axiome definiert. Beschreibungen von Konzepten werden meistens auf ein bestimmtes Wissensgebiet - auch Domäne genannt beschränkt. Eine Domäne ist beispielsweise die Medizin, die Astronomie oder auch das Personalwesen eines Unternehmens.
13
2.1.1 Der Ontologiebegriff In der Literatur existieren verschiedene Definitionen für den Begriff einer Ontologie. Eine Ontologie kann als ein gerichteter, azyklischer Graph dargestellt werden, wobei die Knoten und Kanten im Graph im Sinne der Graphentheorie verstanden werden3. Nachfolgend wird eine formale Definition für den Begriff Ontologie, wie er in dieser Arbeit verstanden wird, formuliert (angelehnt an [SEHH03]). Definition 1: Ontologie
Eine Ontologie ist ein 5-Tupel O:=(C, HC, PC, HP, A) mit: -
C HC PC HP A
= = = = =
Menge aller Konzepte C, Hierarchie, in der die Konzepte angeordnet sind, Menge aller Eigenschaften von Konzepten, Hierarchie, in der die Eigenschaften der Konzepte angeordnet sind, Menge der Axiome.
Ein Konzept ist ein Gegenstand, ein Symbol, ein Objekt bzw. eine Klasse. Definition 2: Konzepthierarchie
Die Konzepthierarchie HC (auch Taxonomie genannt) ist eine Teilmenge von C x C, und definiert Unter- und Oberkonzepte. HC (c1,c2) mit c1,c2 ∈ C bedeutet, dass c2 Oberkonzept von c1 ist. Definition 3: Eigenschaft
PC bezeichnet die Menge aller Eigenschaften von Konzepten. Über Eigenschaften können Definitions- und Wertebereiche von Konzepten modelliert werden. Formal werden sie als Untermenge eines kartesischen Produktes von n Mengen definiert:
P1 ⊂ C × C , P2 ⊂ C × C ,..., Pn ⊂ C × C Pc ⊂ P1 , P2 ,..., Pn Definition 4: Eigenschaftshierarchie
Eigenschaften von Konzepten können in einer Hierarchie HP angeordnet werden. HP ist eine Teilmenge von PC x PC.
H P ( pc1 , pc2 ) mit pc1 , pc2 ∈ Pc bedeutet, dass pc2 Oberbeziehung von pc1 ist. A ist eine Menge von Axiomen, mit denen implizites Wissen aus explizitem erschlossen werden kann. Mit Axiomen können Beschränkungen, beispielsweise in Form von Kardinalitäten und Regeln für Konzepte und Eigenschaften definiert werden.
3
In der Graphentheorie gilt G=(E,V), wobei E die Menge der Knoten und V die Menge der Kanten ist. Nachfolgend werden alle Konzepte und die Instanzen der Konzepte unter E und die Eigenschaften der Konzepte unter V subsumiert.
14
Definition 5: Wissensbasis
Eine Wissensbasis ist ein 2-Tupel KB:= (O, I) mit: -
O
=
-
I
=
Ontologie entsprechend Definition 1 Menge der Instanzen von Konzepten
Ein Konzept kann eine oder mehrere Ausprägungen haben, die als Instanzen (ausgedrückt durch I) bezeichnet wird. Gegeben sei die folgende textuelle Beschreibung, aus der anschließend eine Ontologie gemäß Definition 1 abgeleitet wird: Eine Publikation wird durch eine oder mehrere Personen (dem Autor), durch einen Titel und durch ein Datum (Erscheinungsdatum) beschrieben. Der Autor verfasst bzw. schreibt eine Publikation. Im Jahr 2006 haben M. Mustermann und M. Muster ein Buch mit dem Titel „Ontologien im E-Business“ geschrieben. Aus den Definitionen 1, 2, 3, 4 und 5 resultiert: C
= {Publikation, Person, Autor, Titel, Datum, Erscheinungsdatum},
HC
= {(Autor,Person); (Erscheinungsdatum, Datum)},
Pschreiben= {(Autor, Publikation)}, HP
= {(schreiben, verfassen)},
I
= {Buch, M. Mustermann, M. Muster, Ontologien im E-Business, 2006},
A
= { ∃ X (Autor), Y(Publikation): X [schreibt Æ Y]}
Aufbauend auf diesen Definitionen können Ontologien angelehnt an [NoMc01] wie folgt entworfen werden (diese Vorgehensweise wird im Kapitel 3 zum Entwurf einer Ontologie für Petri-Netze verwendet): 1. Definition des Vokabulars: a) Definition von allen existierenden Objekten der Anwendungsdomäne als Konzepte einer Ontologie, b) Definition aller Eigenschaften von Konzepten innerhalb der Anwendungsdomäne. 2. Einordnung der Konzepte und Eigenschaften der Anwendungsdomäne in eine Konzept- bzw. Eigenschaftshierarchie anhand taxonomischer Beziehungen. 3. Abbildung aller Regeln durch Einschränkung von Konzept- und Eigenschaftsdefinitionen. 4. Modellierung von Instanzen von Konzepten der Anwendungsdomäne.
15
Klassifizierung von Ontologien Die Konzeptualisierung der Ontologie kann auf unterschiedlichen Ebenen stattfinden und somit unterschiedliches Abstraktionsniveau beschreiben; d.h. sie kann mehr oder weniger abstrakt oder detailliert sein. Je nach dem Grad der Allgemeingültigkeit unterscheidet Guarino [Guar98] vier Arten von Ontologien: •
Top-Level-Ontologie: beschreiben allgemeine Konzepte wie Zeit, Objekt, Ereignis. Diese Konzepte sind von Problem- und Anwendungsdomänen unabhängig und können somit für die Modellierung verschiedener Anwendungsdomänen verwendet werden. In der Top-Level Ontologie wird das höchste Abstraktionsniveau verwendet. Es wird ein Überblick über den zu modellierenden Ausschnitt der Realwelt gegeben.
•
Domain-Ontologie: im Gegensatz zur Top-Level Ontologie werden Domain- Ontologien zur Modellierung eines bestimmten Wissensgebietes wie beispielsweise der Vegetationszeit verwendet. Es wird nur ein begrenzter Ausschnitt der Realwelt beschrieben.
•
Task-Ontologie (auch Problem-Solving-Ontologien genannt): kann als eine Verfeinerung/Spezialisierung der Top-Level Ontologie für ausgewählte Aufgaben und Lösungswege der Aufgaben (task) verstanden werden. Nach Guarino sollen die Anwendungsdomäne und die Applikation in der Ontologiemodellierung getrennt werden. Eine andere Sichtweise beschreibt Chandrasekaran in [ChJB98]: Eine „Früchteontologie“ wird von einem Koch und einem Bauern aufgrund unterschiedlicher Zielsetzungen der Ontologie verschieden modelliert. Der Koch wird in der Ontologie viel detaillierter die Verarbeitung von Früchte beschreiben; während für den Bauern die richtige Auswahl und Verwendung von Pestiziden im Vordergrund stehen. Diese unterschiedliche Zielsetzung einer Ontologie bei gleicher Anwendungsdomäne erschwert eine Isolierung von Aufgaben, die die Ontologie beschreiben soll.
•
Application-Ontologie: definiert den Wortschatz für eine bestimmte Anwendung (Application) und keine allgemeingültigen Konzepte. Der Fokus der Application-Ontologie liegt auf einem bestimmten Anwendungsgebiet und kann als eine Spezialisierung der Task und Domain Ontologie angesehen werden. Abbildung 5 zeigt ein Beispiel für eine Application-
16
Ontologie für Lagerräume. Ein Lagerraum hat eine Fläche von 500 m2 und kann spezialisiert werden in die beiden Konzepte Büro und Haupthalle. Dabei werden Konzepte als Ovale dargestellt und die Eigenschaften der Konzepte als Sechsecke. Die Generalisierung von Konzepten zu Superkonzepten ist durch gestrichelte Ovale dargestellt. Abbildung 5: Beispiel für eine Application-Ontologie
Raum Container
Gebäude
Lager hatFläche: 500 m2
Haupthalle
Fass
Büro
Fass
Farbe:gelb Volumen:50
Farbe:blau Volumen:80
2.1.2 Sprachen zur Modellierung von Ontologien Die explizite Modellierung einer Ontologie mit einer formalen Sprache ermöglicht zum einen eine präzise Mensch-zu-Mensch-, Mensch-und-Maschine und Maschinezu-Maschine-Kommunikation. Des Weiteren unterstützt eine formale Beschreibung den Einsatz von Schlussfolgerungsverfahren, die es ermöglichen, Rückschlüsse aus den modellierten Zusammenhängen einer Ontologie zu ziehen (Inferenz). Für die Darstellung der Ontologie in einem maschinenlesbaren und maschineninterpretierbaren Format wurden zwei Arten von formalen Sprachen vorgeschlagen: Beschreibungslogik-basierte und Frame-basierte Sprachen. Sprachen wie das Resource Description Framework Schema (RDFS) und die Web Ontology Language (OWL) basieren auf Beschreibungslogiken. Diese Sprachen haben sowohl eine graphische als auch eine XML-basierte textuelle Syntax. Frame4-basiere Sprachen bieten zur Ontologiemodellierung die Elemente Frames (vergleichbar einem Ontologiekonzept) 4 Frames sind Varianten von semantischen Netzen. Alle Informationen, die für einen Begriff relevant sind, werden in einer Dateneinheit, genannt Frame gespeichert [Mins75].
17
und Slots (vergleichbar einer Ontologieeigenschaft). Frames bilden eine Klassenhierarchie und Slots können mit zusätzlichen Einschränkungen (Restriktionen) versehen werden. In diesem Abschnitt werden zunächst Anforderungen an Ontologiesprachen definiert und im Anschluss Frame- und Beschreibungslogik-basierte Modellierungssprachen im Hinblick auf diese Anforderungen überprüft. Die Entscheidung für eine dieser Ontologiesprachen als Grundlage für die Realisierung einer Modellierungsunterstützung soll auf der Validierung dieser Anforderungskriterien basieren. Da alle Beschreibungslogik-basierten Sprachen die XML/RDF-Syntax als Austauschformat verwenden, werden auch XML und Basiskonstrukte von RDF eingeführt. Zudem werden Grundlagen zu XML für das im Kapitel 3 erweiterte Austauschformat für Petri-Netze benötigt. Anforderungen an Modellierungssprachen für Ontologien: Ausdrucksmächtigkeit: a) Ein Konzept kann durch die Vereinigung zweier Konzepte entstehen (Super/Subkonzept). Bei der Modellierung von Ontologien sollten komplex strukturierte Objekte der Realwelt adäquat beschreibbar sein (z.B. Durchschnitt, Vereinigung). b) Ein Konzept wird durch Eigenschaften näher beschrieben. Die Eigenschaften müssen durch Einschränkungen näher spezifizierbar sein, um eindeutig den Definitions- und Wertebereich von Eigenschaften ausdrücken zu können (aber auch Einschränkungen wie Transitivität oder inverse Eigenschaften). c) Eigenschaften von Konzepten können als Wertebereich Objekt- oder Datentypen haben. Die Ontologiemodellierung sollte einfache und komplexe Datentypdefinition unterstützen (XML Schema data types). Der Datentyp string beispielsweise definiert, dass ein Konzept eine Zeichenkette ist und damit bestimmte Operationen zulässt (nicht zugelassene Operationen wären die Addition oder die Division von Konzepten). d) Dieselben Konzepte können in zwei Ontologien unterschiedlich benannt werden. Die unterschiedliche Benennung kann bei der Zusammenführung Schwierigkeiten bereiten. Es sollten Konstrukte vorhanden sein, mit denen die Gleichwertigkeit von Konzepten ausgedrückt werden kann (z.B. Auto = PKW). e) Ein Konzept kann in einer konkreten Beziehung zu einem anderen Konzept stehen; d.h., es muss möglich sein, Beziehungen zwischen Konzepten in Form von Kardinalitäten angeben zu können (1:1 oder 1:n).
18
f) Ein maschinenlesbares und -interpretierbares Beschreibungsformat würden den Austausch von Ontologien bzw. Teile einer Ontologie unterstützt. Zudem unterstützt ein solches Format Inferenzen, die eine Konsistenzprüfung auf formaler Ebene und ein Auffinden von begrifflichen Entsprechungen ermöglichen. g) Bei der Modellierung von Ontologien sollte es möglich sein, Konstrukte einer Ontologie wieder verwenden zu können, um Zeit und Kosten zu sparen5. Es soll möglich sein, Konstrukte in passenden Anwendungsdomänen erneut nutzen zu können. h) Im Fall, dass nur einige Konzepte desselben Typs bestimmte Eigenschaften haben, müssen sich Regeln formulieren lassen, die diese Einschränkung beschreiben. i)
Ontologiekonstrukte müssen über eine eindeutige Kennung verfügen. Eine so genannte URI (Uniform Resource Identifier)
6
garantiert die eindeutige Identifi-
zierung eines Ontologiekonstrukts. Die URI kann mit der ISBN (International Standard Book Number), die jedes Buch eindeutig identifizier, verglichen werden. j)
In einer Ontologie sollten sich nicht nur statische, sondern auch dynamische Zusammenhänge abbilden lassen können. Bei der Modellierung einer Autovermietung müssen auch zeitliche Aspekte berücksichtigt werden. Die Vermietung eines Autos hat einen definierten Anfang und ein definiertes Ende, das mit einem Zeitstempel ausgedrückt wird.
k) Konzepte können verschiedene Ausprägungen haben. Es soll eine Unterscheidung zwischen Konzept und Ausprägung des Konzepts möglich sein. Formalisierungsgrad: Automatische Schlussfolgerungen können nur gezogen werden, wenn die Ontologie in einer präzisen und formalen Notation modelliert wird. Um Inferenzen zu ermöglichen, sollte die Ontologie in einer eindeutigen Notation vorliegen. Visualisierungsmöglichkeiten: a) Die Modellierung und das Verstehen einer Ontologie sollten verschiedenen Benutzern möglich sein. Benutzer mit geringen Kenntnissen über Beschreibungslogiken sollte auch eine Ontologie modelliert und nachvollziehen können. Deswegen sollten graphische Komponenten die Erstellung einer Ontologie unabhängig
5 In [BoNo05] wird gezeigt, das die Größe der Ontologie einer der signifikanten Kostenfaktoren bei der Erstellung von Ontologien ist. 6 Uniform Resource Identifier wurde standardisiert in RFC 3986: http://www.ietf.org/rfc/rfc3986.txt
19
von Benutzerkenntnissen unterstützen und anschauliche, graphische Visualisierungsmöglichkeiten für das Verstehen von Ontologien bereitgestellt werden. b) In einer Ontologie können sowohl Informationen, die jedem zugänglich sein sollen, als auch geheime Informationen modelliert werden können. Mit Sichten auf Ontologien kann bestimmten Benutzern Zugriff auf Teilmengen der Ontologie gewährt werden bzw. können Ontologien auf die Bedürfnisse von Benutzergruppen zugeschnitten werden. Inferenzmöglichkeiten: Es sollte möglich sein, anhand der Wissensbasis Schlussfolgerungen abzuleiten und eindeutige Interpretationen zuzulassen; z.B. durch Einsatz so genannter Inferenzmechanismen oder Reasoner [HuRy04]. F-Logik Eine Frame-basierte Sprache zur Modellierung von Ontologien ist die F-Logik. Ein erster Formalismus, um Schlussfolgerungen auf Frame-basierten Daten vorzunehmen, wurde von [KiLW95] vorgeschlagen. Frames bedeutet Anordnung oder Rahmen und ermöglichen die Darstellung von Attributen und Beziehungen zwischen Konzepten. Mit Frames können beispielsweise Klassenhierarchien grafisch veranschaulicht werden. In F-Logik werden die Vorteile von zwei unterschiedlichen Modellierungsansätzen vereinigt. Quelltext 1: Modellierung einer Ontologie mit F-Logik
20
Einerseits ist F-Logik objektorientiert und unterstützt alle Modellierungskonstrukte (Klassen, Beziehungen, Klassenhierarchien, Vererbung), die das objektorientierte (OO) Paradigma anbietet. Andererseits besitzt die F-Logik die Ausdrucksmächtigkeit von deklarativen Sprachen7. Es können Regeln zwischen den Objekten als logische Formeln definiert werden. Das folgende Beispiel aus [MaMo03] zeigt die F-LogikSyntax Person und Document sind Wurzelelemente, wobei Person die Unterklasse Autor hat. Zwischen den Klassen werden Beziehungen definiert: ein Autor hat ein Document geschrieben. Eine Instanz von Autor ist Alex und Peter. Eine Implementierung der F-Logik findet sich im deduktiven Datenbanksystem Ontobroker8. In Ontobroker wurde eine Inferenzmaschine integriert, die unter anderem die in F-Logik beschriebenen Ontologien und die darin enthaltenen generischen Regeln lesen und verarbeiten kann. Somit kann implizites Wissen gewonnen werden. Die F-Logik ist eine objektorientierte Sprache mit einer großen Ausdrucksmächtigkeit, die allerdings nicht entscheidbar ist. Es werden keine eindeutigen Interpretationen zugelassen. Darüber hinaus existieren für F-Logik keine adäquaten Visualisierungsmöglichkeiten als auch keine Serialisierung nach XML (keine Unterstützung von Datentypen). Die Semantik von ausdrucksstarken Logikprogrammen ist kompliziert. eXtensible Markup Language Die eXtensible Markup Language (XML) [W3C00] ist eine Teilmenge der umfangreichen Meta-Auszeichnungssprache Standard Generalized Markup Language (SGML). Der Vorteil von XML im Gegensatz zu SGML sind flexible Erweiterungsmöglichkeiten, indem beispielsweise Tags selbst definiert und neue Markup-Sprachen konzipiert werden können. Des Weiteren stellt XML Möglichkeiten bereit, neue Sprachen zu konzipieren9. Zur Beschreibung von XML-Inhalten kann entweder die Document Type Definition (DTD) oder XML-Schema10 verwendet werden. Im Gegensatz zu XML-Schema eignet sich DTD nur eingeschränkt zur Beschreibung von XMLDokumenten aufgrund mangelnder Typisierung und fehlender Namensräume. Namensräume erlauben die gemeinsame Nutzung verschiedener Schemata/globaler Typen in einem Dokument. XML-Schema kann die DTD vollständig ersetzen und
7
Deklarative Sprachen basieren auf einer rechnerunabhängigen, mathematischen Theorie. Berechnungen erfolgen als Manipulationen von Werten und die Hauptkontrollstruktur bildet die Rekursion, insbesondere aus Effektivitätsgründen die repetitive Rekursion [Ullm88]. 8 http://www.ontoprise.de/content/ 9 Sprachen wie ebXML [ebXML] oder XHTML [Mint03] basieren auf XML. 10 http://www.w3.org/2001/XMLSchema
21
besitzt umfangreichere Strukturbeschreibungen. Darüber hinaus ermöglicht es die Typisierung von Elementinhalten und Attributwerten und bietet verschiedene Modellierungsstile. Quelltext 2 zeigt ein XML Dokument mit dem Vaterknoten Publikation und seinen Kindnoten Titel, Autor, Herausgeber, Ort, ISBN, Buchtitel, Seiten und Serie. Das Element Autor wird noch durch seine zwei Kindnoten Name und Vorname beschrieben. Quelltext 2: XML-Dokument zur Beschreibung von Büchern
Semantische Erweiterung von XQuery Mustermann Tina Springer Berlin, Heidelberg 03053-12568-5 Datenbanksysteme und XML 22 - 37 Lecture Notes in Computer Science Mit XML kann die Struktur von Dokumenten unabhängig vom Inhalt des Dokuments definiert werden und es eignet sich als Austausch- und Beschreibungsformat für strukturierte und semi-strukturierte Dokumente. Deswegen wird im Kapitel 3 XML ein Austauschformat für Petri-Netze verwendet, damit die Unterstützung während der Geschäftsprozessmodellierung unabhängig vom Petri-Netz-Modell funktioniert. Zur Modellierung einer Ontologie eignet sich XML aber nicht. Eine präzise Beziehung zwischen Symbolen und Objekten kann nicht dargestellt werden. Die Unzulänglichkeit von XML resultiert aus den mangelnden Vorgaben zur Beschreibung der Bedeutung von Elementen. Die nachfolgenden zwei Beispiele im Quelltext 311 sollen diese Unzulänglichkeit verdeutlichen. Sowohl das rechte als auch das linke XMLDokument beschreiben Webdokumente mit einem Autor. Diese Informationen sind für den Menschen verständlich, weil wir aus den Namen der Tags die Bedeutung des Objekts ableiten können. Quelltext 3: XML-Dokument mit gleicher semantischer Bedeutung
href="page" 11
ODER
http://www.w3.org/DesignIssues/RDF-XML.html
22
Ora
Ora Ein Parser könnte überprüfen, ob es sich um syntaktisch korrekte Elemente handelt, aber keine Informationen über den Inhalt der Dokumente „schlussfolgern“. Mit XML beschriebene Dokumente sind damit maschinenlesbar, aber nicht maschineninterpretierbar. Deutlicher wird die Unzulänglichkeit von XML-Dokumenten in Hinsicht auf die Modellierung von Ontologien, wenn keine Informationen aus der Bedeutung der Tags abgeleitet werden können. Quelltext 4 zeigt ein für ein XML-Schema gültiges XML-Dokument12. Bekannt sei nur die Dokumentenstruktur. Der Betrachter kann nicht sagen, was der Elementinhalt a="ppppp" bedeutet, weil das umschließende Element ohne weitere Informationen keine implizite Bedeutung hat. Quelltext 4: XML-Dokument ohne implizite Bedeutung
a="ppppp" qqqqq Den Inhalt von könnten wir erst erschließen, wenn Metadaten vorliegen würden. Die nachfolgenden Sprachen liefern Metadaten zu Elementen und unterstützen eine automatische Verarbeitung und Interpretation von Dokumenten durch Maschinen. Resource Description Language RDF ist ein formal fundiertes graphisches Modell [W3C04a], bestehend aus zwei Arten von Knoten – Ellipsen und Rechtecken – die über Kanten miteinander verbunden sind. Ein solches Tripel stellt in RDF eine Aussage dar [W3C04b]. Ellipsen repräsentieren Ressourcen und werden durch ein URI gekennzeichnet. Kanten beschreiben Eigenschaften von Ressourcen und bekommen durch Eigenschaftswerte (Rechtecke) eine spezifische Bedeutung. Abbildung 6 zeigt eine einfache RDFAussage – bestehend aus dem Tripel #WFM, Autor und Thomas Meier. Auf die Ressource
WFM
wird
durch
die
URI
http://www.aifb.uni-
karlsruhe.de/vorlesungenSS06/WFM/ verwiesen, Autor ist die Eigenschaft und Thomas Meier der Eigenschaftswert der zu beschreibenden Ressource. 12 Ein XML-Dokument ist gültig für ein XML-Schema, wenn es den Definitionen in einem zugehörigen XML-Schema entspricht.
23
Abbildung 6: Einfache RDF-Aussage
http://www.aifb.uni-karlsruhe.de/ vorlesungSS04/WFM/
Autor
Thomas Meier
Aussagen, Eigenschaften und Werte können ihrerseits wieder Ressourcen sein und somit untereinander kombiniert werden. RDF weist den Daten damit Bedeutung zu. RDF-Aussagen können äquivalent in einer RDF/XML-Syntax ausgedrückt werden [W3C04c]. Diese erlaubt maschinenlesbare und eindeutig verständliche Aussagen über Ressourcen. Im Quelltext 5 ist die RDF/XML-Syntax der RDF-Aussage aus Abbildung 6 veranschaulicht. Quelltext 5: RDF/XML-Syntax zur RDF-Aussage in Abbildung 6
Thomas Meier Allerdings gibt RDF kein vordefiniertes Metadatenvokabular vor, sondern ermöglicht die Integration verschiedener Standards und die Definition unterschiedlicher Schemata, mit denen die Gültigkeit von RDF-Aussagen überprüft werden kann. Während ein XML-Schema nur eine Vorgabe für die syntaktische Struktur von wohlgeformten XML-Dokumenten macht, gehen RDF-Schemata (RDF-S) einen Schritt weiter: mit ihnen wird eine semantische Zuordnung von Begriffsbeziehungen erreicht, und den beschriebenen Eigenschaften wird eine semantische Ordnung gegeben, was eine automatische Weiterverarbeitung ermöglicht [W3C04d]. Für die Syntax der Web Ontology Language (OWL), wie sie im Anschluss an RDF-S erklärt wird, verwendet einige RDF-S-Elemente, die nachfolgend erklärt werden [Hjel01]: •
rdfs:Resource Ressourcen sind der allgemeinste Begriff für alle Elemente, die mit RDF-S beschrieben werden. Sämtliche modellierten Elemente sind Instanzen dieser Klasse.
•
rdfs:Class Ressourcen können (wie im objektorientierten Sinne) in Klassen gruppiert werden. Der Typ einer Ressource wird über rdf:type definiert.
24
Im Quelltext 6 sind zwei verschiedene Arten der Definition von Klassen beschrieben. Der Name der Klasse kann entweder in einem Description-Element und einem rdf:type-Element geschachtelt oder nur als rdfs:Class deklariert werden. Quelltext 6: Verschiedene Schachtelungen von rdfs:Class
oder •
rdfs:Literal Literale sind Ressourcen wie Ganzzahlen oder Zeichenketten. Sie können einfach oder typisiert (rdfs:datatype) sein.
•
rdf:Property Eigenschaften von Ressourcen und Beziehungen zwischen Ressourcen können durch Eigenschaften (properties) dargestellt werden. Eigenschaften sind nach der RDF-S-Syntax auch Ressourcen, werden aber nicht als Subjekt sondern als Prädikat in RDF-Aussagen ausgedrückt.
RDF-S definiert auch mehrere Eigenschaften, um hierarchische Beziehungen zwischen den Ressourcen zu beschreiben. •
rdfs:type Mit type kann die Zugehörigkeit einer Ressource zu einer Klasse festgelegt werden.
•
rdfs:subClassOf Die Vererbung von Eigenschaften kann, wie bei objektorientierter Programmierung, mit Unterklassen erreicht werden. Jede Instanz der Unterklasse ist automatisch eine Instanz der Oberklasse.
•
rdfs:domain und rdfs:range Mit diesen Konstrukten können Werte- und Definitionsbereiche für Eigenschaften formuliert werden.
Die Beschreibungslogik-basierten Sprachen sind eigenschaftsorientiert - d.h. Eigenschaften werden Ressourcen zugeordnet und können sogar ohne Klassenzugehörigkeit definiert werden. Die Syntax basiert weiterhin auf XML - somit ist die plattformunabhängige Verarbeitung von Dokumenten gewährleistet. Die wichtigsten Einschränkungen von RDF-S im Hinblick auf die Modellierung von Ontologien sind: •
keine lokale Definition von Definitions- und Wertebereichen (domain- und range) von Eigenschaften,
•
nur unzureichende Unterstützung von Kardinalitäten,
•
keine Definition von Axiomen wie Transitivität, Inverse oder Symmetrie,
25
•
keine Unterstützung von Äquivalenz von Klassen,
•
keine Verwendung von booleschen Ausdrücken, um neue Konzepte aus vorhandenen Konzepten zu bilden.
Web Ontology Language Die Web Ontology Language (OWL) [McHa03] geht über die Ausdrucksmächtigkeit von RDF-S hinaus und erweitert die Semantik des Modells dahin gehend, dass eine möglichst automatische Interpretation der Aussagen möglich wird. Die wichtigsten Eigenschaften, die OWL von den bisher beschriebenen Sprachen unterscheidet, sind: •
zwischen Konzepten können Mengenbeziehungen ausgedrückt werden,
•
es wird ein umfangreiches Typsystem für Eigenschaften unterstützt,
•
es können Merkmale und Einschränkungen von Eigenschaften definiert werden (Transitivität, Inverse, Symmetrie).
OWL wurde in drei Versionen entworfen, die sich in der Ausdrucksmächtigkeit unterscheiden: OWL Lite, OWL DL (Description Logic) und OWL Full. Die Wahl der OWL-Version ist vom benötigten Grad der Ausdrucksmächtigkeit (Komplexität) zur Modellierung der Ontologie abhängig. Diese Anforderungen ändern sich je nach Zielen, die eine zu implementierende Anwendung erfüllen soll. •
OWL Lite: verfügt im Gegensatz zu OWL DL und OWL Full über wenige formale Konstrukte und unterstützt somit hauptsächlich Benutzer, die einfache Klassifikationshierarchien ohne Konzepteinschränkungen modellieren wollen. Mit den OWL-Lite-Konstrukten sollen einfach und schnell Werkzeuge und Anwendungen implementiert werden können. Für die Deklaration von Konzepten wird in OWL ein eigenes Konstrukt verwendet: . RDF-S bietet auch ein Konzeptkonstrukt an, aber in der Deklaration eines RDF-S-Konzeptes können auch Metakonzepte (Konzepte, deren Instanzen wiederum Konzepte sind) eingeschlossen sein. Deklarierte Konzepte können in einer Konzepthierarchie organisiert werden und werden mit dem Element umgesetzt. Neben der Modellierung von Konzepten stehen dem Benutzer auch Konstrukte zur Modellierung von Eigenschaften zur Verfügung. OWL basiert auf dem Modell von RDF-S, weshalb Eigenschaften als selbständige Elemente modelliert und erst dann mit bestimmten Konzepten in Beziehung
26
gestellt werden. Eine Beziehung kann zwischen zwei Instanzen oder einer Instanz und einem Wert bestehen. Im ersten Fall handelt es sich um eine Eigenschaft mit dem Namen . Eine ObjectProperty
hat
als
Wertebereich
bestimmte
Konzepte,
die
mit
ausgedrückt werden kann. Der zweiten Fall (Beziehung zwischen
Instanz
und
Wert)
wird
durch
die
Eigenschaft
ausgedrückt, die als Wertebereich keine Konzepte, sondern einen XML-Schema-Datentyp oder ein RDF Literal hat. Wie in RDF-S hat jede Eigenschaft neben dem Wertebereich auch einen Definitionsbereich. Mit wird der Definitionsbereich von Klassen über Eigenschaften deklariert. Das wichtigste Ziel bei der Konzeption von OWL war eine verbesserte Unterstützung von automatischen Schlussfolgerungen. In OWL Lite ist es möglich, eine ObjectProperty als transitiv () oder symmetrisch () zu definieren. Es können auch inverse Eigenschaften definiert werden. Im Quelltext 7 wurde eine ObjectProperty hasChild mit einem Definitionsund Wertbereich Person und Child, die invers zur Eigenschaft hasParent ist, modelliert.
Quelltext 7: Modellierung der inverseOf-Einschränkung und ein für das Schema gültiges Instanzdokument
Instanz: Aufbauend auf dieser Modellierung von Konzepten mit Eigenschaften und deren Einschränkungen kann mit Hilfe von Inferenzmechanismen gefolgert werden, dass Thomas ein Elternteil von Jenny ist. Ähnlich
wie
bei
RDF-S,
können
die
Eigenschaften
mit
in Hierarchien organisiert werden. Zusätzlich kann eine Beziehung das Prädikat haben. Es besagt, dass diese Eigenschaft höchstens einen oder gar keinen Wert
27
annehmen kann. Es ist also eine Abkürzung für die Kardinalitäten min=0 und max=1. Eine noch speziellere Eigenschaft ist . Quelltext 8: Modellierung der inverseFunctionalProperty-Einschränkung
Aus Quelltext 8 und dem Wissen, dass WineABC die Eigenschaft hasMaker mit dem Wertebereich MakerXYZ gilt und Maker123 die Eigenschaft producesWine mit dem Wertebereich WineABC gilt (und WineABC keine weiteren Maker hat), kann über ein automatisches Schließen herausgefunden werden, dass MakerXYZ die gleiche Instanz wie Maker123 ist. Die Spezifikation von Kardinalitäten ist in OWL Lite eingeschränkt. Es können lediglich Minimum- und Maximum-Kardinalitäten von 0 bis 1 gesetzt werden. Das bedeutet, dass nur einfache Beziehungen definiert werden können (1:0, 1:1 oder 0:1). Konzepte und Instanzen, die gleiche Dinge beschreiben, können mit so genannten Äquivalenzmechanismen zusammengeführt werden. Gleichwertige
Konzepte
können
durch
die
Deklaration
des
Konstrukts
verschmolzen werden. Zwei Konzepte aus verschiedenen Ontologien, z.B. Auto und PKW, könnten hiermit als äquivalent gesetzt werden, womit alle Instanzen des Konzepts Auto gleichzeitig auch Instanzen des Konzepts PKW sind und alle Instanzen des Konzepts PKW auch Instanzen von Auto sind. Synonyme von Eigenschaften können analog mit gesetzt werden. Allerdings werden diese beiden Konstrukte (owl:equivalentClass und owl:equivalentProperty) selten in der Ontologiemodellierung verwendet, weshalb in Kapitel 4 Verfahren zur Auffindung von Synonymen in Ontologien vorgestellt werden. Zwei Ressourcen, die verschiedene Namen haben, können auf dieselbe Instanz verweisen. Dieser Zusammenhang wird mit dem Konstrukt ausgedrückt. Die Namenskonventionen erlauben es nicht, dass zwei Instanzen als unterschiedlich beschrieben werden, indem sie unterschiedlich benannt
28
werden. Wenn man die Eigenschaft hatAugenfarbe als funktional definiert und dann mit den zwei Werten blau und grün belegen würde, so würde über das automatische Schließen gefolgert werden, dass blau und grün
die
gleiche
Farbe
sind.
Wenn
dagegen
die
Farben
als
definiert werden, dann wird über das automatische Schließen dieser Widerspruch (blau ≠ grün) erkannt werden. Bei mehreren
Instanzen,
die
verschieden
voneinander
sind,
kann
verwendet werden. Ein weiterer Vorteil von OWL im Gegensatz zu RDF-S ist die Möglichkeit der Definition von lokalen Beschränkungen von Eigenschaften. Bei RDF-S gelten definierte Einschränkungen von Eigenschaften global, d.h. Einschränkungen (domain und range) gelten für alle Klassen, die mit der beschränkenden Eigenschaft verbunden sind. Weiterhin können unterschiedliche Einschränkungen für verschiedene Klassen nicht definiert werden. Die Eigenschaft hatHersteller mit dem Wertebereich Produzent könnte z.B. nicht für Weine auf Weingut verfeinert, also lokal eingeschränkt werden. In OWL Lite (im Gegensatz zu OWL DL) können Einschränkungen aber nur begrenzt angewendet werden. Als einzige Einschränkung kann eine Schnittmenge aus Instanzen von einer nicht anonymen Klasse und einer Eigenschaftsbeschränkung gebildet werden. Die Syntax von wird wie im Quelltext 9 veranschaulicht, modelliert: Quelltext 9: Modellierung der intersectionOf-Einschränkung
Etwa 20 neue Konstrukte schränken syntaktisch die RDF-S-Syntax ein. Damit ist jedes OWL Lite Dokument auch ein gültiges RDF-S-Dokument, aber nicht umgekehrt.
29
•
OWL DL: Die Sprachkonstrukte von OWL Lite sind, wie gerade beschrieben, nur für einfache Modellierung von Ontologien ausreichend. Die höhere Ausdrucksmächtigkeit von OWL als Ontologiemodellierungssprache wird bei OWL DL deutlicher. OWL DLhat zwei wichtige Eigenschaften: hohe
Ausdrucksmächtigkeit
und
Entscheidbarkeit.
Mit
automatischem
Schließen kann impliziertes Wissen in endlicher Zeit berechnet und gewonnen werden. Automatisches Schließen oder Reasoning, die Arten von Inferenzmechanismen sind, unterstützen Konsistenzprüfungen von Wissensbasen, Strukturierung von Ontologien durch Berechnung der Unterklassen und Äquivalenz- und Disjunktion-Bestimmungen zwischen Konzepten [HuRy04]. Durch das automatische Schließen auf Instanzebene kann die Zugehörigkeit der Instanzen zu Konzepten inferiert werden. Die Ausdruckmächtigkeit von OWL DL drückt sich vor allem in der unterschiedlichen Art und Weise aus, wie Konzepte deklariert werden können; durch eine Aufzählung der Instanzen oder als beliebige boolesche Verknüpfungen von Konzepten und Eigenschaften mit , oder . Zusätzlich kann mit dem Element eingeschränkt werden, dass zwei Konzepte keine gemeinsamen Instanzen haben dürfen. Die Semantik von Beziehungen zwischen Klassen kann bei OWL DL exakt spezifiziert werden. Die Kardinalitäten von Eigenschaften können beliebig definiert werden und sind nicht mehr auf 0 und 1 beschränkt. •
OWL Full ist die komplexeste, ausdrucksmächtigste, allerdings auch eine nicht
entscheidbare,
Variante
von
OWL.
OWL-
und
RDF-S-
Sprachelemente können beliebig kombiniert werden. OWL Full stützt sich auf die gleichen Sprachkonstrukte wie OWL DL, wobei die Anwendbarkeit der Konstrukte mehr Freiraum bietet. Ähnlich wie bei RDF-S wird in OWL Full nicht zwischen Instanzen und Klassen unterschieden. Instanzen können selbst wieder Klassen mit Eigenschaften sein, was Schwierigkeiten bei Inferenzen bereitet. Ein Zusammenhang zwischen RDF und den drei OWL-Varianten ist in Abbildung 7 veranschaulicht (angelehnt an [Lacy05]). OWL Full ist die ausdrucksmächtigste Sprache, sie ist allerdings nicht entscheidbar. In OWL DL gibt es mehr Einschränkungen von Elementen, dafür ist sie entscheidbar.
30
Abbildung 7: Zusammenhang zwischen Beschreibungslogik-basierten Sprachen
Ausdrucksmächtigkeit
OWL FULL
OWL FULL Ontology
OWL DL Is-a
OWL Lite
OWL DL Ontology
Is-a OWL Lite Ontology
RDF
2.1
Geschäftsprozesse
Im vorhergehenden Kapitel wurden der Ontologie-Begriff und Sprachen zur Modellierung von Ontologien detailliert beschrieben. Zur Umsetzung einer Unterstützung während der Geschäftsprozessmodellierung werden in diesem Kapitel der Zweck von und Sprachen zur Modellierung von Geschäftsprozessen erklärt. Zusätzlich werden noch Analysemethoden für Geschäftsprozesse eingeführt. Nach [HaCh93] ist ein Geschäftsprozess „a collection of activities that takes one or more kinds of input and creates an output that is of value for the customer”. In [Dave93] wird ein Geschäftsprozess definiert als „a structured, measured set of activities designed to produce a specified output for a particular customer or market. It implies a strong emphasis on how work is done within an organisation, in contrast to a product focus´s emphasis on what.” In dieser Arbeit wird auf die Definition von Geschäftsprozessen nach A. Oberweis [Ober96] zurückgegriffen. Er versteht unter einem Geschäftsprozess eine Menge von manuellen, teil-automatisierten oder automatisierten betrieblichen Aktivitäten, die nach bestimmten Regeln, auf ein bestimmtes Ziel hin ausgeführt werden. Ein zusammenhängender, rechnergestützter Teil eines Geschäftsprozesses wird Workflow genannt. Der Unterschied zwischen Geschäftsprozessen und Workflows liegt in der Automatisierbarkeit der Prozesse. Die Struktur realer Prozesse wird durch so genannte Prozessmodelle beschrieben. Dazu müssen alle Aktivitäten, die auszuführen sind, erkannt werden. Außerdem müssen alle Pfade entlang des Pro-
31
zesses und alle Regeln, die für die Wahl der Pfade entscheidend sind, z.B. mit Hilfe von Interviews mit Wissensträgern aufgenommen werden. Prozessmodelle von Geschäftsprozessen werden im Unternehmen Geschäftsprozessmodelle genannt. Prozessmodelle von Workflows werden Workflow-Modelle genannt. Das ProzessManagement ermöglicht, dass der Arbeitsfluss so organisiert wird, dass die zu leistende Arbeit zur richtigen Zeit und von der richtigen Ressource ausgeführt wird [AaDO00]. Wichtige Instrumente, damit Geschäftsprozesse dem technischen und wirtschaftlichen Änderungen gerecht und Umwelteinflüsse des Unternehmens adaptiert werden können, sind die Modellierung, Analyse und kontinuierliche Verbesserung von Prozessen.
2.2.1 Zweck der Geschäftsprozessmodellierung Bevor Systementwickler oder Programmierer lauffähige Programme erzeugen oder Systemanalytiker Anpassungen oder Verbesserungen der Prozesse vornehmen können, benötigen sie als Grundlage ihrer Arbeit ein Prozessmodell, welches die relevanten Arbeitsschritte, die dafür verwendeten Materialien und die verantwortlichen Personen beschreibt. Prozessmodelle liefern Transparenz über alle ablaufenden Prozesse, benötigten Prozessobjekte und beschreiben verwendete Ressourcen. Ein Prozessmodell wird von einem Modellierer erstellt. Dieser muss sich zunächst detaillierte Informationen über die zu modellierenden Geschäftsprozesse besorgen. Die Informationsbeschaffung kann durch Interviews mit Wissensträgern, Analyse von Unterlagen und eigene Beobachtung gewonnen werden [StHa02]. Wichtig ist, dass bei der Wissensgewinnung folgende Fragen beantwortet werden: •
Was ist relevant für die Modellbildung (z.B. welche Ressourcen, Objekte)?
•
Welche Konzepte und welche Beziehungen existieren?
•
Wie fein muss das resultierende Prozess-Modell sein?
Diese Fragen müssen in Kontext der Geschäftsprozessmodellierung beantwortet werden, d.h. Ziele, die mit der Modellierung der Geschäftsprozesse verfolgt werden, und der Ausschnitt des Prozessmodells aus der Realwelt tragen entscheidend zur Modellgestaltung bei. Verschiedene Kontexte liefern unterschiedliche Modelle; das bedeutet, dass ein Prozessmodell niemals eindeutig ist und derselbe Geschäftsprozess unterschiedlich modelliert werden kann.
32
Im Folgenden werden mögliche Ziele einer Prozess-Modellierung nach [Ober96] aufgelistet: •
Zur Erleichterung der Kommunikation zwischen verschiedenen Personen
•
Zum Zweck der Dokumentation
•
Zum Zweck der Analyse für eine nachfolgende Verbesserung und Reorganisation
•
Zu Entwurfszwecken
•
Zur Planung des Ressourcen-Einsatzes
•
Als Grundlage für die Unterstützung durch ein Workflow-ManagementSystem bei der Ablaufplanung
•
Als Grundlage der Überwachung und Steuerung von Abläufen
2.2.2 Sprachen zur Modellierung von Geschäftsprozessen Zur Modellierung von Prozessen können verschiedene Sprachen eingesetzt werden, unter anderen Ereignisgesteuerte Prozessketten [KeNS92] oder (höhere) PetriNetze [Aals98], [Ober96]. Vor der Wahl einer konkreten Modellierungssprache muss sich der Modellierer über die Anforderungen im Klaren sein, die die gewählte Methode erfüllen soll. Zur Orchestrierung13 und Choreographie14 von Geschäftsprozessen wurden die Business Process Execution Language [AABC05] bzw. die XML Process Definition Language [WMC05] als so genannte ausführbare Sprachen entwickelt. Zusammenhänge zwischen den Modellierungssprachen werden ebenfalls in diesem Kapitel angerissen. Ereignisgesteuerte Prozessketten Ereignisgesteuerte Prozessketten (EPK) [KeNS92] verfügen aufgrund ihrer graphischen Darstellung über eine hohe Anschaulichkeit, lassen aber nur eine statische Sicht auf Prozess-Strukturen zu. Die Hauptkonstrukte einer EPK sind Ereignisse, Funktionen und drei Verknüpfungsoperatoren (XOR, AND, OR), wie in Abbildung 8 veranschaulicht. Neben Knoten haben EPKs Kanten, die Ereignisse mit Funktionen und Funktionen mit Ereignissen verbinden. Ereignisse sind passive Elemente, die Auslöser für Funktionen sind. Funktionen sind aktive Elemente, die etwas durchführen.
13 14
Gibt Regeln an, nach denen Web-Services zu einem komplexen Dienst aggregiert werden können. Beschreibt Regeln, nach denen Web-Services interagieren können.
33
Abbildung 8: Konstrukte einer EPK
Verzweigungen und Synchronisationen von Ereignissen/Funktionen werden nicht implizit in EPKs modelliert, sondern über Verknüpfungsoperatoren ausgedrückt. Eine Verzweigung einer Funktion in mehrere Ereignisse muss mit einem der drei Verknüpfungsoperatoren modelliert werden (siehe Abbildung 8). Eine Funktion hat die Entscheidungskompetenz über den weiteren Ablauf; Ereignisse haben keine solche Entscheidungskompetenz. Deswegen ist es nicht erlaubt, dass ein vorwärtsverzweigtes Ereignis mit zwei Funktionen über XOR- und ORVerknüpfungsoperatoren verbunden ist. In erweiterten EPKs (eEPK) ist es möglich, Funktionen mit Organisationseinheiten zu verbinden und ein- und ausgehende Datenflüsse zu modellieren. Damit können Datenflüsse und Organisationseinheiten über mehrere Prozessschritte verfolgt werden. EPKs können den Anforderungen der Simulation von Geschäftsprozessen ohne syntaktisch-semantische Erweiterungen nicht gerecht werden. Die Syntax von EPKs ist zwar semi-formal, es existieren allerdings einige Ansätze in der Literatur, die die Syntax von EPKs formalisieren [AaDK02]. Insgesamt besitzen EPKs nur hinreichende Regeln für die Modellausführung. Business Process Execution Language Die Business Process Execution Language (BPEL) ist eine textuelle Sprache, die es ermöglicht, komplexe Geschäftsprozesse, die als Web-Services15 definiert werden, zu orchestrieren16. Ende des Jahres 2005 wurde BPEL in der zweiten Version von
15 Zu Definitionen für Web-Services siehe [UDDI01] oder [W3C02]. Nach [W3C02] ist ein Web-Service a software application identified by a URI, whose interfaces and bindings are capable of being defined, described, and discovered as XML artefacts. A Web Service supports direct interactions with other software agents using XML-based messages exchanged via Internet-based protocols. 16 In der BPEL-Spezifikation wird zwischen „executable“ und „abstract“ BPEL-Prozessen unterschieden. Im Folgenden werden nur ausführbare Prozesse, die die Prozess-Orchestrierung unterstützen, vorgestellt. Abstrakte BPEL-Prozesse werden zur Modellierung von öffentlichen Eigenschaften von Geschäftsprotokollen verwendet.
34
der Standardisierungsorganisation OASIS17 vorgelegt. Die Hauptkonzepte von BPEL sind basic und structured activities, variables, partner links, und handlers. In Abbildung 9 sind die Konzepte von BPEL in einem UML-Klassendiagramm dargestellt [HKKR05]. Ein minimaler BPEL-Prozess definiert partner links, variables und activities. Mit partner links, auf die über basic activities verwiesen wird, wird der Nachrichtenaustausch zwischen zwei Parteien repräsentiert. Über den partner link kann eine Referenz zu einem partner link type definiert werden, in dem gegenseitig notwendige Endpunkte des Nachrichtenaustausches festgelegt werden: die beiden Attribute myRole und partnerRole geben jeweils die Rollen der Partner an. Variablen werden verwendet, um sowohl Prozess-Daten als auch Eingangs- und Ausgangsnachrichten, die über Web-Service-Aktivitäten mittels partner links ausgetauscht werden, zu speichern. Über die basic activities assign, throw und rethrow können Variablenwerte verändert werden. Abbildung 9: Metamodel von BPEL
17
http://www.oasis-open.org/home/index.php
35
BPEL ist eine blockorientierte Sprache18 und erlaubt es, bei der Definition von lokalen Umgebungen (Scopes) lokale Variablen einzufügen. Mit den Scopes können außerdem Fehlerbehandlungen (Fault Handler), Kompensationsbehandlungen (Compensation Handler) und Ereignisbehandlungen (Event Handler) beschrieben werden. Durch die Schachtelung von structured activities wird der Kontrollfluss in BPEL ausgedrückt. BPEL bietet eine Serialisierung nach XML an. Schleifen in Prozessen können durch die Aktivitäten while, forEach und repeatUntil ausgedrückt werden, eine sequentielle Abarbeitung durch sequence, eine parallele durch flow und Bedingungen durch if. Zusätzliche Synchronisationseinschränkungen werden durch links definiert. Basic activities sind atomare Aktivitäten, die nicht aus anderen Aktivitäten zusammengesetzt sind. Die invoke-Aktivität wird zum synchronen oder asynchronen Aufruf eines Web-Service verwendet. Mit receive und request werden Schnittstellen zum Empfangen (receive) von und zum Antworten (request) auf Nachrichten definiert. Informationen von Variablen können mit assign-Aktivitäten verändert werden. Damit Aktivitäten auf bestimmten Input warten, kann die wait-Aktivität eingefügt werden. Empty und exit sind Aktivitäten zum „Nichtstun“ bzw. zur Beendigung von Prozessen. Einfache Aktivitäten haben als Input und Output Nachrichten-Variablen und verweisen auf partner links. XML Process Definition Language Ursprünglich wurde die XML Process Definition Language (XPDL) als ein XMLbasiertes Austauschformat für Interfaces des Workflow Reference Models vorgeschlagen. XPDL sollte ein minimales Meta-Model beschreiben, das gemeinsam verwendete Konstrukte in einer Prozessdefinition identifizieren sollte [WMC02]. Ende 2005 wurde eine zweite Version von XPDL veröffentlicht. Die Intention dieser XPDLVersion ist vorrangig, ein XML-basiertes Austauschformat für die Business Process Modeling Notation [Whit04] anzubieten. Die Umsetzung von XPDL 2.0 erforderte neue Konzepte, die aus BPMN übernommen wurden, wie pools, gateways oder events. Die Hauptkonzepte von XPDL sind in der Abbildung 10 in einem UMLKlassendiagramm veranschaulicht.
18 Die Ausführung von Anweisungen erfolgt blockweise. Dabei können einzelne Blöcke beliebig ineinander verschachteln werden.
36
Abbildung 10: Metamodell von XPDL
Ein package ist das abstrakteste Konzept und beinhaltet alle Informationen, die mit einer Prozessdefinition (inklusive pools, processes, participants, applications, type, declaration und data fields) verbunden sind. Ein Prozess (bzw. Workflow) definiert die auszuführenden Aktivitäten und ihre Reihenfolge. Seit der zweiten Version können in XPDL auch partner links (vergleichbar mit partner links in BPEL) definiert werden. Der Kontrollfluss ergibt sich in XPDL durch Transitionskanten (transition arcs) zwischen Aktivitäten. Dabei können Transitionen Bedingungen zugeordnet werden, die das Aktivieren von Transitionen einschränken. Operationen von Aktivitäten können participants, applications und data field definieren. In XPDL werden verschiedene Typen von Aktivitäten unterschieden. Die task/tool-Aktivität beschreibt eine Aktivität, die automatisch ohne menschliche Interaktion ausgeführt werden kann. Join und Split- Bedingungen werden durch route-Aktivitäten spezifiziert. Diese Eigenschaften von route-Aktivitäten unterstützen die Formulierung
37
komplexer Bedingungen des Kontrollflusses. Über die block activity wird ein eingebetteter Unterprozess ausgedrückt, der durch Aktivitäten (activity set) ausgelöst wird. Aus der BPMN-Spezifikation wurden spezielle Typen von Aktivitäten, so genannte events, übernommen. Im Gegensatz zur BPEL unterstützt XPDL statische Informationen von Aktivitäten mittels zeitlicher Beschränkungen (deadline und limit) und Eigenschaftsattribute, die für Simulationsengines nützlich sind. Des Weiteren können in BPEL noch keine Unterprozesse definiert werden. Bislang wurde eine Erweiterung von BPEL um Unterprozesse nur in einem ersten Entwurf vorgeschlagen [KMLP05]. XPDL soll ausdrücklich interoperabel zu Applikationen wie Enterprise Java Beans (EJBs)19 oder XSLT20 sein. BPEL unterstützt nur die Modellierung und Ausführung von Web-Services. Petri-Netze Petri-Netze [Reis86, Pete77] kombinieren Vorteile der graphischen Darstellung von Geschäftsprozessen mit einer formalen Semantik des beschreibenden Systemverhaltens. Aufgrund ihrer umfangreichen mathematischen Fundierung können PetriNetz-basierte Geschäftsprozesse modelliert, analysiert und mittels einer Workflowengine ausgeführt werden. Nach [Ober96] erfüllen Petri-Netze sämtliche Anforderungen an eine Modellierungssprache für Geschäftsprozesse: formale Syntax und Semantik, graphische Darstellung, hohe Ausdrucksmächtigkeit, Werkzeugunterstützung, Herstellerunabhängigkeit sowie explizite Darstellung von Zuständen und Ereignissen. Petri-Netze sind eine anschauliche und einfach zu erlernende Modellierungsmethode für diskrete dynamische Systeme, mit der sich sowohl strukturelle als auch dynamische Eigenschaften abbilden lassen. Die allgemeine Definition eines Netzes [Petr62, BrRR87] gilt für alle Petri-Netz-Typen. Definition 6: Netz
Ein Tripel N= (S, T, F) wird als Netz bezeichnet, falls gilt:
19 20
(i)
S , T sind endliche Mengen
(ii)
S∩T = ∅
(iii)
S∪T ≠ ∅
(iv)
F ⊆ (S × T) ∪ (T × S)
http://java.sun.com/products/ejb/ http://www.w3.org/TR/xslt
38
Die Menge S beschreibt Stellen21. Transitionen22 sind die Elemente der Menge T . Die Flussrelation F des Netzes N wird durch gerichtete Kanten zwischen den Stellen und Transitionen gebildet. Als Petri-Netz wird ein gerichteter, bipartiter Graph mit zwei disjunkten Knotenmengen und einer Menge von Kanten zwischen diesen Knoten bezeichnet. Die disjunkten Knotenmengen sind Stellen (dargestellt als Kreise) und Transitionen (dargestellt als Vierecke). Stellen sind die passiven und Transitionen die aktiven Komponenten eines Ablaufs. Abbildung 11 zeigt die graphische Darstellung eines Netzes N=(S,T,F). Es besteht aus folgenden Mengen: S={s1,s2,s3,s4,s5,s6,s7}, T={t1,t2,t3} F={(s1,t1),(t1,s2),(t1,s3),(t1,s4),(t1,s5),(s2,t2),(s3,t3), (s4,t3),(s5,t3),(t2,s6),(t2,s7),(t3,s7)} Abbildung 11: Ein Petri-Netz
t2
s2 s1
t1
s3
t3
s6
s7
s4 s5 Für unterschiedliche Anwendungsgebiete wurden verschiedene Petri-Netz-Typen vorgeschlagen. Zu den elementaren Petri-Netzen zählen unter anderem Bedingungs/Ereignis-Netze und Stellen/Transitionen-Netze [Reis85]. Als höhere PetriNetze wurden unter anderem Prädikate/Transitionen-Netze, XML-Netze oder gefärbte Petri-Netze vorgeschlagen. Zur Beschreibung eines Workflows werden Aufgaben und Bedingungen, die Aufgaben anstoßen durch ein spezielles Petri-NetzModell, das Workflow-Netz nach [Aals98], beschrieben. Geschäftsprozessmodelle haben unterschiedliche Abstraktionsgrade. Derselbe Geschäftsprozess kann mit unterschiedlichem Detaillierungsgrad modelliert werden. Es ist deshalb notwendig, bei der Modellierungsunterstützung nur solche Teilstücke von Geschäftsprozessen vorzuschlagen, die den gleichen Abstraktionsgrad wie das editierte Geschäftsprozessmodell haben. In Petri-Netzen können Unterprozesse durch Verfeinerungen/Vergröberungen von Transitionen bzw. Stellen zu einem 21 22
Bedingungen für die Aktionen oder Handlungen. Aufgaben, Aktionen oder Handlungen.
39
Subnetz/Supernetz modelliert werden. Die Verfeinerung von Prozessen reduziert die Komplexität und erleichtert eine Wiederverwendung von Geschäftsprozessmodellen. In Abbildung 12 wird die Stelle s’ im Netz N durch die Elemente s3, t3 und s4 näher beschrieben. Im untersten Netz werden die Elemente s1, s2, t1, t2 und s3 durch
sN' zusammengefasst. Die Umkehrung einer Vergröberung ist eine Verfeinerung.
Abbildung 12: Beispiel einer Vergröberung von
s1
N'
N
zu
ˆ N
und
N' .
t1 s’
s2
t2
t1
s1
N
s3 s2
t3
s4
t2 t3
ˆ N
sN'
s4
Im Rahmen der (semi-) automatischen Unterstützung für Benutzer während der Geschäftsprozessmodellierung wird auf Ablaufmuster zurückgegriffen. In Kapitel 6 werden Ablaufmuster zur Bestimmung des Abstraktionsgrades von Begriffen benötigt und zur Bestimmung von korrekten Folgeprozessen, weshalb sie nachfolgend vorgestellt werden. Ablaufmuster nach [Aals98]: Abbildung 13 zeigt eine Sequenz, d.h. die Aufgaben werden seriell in der aufgezeigten Reihenfolge ausgeführt. Abbildung 13: Sequenzieller Ablauf
40
Die Parallelität eines Ablaufes ist in Abbildung 14 dargestellt. Nach einer UndTeilung (AND-Split) laufen die Prozesse parallel ab. Die Aufgaben können demnach ohne gegenseitige Beeinflussung parallel, nacheinander oder teilweise nacheinander bearbeitet
werden.
Parallele
Prozesse
können
durch
Synchronisation
(Und-
Zusammenführung bzw. AND-Join) vereinigt werden, was bedeutet, dass zwei oder mehr Stellen als Eingangsstellen einer Transition zusammengeführt werden. Abbildung 14: Paralleler Ablauf
Abbildung 15 zeigt die Modellierung einer Konfliktsituation. Eine Oder-Teilung (ORSplit) ermöglicht die Wahl zwischen mindestens zwei Transitionen. Nach dem alternativen Ablauf können zwei oder mehr Transitionen wieder zusammengeführt (ORJoin) werden. Abbildung 15: Konfliktsituation
Die Wiederholung eines Ablaufs ist in Abbildung 16 dargestellt. Abbildung 16: Iteration
41
Im Gegensatz zu elementaren Petri-Netzen können in höheren Petri-Netzen Marken Eigenschaften zugeordnet werden. Komplexe Modelle können kompakter dargestellt werden, und somit wird der Einsatz effizienter Algorithmen möglich [Baum96]. Farbige Petri-Netze bieten beispielsweise durch die Erweiterung um Farbe die Möglichkeit, beliebige unterscheidbare Individuentupel zu erzeugen. Hierarchische Petri-Netze Hierarchische Petri-Netze [Fehl92] sind keine Erweiterung des entsprechenden Netz-Modells, sie erlauben nur eine Darstellung eines unterschiedlichen Abstraktionsgrades und die Strukturierung komplexer Netze. Um Petri-Netze hierarchisch strukturieren zu können, wird ein (Unter-)Prozess als ein neues Element eingeführt. Abbildung 17 zeigt ein Petri-Netz mit zwei Verfeinerungen von Transitionen. Abbildung 17: Hierarchisches Petri-Netz mit verfeinerten Transitionen
Prädikate/Transitionen-Netze Prädikate/Transitionen-Netze (Pr/T-Netze) [GeLa81, Genr86] ermöglichen durch ihre hohe Ausdrucksmöglichkeit die Modellierung komplexer Vorgänge. Ein Prädikat ist eine Eigenschaft, die für ein Objekt gilt oder nicht. Im Gegensatz zu elementaren Petri-Netzen, deren Marken nicht unterscheidbare Objekte sind, haben Pr/T-Netze individuelle Marken. Diese Marken haben genauso viele Komponenten, wie die Stellenzahl des Prädikates, auf dem sie liegen, beträgt. Ein Pr/T-Netz wird wie folgt formal definiert:
42
Definition 7: Prädikate/Transitionen-Netz
Ein striktes23 Prädikate/Transitionen-Netz ist ein Tupel N = (S, T, F, Ψ, KB, TI, M0), für welches gilt: (i)
(S, T, F) ist ein Netz. S wird als Menge von Prädikaten mit veränderlichen Ausprägungen interpretiert.
(ii)
Ψ = (D, FT, PR) ist eine Struktur bestehend aus einer Individuenmenge D, einer auf D definierten Menge von Funktionen FT und einer Menge PR von auf D definierten Prädikaten mit unveränderlichen Ausprägungen.
(iii)
Die Kantenbeschriftung KB weist jeder Kante aus F eine Menge von Variablentupeln mit der Stelligkeit des adjazenten Prädikats zu.
(iv)
TI weist jeder Transition aus T eine Transitionsinschrift in Form eines über Ψ und der Menge der an den adjazenten Kanten vorkommenden Variablen gebildeten prädikatenlogischen Ausdrucks zu.
(v)
M markiert die Prädikate mit Mengen von konstanten Individuentupeln mit der Stelligkeit des entsprechenden Prädikats. M0 ist die Startmarkierung.
In Abbildung 18 ist ein Ausschnitt eines Geschäftsprozesses zur Bestätigung von Lieferungen mit Pr/T-Netzen modelliert. Im Prädikat Lager befindet sich ein Tupel , das die Funktionen Artikel und Menge beschreibt. Die Kante von Lager nach empfangen hat die Stelligkeit des Prädikats Lager. Mit dem Aktivieren der Transition empfangen wird eine neue Menge m2 bestehend aus der Menge m und der Menge m1 berechnet.
23 Ein Pr/T-Netz heißt strikt, falls Prädikate nicht mit zwei identischen Individuentupeln markiert werden dürfen. Bei nicht strikten Pr/T-Netzen kann die Markierung den Prädikaten Multimengen zuweisen. Unter Multimengen versteht man eine Zusammenfassung von Elementen mit einer Vielfachheit größer oder gleich eins [Genr86]. Im weiteren Verlauf werden nur strikte Pr/T-Netze betrachtet, sofern nicht explizit auf die Verwendung nicht-strikter Pr/T-Netze hingewiesen wird.
43
Abbildung 18: Modellierung eines Geschäftsprozesses mit einem Pr/T-Netz Lager Artikel A1
Menge 25000
LAGER
BESTÄTIGUNG
LIEFERUNG m2=m+m1
empfangen
LIEFERUNG Kunde Artikel TMG AG A1
Menge 20000
BESTÄTIGUNG Kunde Artikel TMG AG A1
Menge 20000
Vorgangsnr 157
In strikten Pr/T-Netzen repräsentieren Prädikate ( s ∈ S ) Relationstypen mit n paar1
n
i
weise verschiedenen Attributen ( A s ,...., A s ) und jeweiliger Domäne Ds für jedes
A is mit i ∈ {1,..., n} . Die Markierungen der Stellen sind als Relationen des entsprechenden Typs gegeben. Eine Relation R s wird als eine Menge von Tupeln verstanden ( R s
⊆ D1s × .... × Dsn ). Transitionen stellen Operationen auf den Eingangs- bzw.
Ausgangsrelationen dar. Die Transitionsinschrift einer Transition t ∈ T eines Pr/TNetzes setzt sich aus Schaltbedingungen und Schaltoperationen zusammen, die in einer prädikatenlogischen Formel vereinigt werden. Definition 8: Term
Sei X eine Menge von Variablen und FT eine Menge von Funktionen definiert auf Xn. Die Menge T der Terme über X wird folgendermaßen gebildet: (i) Jede Variable x ∈ X ist ein Term. (ii) Seien f ∈ FT und t1,…, tn Terme, dann ist f (t1,…, tn) ein Term.
Definition 9: Prädikatenlogischer Ausdruck
Für die Menge PΨ der prädikatenlogischen Ausdrücke zu einer Struktur Ψ = (D, FT, PR) gilt: (i) wahr ∈ PΨ. (ii) P ∈ PR n-stelliges Prädikat, t1,…, tn Terme ⇒ P(t1,…, tn) ∈ PΨ.
44
⎧ p1 ∧ p2 ∈ PΨ ⎪ p ∨ p ∈P ⎪ 1 2 Ψ . (iii) p1, p2 ∈ PΨ ⇒ ⎨ ¬ ∈ p P 1 Ψ ⎪ ⎪⎩ p1 → p2 ∈ PΨ XML-Netze Wie bereits in Kapitel 2.2 beschrieben, wird XML als ein Dokumentenaustauschformat zwischen mehreren Parteien und zur Beschreibung von Dokumenten in einem für Menschen und Maschinen lesbaren Format verwendet. Komplexe hierarchische Strukturen von XML-Objekten und deren Manipulationen in Geschäftsprozessen können durch XML-Netze [Lenz03] modelliert werden. In XML-Netzen werden Marken als XML-Dokumente verstanden. Stellen werden als Behälter für Dokumente interpretiert, die bezüglich eines XML-Schematas gültig sind. Über Kanten werden Lese- und Manipulationsoperationen von ganzen Dokumenten und Dokumententeilen vorgenommen. In XML-Netzen können ebenfalls Nebenläufigkeiten von Operationen auf demselben Dokument modelliert werden, allerdings nur, solange disjunkte Dokumententeile bearbeitet werden. Der Fluss von XML-Dokumenten wird durch das Schalten von Transitionen definiert. Den adjazenten Kanten werden Filterschemata zugeordnet, die relevante Dokumente für die Transition beschreiben. In Abbildung 19 ist ein Ausschnitt eines XML-Netzes zur Koordinierung von Aufträgen modelliert. Ein Auftrag wird durch die Elemente Menge, Produkt und Lieferdatum beschrieben. Die Filterschemata an den beiden Kanten von Auftrag bis Lieferung koordinieren (große Aufträge und kleine Aufträge) haben die gleiche Struktur wie das XML-Dokument Auftrag. Abbildung 19: Modellierung eines Geschäftsprozesses mit XML-Netzen
A M
P
A L
Auftrag Menge
Produkt Lieferdatum
…
P
Menge>= 1000 Lieferung koordieren (große Aufträge)
neuer Auftrag
L gelieferte Rohstoffe
Lieferdatum
…
Menge< A 1000 Lieferung koordinieren (kleine Aufträge) P L
A M
P
L
45
Wie bereits erwähnt, stellen hierarchische Petri-Netze keine Erweiterung des entsprechenden Netz-Modells dar. Sie erlauben nur eine Darstellung eines unterschiedlichen Abstraktionsgrades und die Strukturierung komplexer Netze. Somit kann die Hierarchisierung von Prozessen in allen Petri-Netz-Varianten verwendet werden. In Lenz [Lenz03] wird beschrieben, dass jedes Pr/T-Netz als XML-Netz angesehen werden kann, da jedes Relationenschema in ein XML-Schema übertragen werden kann. Die im weiteren Verlauf der Arbeit vorgestellten Methoden für eine Unterstützung während der Geschäftsprozessmodellierung lassen sich damit mit wenigen Änderungsoperationen auf alle Varianten von Petri-Netzen anwenden. Geschäftsprozessmodellanalyse Hauptziele der Geschäftsprozessanalyse sind die Validierung, Verifikation und Leistungsbewertung des Prozessmodells. Bei der Validierung wird überprüft, ob das Modell die Wirklichkeit richtig abbildet – durch Prüfung der Struktur und des Verhaltens der einzelnen Prozesse. Die Korrektheit des Prozessmodells (Verklemmungsfreiheit, Lebendigkeit) wird bei der Verifikation geprüft. Bei der Leistungsbewertung erfolgt die Auswertung der Leistungsfähigkeit des Prozesses, indem einzelne Parameter, wie beispielsweise die Durchlaufzeit, die Kosten oder die Ressourcenauslastung überprüft werden. Im Folgenden werden einige Analysemethoden für Petri-Netze wie die Strukturanalyse, die Verhaltensanalyse, die Erreichbarkeitsanalyse, die Linear-algebraische Analyse und die Simulation erläutert. Bei der Strukturanalyse wird u.a. überprüft, ob das zu analysierende Netz zusammenhängend oder stark zusammenhängend ist, ob das Netz ein Free-ChoiceNetz [Reis86] darstellt und ob es die Eigenschaften eines Workflow-Netzes [Aals98] besitzt. Nicht zusammenhängende Petri-Netze können beispielsweise nicht getrennt analysiert werden. Bei der Verhaltensanalyse wird das Schaltverhalten eines Netzes auf Grundlage der modellierten Marken und Markierungen überprüft. Folgende dynamische Eigenschaften sollten bei der Modellierung eines Prozesses berücksichtigt werden [Baum96]: •
Sicherheit: Der Prozess soll in endlicher Zeit ausführbar sein, d.h. beschränkt sein.
46
•
Lebendigkeit: Der Prozessverlauf soll lebendig sein. Es muss ein verklemmungsfreier Ablauf gewährleistet werden.
Mit der Erreichbarkeitsanalyse sollen alle erreichbaren Zustände eines Systems untersucht werden. Es wird untersucht, ob erwartete oder unzulässige Zustände (z.B. Deadlocks) eintreten können. Zur Überprüfung der Zustände wird ein Markierungs- und/ oder Überdeckungsgraph aufgestellt. Bei der Linear-algebraischen Analyse werden Matrixrepräsentationen von PetriNetzen aufgestellt, um Aussagen über das Verhalten eines markierten Netzmodells gewinnen zu können. Stellen bzw. Transitionen werden in der Matrixrepräsentation eines Petri-Netzes durch Zeilen bzw. Spalten beschrieben. Geschäftsprozesse können auch durch Simulation analysiert werden. Durch die Simulation können Prozesse validiert [Aals98], Leistungsbewertungen vorgenommen [MBCD95] und der Modellierungsprozess von Abläufen unterstützt werden, indem die Korrektheit und die Vollständigkeit der Ablauf- und Objektbeschreibungen überprüft werden [Ober96]. In Abbildung 20 sind die beschriebenen Analysemethoden für Petri-Netze veranschaulicht (Abbildung ist aus [RiSt04] entnommen).
Abbildung 20: Analysemethoden für Geschäftsprozesse, insbesondere für Petri-Netze
47
2.2.3 Vergleich von Sprachen zur Modellierung von Geschäftsprozessen In vorhergehendem Unterkapitel wurden BPEL, XPDL, EPKs und Petri-Netze beschrieben. BPEL und XPDL adressieren eine andere Ebene der Geschäftsprozessmodellierung als EPKs und Petri-Netze. Mit Modellierungssprachen wie EPK oder PetriNetzen werden Aspekte der Realwelt implementationsunabhängig modelliert. Wobei mit Petri-Netzen die Komposition der einzelnen Web-Services modelliert werden kann. Sprachen wie BPEL oder XPDL sind XML-basierte Sprachen zur Beschreibung von Geschäftsprozessen. Dabei werden die einzelnen Aktivitäten als Web Services implementiert. Somit beschreiben BPEL und XPDL technische Informationen, die die Ausführung von Prozessen als Web-Service unterstützen. In [KoMe05] findet sich ein Einsatzbeispiel zur Modellierung von Aktivitäten als Web Services mit XML-Netzen und die Serialisierung in die XML-Syntax von BPEL. Ein Ansatz zur Integration der Schemata von BPEL und XPDL findet sich in [HoKM06].
2.3
Modellierungsunterstützung
In diesem Abschnitt werden die Idee und die Komponenten eines Unterstützungssystems während der Geschäftsprozessmodellierung vorgestellt, die die Grundlage für alle nachfolgenden Kapitel darstellen. Es wird auch der Bezug zwischen Ontologien und Geschäftsprozessen für diese Arbeit hergestellt.
2.3.1 Einführung Generell soll die Modellierungsunterstützung Benutzer bei der Erstellung von Geschäftsprozessmodellen helfen, indem passende und korrekte Folgeprozesse zu dem gerade editierten Geschäftsprozess aus einer Prozessbibliothek vorgeschlagen werden. Die Korrektheit der vorgeschlagenen Folgeprozesse zu einem gerade editierten Geschäftsprozess wird anhand zweier Kriterien überprüft: 1. gültige syntaktische Verbindung: Dieses Kriterium muss aufgrund der Bipartitheit von Petri-Netzen eingehalten werden, d.h. wenn der Benutzer eine Stelle ausgewählt hat, zu der er Folgeprozesse sucht, dann müssen die Folgeprozesse mit einer Transition beginnen. Analoges gilt für Transitionen, die ausgewählt wurden. Auch hier muss es eine syntaktisch gültige Verbindung geben. Bei Petri-Netzen sind Verbindungen syntaktisch gültig, wenn sie zwischen einer Stelle zu einer Transition bestehen ( F ⊆ (S × T) ∪ (T × S) ) und sie
48
sind syntaktisch ungültig, wenn eine Stelle mit einer Stelle bzw. eine Transition mit einer Transition verbunden wird ( Fn ⊆ ( S × S) ∪ ( T × T ) ). 2. well-structureness: Das Konzept der well-structureness ist bei [Aals98] formalisiert. Ein Petri-Netz PN ist well-handled, wenn für je zwei Knoten x,y mit entweder (x∈ T und y ∈ S) oder (x ∈ S und y ∈ T) keine zwei Pfade von x nach y existieren, die nur x und y gemeinsam haben. Ein Workflow-Netz ist well-structured, wenn das erweiterte PN wellhandled ist. Well-handleness kann in polynominaler Zeit durch Verwendung einer modifizierten Version des max-flow min-cut Technik (beschrieben in [AaHV97]) bestimmt werden. Die Einhaltung dieses Kriterium hilft, unerwünschte Verklemmungen in Form von Deadlocks zu vermeiden. Bei der Modellierung von Geschäftsprozessen werden ein sequentieller, ein paralleler, ein iterativer Ablauf und ein Ablauf mit Konfliktsituation unterschieden [Aals98]. Das im gerade editierten Prozess modellierte Muster beeinflusst die Suche nach Folgeprozessen. Abbildung 22 zeigt „schlechte“ Empfehlungen von Folgeprozessen unter der Berücksichtigung von Ablaufmustern. Bei der Realisierung der Modellierungsunterstützung sollten deswegen Ablaufmuster berücksichtigt werden, damit die Prozessintegrität gewahrt und damit weitgehend Fehler vermieden werden können.
49
Abbildung 21: „schlechte“ Empfehlungen von Folgeprozessen
Die Eigenschaft „passend“ kann über semantische bzw. linguistische Analysen überprüft werden und wird durch die folgenden zwei Kriterien bestimmt: 1. „inhaltlich“ sinnvolle Folgeprozesse: Die vorgeschlagenen Folgeprozesse müssen inhaltlich sinnvoll zu dem gerade editierten Geschäftsprozess sein. Dieses Kriterium wird anhand der im Kapitel 4 definierten Ähnlichkeitsmaße überprüft. 2. Identisches Abstraktionsniveau: Die meisten Modellierer vermischen die Abstraktionsgrade von Prozessaktivitäten, indem sie auf der gleichen Prozessebene einige Aktivitäten detaillierter und andere weniger detailliert darstellen. Für den konsistenten Entwurf eines Informationssystems ist allerdings ein gleicher Detaillierungsgrad wichtig. Petri-Netze unterstützen
50
die Systemdarstellung auf verschiedenen Abstraktionsebenen. Generell können Prozesshierarchien durch Verfeinerung von Transitionen zu Subprozessen beliebig gebildet werden. Es sollte aber darauf geachtet werden, dass die Aktivitäten in einem Diagramm das gleiche Abstraktionsniveau besitzen. Für die in dieser Arbeit vorgestellte Modellierungsunterstützung werden fünf Hierarchieebenen unterschieden: 1)
Prozesslandkarte (Abstrakte Darstellung der Kernprozesse)
2)
Kontextdiagramm (Austausch von Ergebnissen zwischen Kernprozessen)
3)
Prozessebene 1 (Konkrete Modellierung eines Geschäftsprozesses)
4)
Prozessebene 2 (Verfeinerung einer Transition aus Prozessebene 1)
5)
Prozessebene 3 (Verfeinerung einer Transition aus Prozessebene 2)
Der Benutzer kann die Modellierungsunterstützung auf jeder Hierarchieebene aufrufen. Abbildung 22 zeigt den Vorschlag von korrekten Folgeprozessen zu einem gerade editierten Geschäftsprozess. Zunächst muss der Anwender ein Prozesselement auswählen, zu dem er Folgeprozesse sucht (in Abbildung 22 ist das die dritte Stelle). Der Geschäftsprozess wurde als Petri-Netz modelliert und die Folgeprozesse sollen auch als Petri-Netz angezeigt werden Abbildung 22: Idee einer Unterstützung während der Geschäftsprozessmodellierung
Die Visualisierung von passenden und korrekten Folgeprozessen kann auf zwei unterschiedliche Weisen erfolgen: •
semi-automatisch: der Benutzer sucht mit Hilfe einer Anfragesprache nach entsprechenden Knoten und fügt diese selbst in sein Prozessmodell ein,
51
•
automatisch: eine Empfehlungskomponente schlägt aufgrund bestimmter Kriterien, die bei der Prozessmodellierung eingehalten werden sollen, die entsprechenden Folgeprozesse vor.
Durch die Verwendung einer Anfragesprache können Elemente von Prozessmodellen nach bestimmten Eigenschaften gefiltert werden, indem beispielsweise nur alle Transitionen eines Prozesses angezeigt werden sollen. Das hat den Vorteil, dass der Benutzer zielgerichtet die für ihn relevanten Knoten auswählen und Ablaufmuster verändern kann (Abläufe, die vorher sequentiell waren, werden nun mit Hilfe der ausgewählten Transitionen parallel modelliert). Beim automatischen Vorschlag hat der Benutzer keinen direkten Einfluss auf die vorgeschlagenen Folgeprozesse. Er kann aber beispielsweise Geschäftsregeln angeben, die für den zu modellierenden Geschäftsprozess gelten müssen und somit die Auswahl an passenden Folgeprozessen einschränken. Diese Art der Visualisierung eignet sich vor allem für Modellierungsanfänger, da zum einen nur korrekte Folgeprozesse angezeigt werden und die Folgeprozesse bestimmten Geschäftsregeln entsprechen. Diese beiden Punkte helfen Modellierungsfehler weitgehend zu vermeiden. Zum anderen muss der Benutzer über keine Informationen von bestehenden Geschäftsprozessen verfügen, da passende Folgeprozesse automatisch ausgewählt werden.
2.3.2 Anforderungen Nachfolgend werden geforderte Eigenschaften einer Modellierungsunterstützung skizziert.
Eigenschaften
wie
effizienter
Zugriff
auf
Folgeprozesse
oder
die
Skalierbarkeit beim Wachstum der Menge an Prozessfragmenten sollen direkt vom Datenbankmanagementsystem gewährleistet werden. Es werden nur Eigenschaften des Modellierungsunterstützungssystems beschrieben. •
Übersichtlichkeit
Übersichtlichkeit von vorgeschlagenen Folgeprozessen hängt mit der Anzahl an Elementen eines Folgeprozesses ab. Eine „gute“ Anzahl an Elementen, die praktisch erprobt wurde, sind 15 Elemente. Diese Anzahl an Gesamtelementen sollte auch beim Vorschlag von passenden Folgeprozessen berücksichtigt werden. D.h., wenn der Benutzer bereits 5 Elemente modelliert hat, dann sollte ihm ein Folgeprozess mit maximal 10 Elementen vorgeschlagen werden. Generell gilt, je kürzer die Folgeprozesse, desto schneller kann der Benutzer das für ihn passendere Prozess-
52
stück auswählen. Wobei die Folgeprozesse mindestens vier (eher sechs) Elemente enthalten sollten, damit die Modellierungsunterstützung dem Benutzer einen Nutzen stiftet. •
Berücksichtigung von Benutzertypen
Bei der Modellierungsunterstützung sollten unterschiedliche Benutzertypen (Anfänger, Fortgeschrittene, Experten) durch eine nutzerindividuelle Empfehlung von Folgeprozessen unterschieden werden können. Experten können aufgrund ihrer zahlreichen Modellierungserfahrungen schneller Prozessmodelle überblicken und als passender bzw. unpassender einschätzen. Somit können Experten mehr Folgeprozesse als Anfängern vorgeschlagen werden, ohne dass es dabei zu einer signifikanten Verzögerung bei der Prozessmodellierung kommt. Bei der Speicherung von Geschäftsprozessen in der Prozessbibliothek sollte deswegen auch der Benutzertyp des modellierten Geschäftsprozesses annotiert werden. Über eine entsprechende Annotation könnten Aussagen über die Qualität der Folgeprozesse gemacht werden. Geschäftsprozesse, die von Experten modelliert wurden, werden vermutlich qualitativ hochwertiger sein als die eines Modellierungsanfängers. •
Reihenfolge der Modellierung:
Petri-Netze werden in der Regel von links nach rechts modelliert. Denkbar ist auch eine Modellierung von oben nach unten. Dabei stellt das erste Element (auf der linken Seite) den Input bzw. den Prozessauslöser und das letzte Element (auf der rechten Seite) den Output des Geschäftsprozesses bzw. das Prozessergebnis dar. Der Geschäftsprozess kann sowohl vorwärts ausgehend vom Auslöser als auch rückwärts ausgehend von den Ergebnissen modelliert werden. Die Modellierungsunterstützung sollte unabhängig von der Reihenfolge der Modellierung verfügbar sein; d.h. sowohl wenn beginnend beim Prozessauslöser als auch wenn beginnend beim Prozessergebnis modelliert wird. •
Eigenschaften der Prozessfragmente:
Prozessfragmente, die in der Prozessbibliothek gespeichert werden, müssen bestimmte strukturelle Eigenschaften wie beispielsweise die Free-Choiceness erfüllen (es ist nicht erlaubt, die Ablaufmuster Alternative und Synchronisation zu kombinieren). A-priori Analysen reduzieren die Suchzeit nach korrekten Folgeprozessen, weil die gespeicherten Prozessfragmente bereits korrekt sind. Die syntaktische Korrekt-
53
heit muss lediglich bei der Zusammenführung des gerade editierten Geschäftsprozesses und der möglichen Folgeprozesse überprüft werden. •
Allgemeingültige Nutzung der Modellierungsunterstützung
Die Modellierungsunterstützung soll in jedem Petri-Netz-Werkzeug genutzt werden können. Ein allgemeingültiges Speicherformat für Petri-Netz-Werkzeuge unterstützt – im Gegensatz zu einem proprietäre Speicherformat – einen verlustfreien Austausch von Petri-Netz-basierten Geschäftsprozessmodellen. Damit kann ein gerade editiertes Prozessmodell in ein anderes Petri-Netz-Werkzeug importiert werden ohne dass dabei Informationen über die Darstellung oder Graphik der Elemente verloren gehen. Ein weit verbreitetes Speicher- und Austauschformat für PetriNetze ist die Petri Net Markup Language [Webe02].
2.3.3 Namenskonventionen Damit Fehler bei der Modellierung von Geschäftsprozessen weitgehend reduziert werden können, müssen Namenskonventionen
für Prozesselemente eingehalten
werden. Für die Namensgebung von Transitionen sollten Verben zusammen mit Substantiven
verwendet
werden.
Es
werden
keine
substantivierten
Verben
verwendet. Verben wie verwalten, aktualisieren, anlegen, ändern deuten häufig auf eine funktionsorientierte Denkweise hin, in diesem Fall sollte nochmals überprüft werden, ob prozessorientiert dokumentiert wird. Für die Namensgebung von Stellen werden Substantive im Plural verwendet; zumeist mit einem Zusatz, der den aktuellen
Status
beschreibt,
z.B.:
erfasste
Aufträge,
geprüfte
Aufträge,
freigegebene Fertigungsaufträge. Die Einhaltung von Namenskonventionen ist vor allem
bei
der
Berechnung
von
semantischen
Ähnlichkeiten
zwischen
den
Prozessobjekten des editierten Prozesses und des Folgeprozesses notwendig. Eine unpräzise Benennung von Prozessobjekten kann zu unzureichenden Informationen bei der Ähnlichkeitsberechnung auf Basis einer Ontologie führen. Bei der Realisierung der Modellierungsunterstützung wird die Einhaltung der Namenskonventionen vorausgesetzt.
2.3.4 Komponenten Die Idee einer Modellierungsunterstützung soll in den nächsten Kapiteln wie in der Abbildung 23 gezeigt, realisiert werden. Ausgehend von Petri-Netz-basierten Geschäftsprozessmodellen (PN-Werkzeug 1) soll es möglich sein, Geschäftsprozess-
54
modelle zwischen Werkzeugen austauschen zu können und die Modellierungsunterstützung mit den erweiterten Komponenten in jedem Petri-Netz-Werkzeug nutzen zu können. Hierfür wird eine XML-basierte Darstellung von Petri-Netzen benötigt (1), die durch Import in ein anderes PN-Werkzeug (2) das identische im PNWerkzeug 1 exportierte Geschäftsprozessmodell anzeigt. Zur Nutzung einer Empfehlungskomponente muss der Geschäftsprozess in ein Format transformiert werden, das Inferenzmechanismen unterstützt (im Kapitel 2.1. wurde ausführlich die Fähigkeit von OWL zum Einsatz von Inferenzmechanismen erläutert). Zunächst wird der gerade editierte Geschäftsprozess automatisch in ein OWL-basiertes Beschreibungsformat übersetzt (3). Die Modellierungsunterstützung kann dann auf zwei unterschiedliche Weisen aufgerufen werden. Einmal mit Hilfe einer Anfragesprache, indem deren Syntax in einer entsprechenden Maske formuliert wird (4a) oder automatisch über eine Empfehlungskomponente (4b). Zur Realisierung der Modellierungsunterstützung wird es ein sogenanntes Prozessrepository geben. In dieser Abbildung sind zwei Prozessrepositories eingezeichnet, um den unabhängigen Zugriff über die Anfragesprache und die Empfehlungskomponenten zu verdeutlichen. Nachdem sich Anwender gewöhnlich bei der Modellierung von Geschäftsprozessen an interne Unternehmensrestriktionen halten müssen, wird das OWL-basierte Beschreibungsformat dahingehend erweitert, dass auch Geschäftsregeln in dem Format integriert und somit verarbeitet werden können. Zur Erweiterung wird die Semantic Web Rule Language (SWRL) verwendet. Mit Hilfe eines Inferenzmechanismus (oder über die Anfragesprache) werden Folgeprozesse aus einer Prozessbibliothek ermittelt und dem Benutzer zur Vervollständigung seines Geschäftsprozesses vorgeschlagen (5). Der Benutzer kann den Folgeprozess dann gegebenenfalls in seiner Modellierungsumgebung verändern. In der Abbildung wird zweimal ein OWL-Prozessrepository dargestellt, was allerdings nicht eine redundante Datenhaltung implizieren soll. Diese doppelte Darstellung des Repositories soll verdeutlichen, dass das Feature „ähnlichkeitsbasierte Anfragesprache“ und „regelbasierte Empfehlungskomponenten“ zwei unabhängige Features sind, die aber auf demselben Prozessrepository arbeiten.
55
Abbildung 23: Komponenten eines Modellierungsunterstützungssystems für Geschäftsprozesse
XML-basierte Beschreibung
2 PN-Werkzeug 2
1 PN-Werkzeug 1
3 3
OWL-basierte Beschreibung
6 Liste passender und korrekter Folgeprozesse:
Anfragemaske 4a OWLProzessrepository
5
Reasoning Engine
4b
SWRL-Regel OWLProzessrepository
Im Kapitel 2 wurden Grundlagen zu Ontologien und Geschäftsprozessen beschrieben, auf denen in den nächsten Kapiteln aufgebaut wird. So bilden Geschäftsprozesse die Ausgangslage für die Modellierungsunterstützung. Durch die Verwendung von Ontologien kann ein einheitliches Verständnis über Begriffe und die Beziehungen zwischen Begriffen von Geschäftsprozessmodellen definiert werden. Das nächste dritte Kapitel beschreibt das XML- und OWL-basierte Beschreibungsformat für Geschäftsprozessmodelle. Im Kapitel 4 werden Ähnlichkeitsmaße defi-
56
niert, mit denen ähnliche Prozesselemente und synonym verwendete Begriffe in Geschäftsregeln und Prozessen gefunden werden können. Mit Hilfe der Anfragesprache (Kapitel 5) lassen sich passende Folgeprozesse mit bestimmten Eigenschaften (z.B. einem bestimmten Ähnlichkeitswert) ermitteln. Die automatische Empfehlungskomponente wird im Kapitel 6 beschrieben.
57
3
Semantische Beschreibung von Geschäftsprozessmodellen
Aufbauend auf den Grundlagen zu Ontologien und Geschäftsprozessen werden in diesem Kapitel zunächst ein XML-basiertes Austauschformat und anschließend ein OWL-basiertes Beschreibungsformat für elementare und höhere Petri-Netze (insbesondere Pr/T-Netze) beschrieben. Das im nächsten Kapitel beschriebene XMLbasierte Austauschformat kann als ein allgemeingültiges Speicherformat für PetriNetz-Werkzeuge verwendet werden und ersetzt proprietäre Speicherformate. Für die automatische Modellierungsunterstützung wird aber ein Format benötigt, das Inferenzen unterstützt. Im Kapitel 2 wurde bereits auf die semantische Unzulänglichkeit von XML für dieses Anwendungsszenario hingewiesen. Deshalb wird im Kapitel 3.2. ein OWL-basiertes Beschreibungsformat für Petri-Netze vorgestellt [KoOb05, KoOb07a]. Dieses Kapitel endet mit einer Zusammenfassung bestehender Ansätze zur semantischen Beschreibung von Petri-Netzen und Web-Services und einer Abgrenzung dieser Ansätze zu dem in diesem Kapitel vorgestellten OWLbasierten Beschreibungsformat für Petri-Netze.
3.1
XML-basiertes Austauschformat für Petri-Netze
Ein erster Vorschlag für ein allgemeingültiges Dateiformat für Petri-Netze war die Abstract Petri Net Notation (APNN) [BaKK95]. Dabei wird unter einem allgemeingültigen Dateiformat die einfache Erweiterung eines maschinenlesbaren Formats zur Repräsentation verschiedener Petri-Netz-Typen oder graphischer Informationen verstanden. Allerdings müssen die für APNN existierenden Parser für jeden neuen Petri-Netz-Typ konfiguriert werden. Eine einfache Implementierung neuer PetriNetz-Typen und eine werkzeugunabhängige Repräsentation von Petri-Netzen wurde mit der Petri Net Markup Language (PNML) [Webe02] vorgeschlagen24.
24
Die Implementierung neuer Petri-Netz-Typen ist mit dem Petri-Netz-Kern [WeKi03] möglich.
58
3.1.1 Austauschformat für elementare Petri-Netze PNML ist ein XML-basiertes Dateiformat für Petri-Netz-Werkzeuge und ein Austauschformat für Petri-Netz-Modelle. Die Verwendung von XML als Speicherformat löst die bis dahin proprietären Speicherformate25 ab. Als Anforderungen an PNML als Austauschformat wurden formuliert: •
Lesbarkeit: Das Format soll für den Menschen leicht lesbar sein und Änderungen unterstützen,
•
Allgemeinheit: Das Format soll verschiedene Typen von Petri-Netzen unterstützen. Es soll möglich sein, das Dateiformat um weitere Petri-NetzTypen zu erweitern,
•
Graphische Repräsentation: Alle Elemente und die graphischen Zusammenhänge der Elemente eines Petri-Netzes müssen in dem Format definiert werden können.
Zur Beschreibung eines allgemeinen Austauschformats für Petri-Netze wird bei PNML zwischen typspezifischen und netztypunabhängigen Elementen unterschieden. Netztypunabhängige Elemente sind Elemente, die alle Petri-Netz-Typen gemeinsam haben. Typspezifische Elemente sind Elemente, die nur in einem bestimmten Petri-Netz-Typ vorkommen. Zu den netztypunabhängigen Elementen zählen: •
Netzelemente: Jedes Petri-Netz besteht, wie bereits in Kapitel 2.2 angesprochen, aus den drei Elementen Stellen, Transitionen und Kanten. Petri-Netze, die zerlegt werden müssen, weil sie nicht auf einer Seite modelliert werden können, werden in PNML mit den beiden Konzepten Seite und Modul realisiert. Seiten erlauben, dass ein Netz auf verschiedenen Seiten gezeichnet werden kann. Mittels einer Annotation bei Referenzstellen/Referenztransitionen wird auf die entsprechende zerlegte Seite verwiesen. In einem Modul wird eine Schnittstelle des Petri-Netzes definiert. Im Gegensatz zu Seiten kann in Modulen nur über die Schnittstelle Einfluss auf das Petri-Netz genommen werden.
•
Identifikator: Der Identifikator eines Petri-Netzes oder eines NetzElements wird durch das id-Attribut angegeben. Der Wert dieses Attributes muss die Anforderungen an den Attributtyp ID von XML erfüllen26.
25
Alle Petri-Netz-Werkzeuge hatten bis dahin eigene Speicherformate. Das bedeutet, dass der Wert eine Zeichenkette sein muss, die mit einem Buchstaben oder dem Unterstrich-Zeichen beginnt. 26
59
Über den Identifikator eines Elements kann auf Elemente (Stellen/Transitionen) im Nachbereich verwiesen werden. •
Label: Jedes Netzelement wird durch einen Label erweitert. Zulässige Label und mögliche Kombinationen hängen vom jeweiligen Petri-NetzTyp ab. Es werden zwei Arten von Labels unterschieden: Annotation und Attribute. Der Name eines PNML-Elements, die Markierung einer Stelle oder die Kanteninschrift sind Beispiele für Annotationen. Typischerweise ist eine Annotation ein Label mit einem unbeschränkten Wertebereich. Ein Attribut ist dagegen ein Label mit beschränktem Wertebereich. Ein Beispiel dafür ist der Kantentyp, der das Attribut einer Kante beschreibt und einen der Werte normal, read, inhibitor oder write besitzt. Die Richtung der Kante hängt von diesem Attribut ab (der Kantentyp von einer Stelle zu einer Transition hat den Wert read; der Kantentyp von einer Transition zu einer Stelle den Wert write). Der grundlegendste Unterschied zwischen Annotationen und Attributen ist, dass Annotationen als Text eines Netzelements angezeigt werden; ein Attribut hat dagegen eine Auswirkung auf die Form des Netzelements selbst. Außerdem hat eine Annotation eine eigene graphische Information (s. u.), während ein Attribut diese nicht hat. Beispiele für Labels sind , (das sind Annotationen) oder (ein Attribute).
•
Graphische Informationen: Jedes Netzelement und jedes Label ist mit Informationen verbunden, die die jeweilige graphische Erscheinung bestimmen. Für einen Knoten eines Netzes ist das beispielsweise die Position in einem (x,y)-Koordinatensystem; für eine Kante ist es eine Liste von Zwischenpunkten und der Kantenverlauf; und für Labels sind es die relativen Positionen zu ihrem Netzelement (Abstände). Absolute und relative Positionen beziehen sich auf den Referenzpunkt eines Netzelementes oder einer Annotation. Der Referenzpunkt ist die Mitte der graphischen Repräsentation für ein Netzelement (für eine bestimmte Stelle ist der Referenzpunkt die Mitte des Kreises). Der Referenzpunkt einer Kante ist die Mitte des ersten Segments einer Kante. Alle Positionen beziehen sich hierbei auf ein kartesisches Koordinatensystem. Positionen werden in PNML mit dem -Element eingeleitet. Abstände von Elementen zueinander mit dem -Element. In PNML können noch graphische Informationen wie Dimension, Linie und Font für Netzelemente angegeben werden. Tabelle 1 zeigt alle mögli-
60
chen Unterelemente des -Elements und deren Attribute angegeben in [Webe02]. Tabelle 1: Kindelemente des -Elements
•
Werkzeugspezifische Informationen: Bei der Speicherung von PetriNetz-Modellen werden zusätzliche werkzeugspezifische Informationen hinterlegt. Diese Informationen sind für andere Werkzeuge nicht relevant, sondern haben nur Einfluss auf das Petri-Netz in Bezug auf das spezielle Werkzeug. Für das innere Format dieser werkzeugspezifischen Informationen gibt es keine Vorgaben. Es muss lediglich die werkzeugspezifische Information markiert (über das Element ) und dem speziellen Werkzeug zugewiesen werden.
Tabelle 2 veranschaulicht alle netztypunabhängigen PNML-Elemente nach [Webe02]. PetriNet, Place, Transition, Arc, Page, RefPlace und RefTrans sind Netzelemente. Jedes dieser Netzelemente hat einen Identifikator, der über ein eindeutiges XML-Attribut (id) zugewiesen wird. Graphische Informationen werden über
61
die Elemente und werkzeugspezifische Informationen über die Elemente definiert. Tabelle 2: Netztypunabhängige PNML-Elemente
Typspezifische Elemente Bei typspezifischen Elementen werden Labels entsprechend dem Petri-Netz-Typ definiert. Die Art, die Anzahl der Labels sowie ihre zulässige Kombination in einem Netz werden im Petri-Netz-Typ festgelegt. Für PNML ist ein Petri-Netz-Typ eine Ansammlung von Labeldefinitionen, die als Petri-Netz-Typdefinition (PNTD) bezeichnet wird. Jede Labeldefinition legt den Wertebereich des Labels und die Art des Netzelementes fest, mit dem das Label verbunden ist. Aus einem Vorrat von PNTDDokumenten wird dasjenige zur Definition einer speziellen PNML für Netze eines entsprechenden Typs ausgesucht, das das PNML-Dokument instanziiert. Das bedeutet, dass ein PNML-Dokument für spezielle Petri-Netz-Typen aus dem entsprechenden PNTD-Dokument erzeugt wird. Abbildung 24 zeigt alle Elemente von PNML in einer UML-basierten Notation. Beispielsweise steht PetriNetFile für ein XML-Dokument und PetriNet für alle möglichen Petri-Netze mit den XML-Attributen id und type. Das Element PetriNet kann27 durch die Elemente ToolInfo (werkzeugspezifische Informationen), Label und Ob-
27 In UML-Klassendiagrammen [HKKR05] werden vier Beziehungstypen unterschieden: Generalisierung (Subsumptionsbeziehung; modelliert als dreieckige Spitze), Assoziation (wird durch die Zusammenfassung von Objektbeziehungen zwischen Objekten aus denselben Klassen gebildet), Aggregation (drückt die „besteht aus“-Beziehung aus und wird als Linie mit einem weißen Diamanten modelliert) und Komposition (eine spezielle Form der Aggregation, die mit einem schwarzen Diamanten modelliert wird).
62
ject beschrieben werden. Dabei ist das Element Node immer ein Object und Attribute und Annotation sind immer ein Label. Abbildung 24: UML-basierte Darstellung von PNML
Technische Realisierung des Austauschformats Am Beispiel des Petri-Netzes in Abbildung 25 wird die Umsetzung des Netzes nach PNML erklärt. Das Petri-Netz besteht aus einer Stelle und einer Transition, die über eine Kante miteinander verbunden sind. Die Stelle hat drei Marken und wurde mit bereit benannt.
63
Abbildung 25: Ein Beispiel-Petri-Netz 10
20
bereit 10 20
30
40
50
2
60
x
y
Jedes PNML-Dokument ist ein XML-Dokument mit dem Wurzelelement , das beliebig viele -Elemente enthalten kann. Zur Beschreibung des Netzes werden im -Element die XML-Attribute id (zur eindeutigen Identifikation des Netzes) und type (zur eindeutigen Definition des Petri-Netz-Typs) verwendet. Jedes Netz hat einen Namen, der mit dem -Element eingeleitet wird. Netzelemente sind in PNML nach ihren Konzepten benannt, z.B. für eine Stelle, für eine Kante oder für eine Referenztransition. Dabei hat jedes Netzelement einen eindeutigen Identifikator. Der Wert des Identifikators wird als Wert des XML-Attributs id angegeben. Der Quelltext 10 zeigt die Umsetzung der Stelle aus Abbildung 25 in PNML-Syntax. Quelltext 10: PNML-Syntax der Stelle aus Abbildung 25
bereit 3 Der Stelle bereit mit den Koordinaten (22, 14) wurde der Identifikator p1 zugewiesen. Der Name der Stelle wird in dem Element und den Kindelementen und beschrieben. Das Label bereit hat einen Abstand von (-8, -9)
64
zu den Koordinaten der Stelle. Die initiale Markierung der Stelle ist 3 (es liegen drei Marken in der Stelle). Die individuellen Positionen der Marken zur den Koordinaten der Stelle werden im Kindelement hinterlegt. Der Quelltext 11 zeigt die PNML-Umsetzung der Transition für das in Abbildung 25 modellierte PetriNetz. Quelltext 11: PNML-Syntax der Transition aus Abbildung 25
Das -Element hat (genauso wie das -Element) einen eindeutigen Identifikator, der den Wert t1 hat. Die Position der Transition wird über das Kindelement des -Elements angegeben. Neben Stellen und Transitionen gibt es noch Kanten. Eine Kante, die mit dem XMLElement definiert wird, hat eine Quelle (source) und ein Ziel (target). Auch eine Kante hat einen eindeutigen Identifikator, damit Kanten zwischen gleichen Knoten unterschieden werden können. Die graphische Information einer Kante wird mit dem -Element beschrieben, das -Kindelemente hat. Kanteninschriften werden durch die Annotation eingeleitet, die ebenfalls ein -Element enthalten. Das Element (Kindelement von ) gibt den relativen Abstand der Kanteninschrift zum Referenzpunkt der Kante an. Quelltext 12 veranschaulicht die Umsetzung der Kante des PetriNetzes aus Abbildung 25 in PNML-Syntax. Quelltext 12: PNML-Syntax der Kante aus Abbildung 25
2
65
Der eindeutige Identifikator der Kante von p1 nach t1 lautet a1. Dabei hat der Startpunkt der Kante die Koordinaten (28, 10) und der Endpunkt liegt bei (53, 10). Die Inschrift der Kante und der Abstand der Kanteninschrift werden in den Kindelementen des Elements beschrieben.
3.1.2 Austauschformat für höhere Petri-Netze Die allgemeine Verwendbarkeit von PNML wird nachfolgend genutzt, um ein XMLbasiertes Austauschformat für höhere Petri-Netze zu definieren – insbesondere für strikte Pr/T-Netze, die im zweiten Kapitel eingeführt wurden. Das Austauschformat Pr/TML (Pr/T Markup Language) besteht aus netztypunabhängigen Elementen wie in PNML definiert (Netzelemente, Identifikator, Labels, graphische Informationen und werkzeugspezifische Informationen) und typspezifischen Elementen. Zu den typspezifischen Elementen zählen die folgenden Labels: •
Condition und Operation für die Transitionsinschrift in Form eines über Ψ und der Menge der an den adjazenten Kanten vorkommenden Variablen gebildeten prädikatenlogischen Ausdrucks,
•
Relation für die Menge PR von auf der Individuenmenge D definierten Prädikaten mit unveränderlichen Ausprägungen,
•
Tuple für die Elemente der Individuenmenge D,
•
Attribute für eine auf D definierte Menge von Funktionen FT
Tabelle 3 zeigt die typspezifischen Elemente des Pr/TML-Austauschformats. Tabelle 3: Typspezifische Pr/TML-Elemente
Class
XML element
XML attributes
Condition
forall: string exists: string and: string
Operation
function: string
Relation
tuple: Tuple
Tuple
attribute: Attribute
Attribute
id = ID value: string
66
Abbildung 26 zeigt die Erweiterung der UML-basierten Notation aus Abbildung 24 um die typspezifischen Pr/TML-Elemente. Dabei kann eine Transition als Inschriften eine Bedingung und/oder den Namen einer Operation haben. Abbildung 26: UML-basierte Notation der Pr/TML-Elemente
Technische Realisierung des Austauschformats Am Beispiel des Petri-Netzes in Abbildung 27 wird die Realisierung in Pr/TML erklärt. Das Pr/T-Netz besteht aus einer Stelle Lieferung und einer Transition empfangen mit der Transitionsinschrift m1=m+1. Die Lieferung wird durch die Relation Lieferung mit den Attributen Kunde, Artikel, Menge und den Attributwerten TMG
67
AG, A1 und 20000 identifiziert. Die Stelle Lieferung und die Transition empfangen sind über eine Lösch- und eine Einfügekante verbunden. Die Löschkante hat die Inschrift und die Einfügekante die Inschrift .
Abbildung 27: Beispiel Pr/T-Netz
20
10
30
40
50
60
70
80
90
x
10 20
LIEFERUNG
30 40
empfangen m1=m+1
50 60 70
LIEFERUNG Kunde Artikel TMG AG A1
Menge 20000
y
Jedes Pr/TML-Dokument wird durch das Wurzelelement eingeleitet und kann beliebig viele -Elemente haben. Zur Beschreibung des Pr/T-Netzes werden alle netztypunabhängigen Elemente entsprechend den PNML-Vorgaben verwendet. Der Netzknoten bekommt zusätzlich zu den Kindelementen , und den Kindknoten . Das Element besteht aus den beiden Kindelementen und , die die Markierung der Stelle beschreiben28. Quelltext 13 zeigt die Pr/TML-Umsetzung der Stelle aus Abbildung 27. Quelltext 13: Umsetzung der Stelle aus Abbildung 27 in Pr/TML-Syntax.
Lieferung 28
Das Element relation hat keinen graphics-Kindnoten, da der Benutzer die Markierung der Stelle interaktiv mit Hilfe eines halbautomatischen Assistenzsystems (Wizard) im Editor eingibt.
68
Kunde TMG AG Artikel A1 Menge 20000
Die Koordinaten der Stelle Lieferung mit dem Identifier p1 sind (20, 20) und der Name der Stelle hat einen Abstand von (-10, -8) zum Referenzpunkt der Stelle. Die initiale Markierung der Stelle wird durch die Attribute Kunde, Artikel und Menge, die entsprechende Identifikatoren haben, beschrieben. Als Notation für mathematische Formeln, wie sie in der Transitionsinschrift benutzt werden, kann MathML [CIMP03] verwendet werden. MathML (Mathematical Markup Language) ist eine XML-basierte Empfehlung des W3C zur Darstellung von Elementen mit mathematischem Inhalt. Die semantische Sicht29 von MathML hat die folgenden Tags30: •
apply: umschließendes Element für die auszuführenden Teile der Formel,
•
ci: Beschreibung von Bezeichnern,
•
cn: Beschreibung von numerischen Angaben,
•
not : unärer Operator, der genau ein Kindelement haben kann,
•
minus: das zweite Kindelement wird vom ersten Kindelement subtrahiert,
•
plus: die nachfolgenden (beliebig vielen) Kindelemente werden addiert,
•
eq: Definition einer Gleichung.
29 In MathML wird auch eine präsentative Sicht definiert, die insbesondere für die Darstellung mathematischer Formeln in HTML verwendet wird. 30 Es werden nur Tags erklärt, die auch im weiteren Verlauf des Kapitels benötigt werden.
69
Dabei sind Operatoren , oder Elemente, die kein EndeTag haben und inhaltsleer definiert werden. Die Umsetzung der Transition empfangen in PrTML zeigt Quelltext 14. Quelltext 14: PrTML-Syntax für die Transition aus Abbildung 27
empfangen m 1 m 1 Die Transition empfangen wird bei den Koordinaten (78, 30) modelliert. Die Inschrift der Transition wird entsprechend den MathML-Vorgaben definiert. Bei der Inschrift m+1=m1 handelt es sich um einen logischen Ausdruck, dessen Inschrift um das -Element umschlossen wird.
Kanten werden wie bei PNML mit dem XML-Element und den Attributen id, source und target definiert. Die Inschrift der Kanten wird über das Element mit einem entsprechenden -Element beschrieben. Quelltext 15: PrTML-Syntax für die Kante von Lieferung nach empfangen
k,a,m
70
Analog zur Löschkante wird die Einfügekante in PrTML umgesetzt. Quelltext 16: PrTML-Syntax für die Kante von empfangen nach Lieferung
k,a,m1 Im nächsten Kapitel wird ein OWL-basiertes Beschreibungsformat für elementare und höhere Petri-Netze vorgestellt. Während das XML-basierte Austauschformat als Speicherformat für die werkzeuggestützte Realisierung einer Modellierungsunterstützung für Geschäftsprozesse genutzt werden kann, eignet sich das OWL-basierte Beschreibungsformat zur (semi-) automatischen Verarbeitung von Petri-NetzModellen und der Unterstützung von Inferenzen.
3.2
OWL-basiertes Beschreibungsformat für Petri-Netze
Angelehnt an die Vorgehensweise für die Erstellung von Ontologien aus Abschnitt 2.1.1. kann ein OWL-basiertes Beschreibungsformat wie folgt erstellt werden: •
Definition von Konzepten und Eigenschaften der Anwendungsdomäne (Abschnitt 3.2.1.)
•
Einordnung der Konzepte und Eigenschaften in eine Konzept- bzw. Eigenschaftshierarchie (Abschnitt 3.2.2.)
•
Erweiterung der Ontologie um Instanzen aus der Anwendungsdomäne (Abschnitt 3.2.3.)
In Kapitel 2 wurden bereits die Begriffe Ontologien, Geschäftsprozesse und Geschäftsprozessmodelle eingeführt. Nachfolgend wird die OWL-basierte Beschreibung von Geschäftsprozessmodellen als semantische Geschäftsprozessmodelle verstanden und wie folgt definiert:
71
Definition 10: Semantische Geschäftsprozessmodelle
Ein semantisches Geschäftsprozessmodell beschreibt ein Geschäftsprozessmodell in einer präzisen maschinenlesbaren und -interpretierbaren Notation, die gezielte (semi-) automatische Manipulationen des Geschäftsprozessmodells durch darauf operierende Funktionen ermöglicht. Ein Format ist maschinenlesbar, wenn Rechner die Struktur der Dokumente erkennen können. Bei einem maschineninterpretierbaren Format können Rechner die Struktur „verstehen“ und es können Folgerungen aus dem Inhalt eines Dokuments geschlossen werden. Semantische Geschäftsprozessmodelle (die Grundlage für die Realisierung einer Modellierungsunterstützung für Geschäftsprozesse bilden) können für Petri-Netze beschrieben werden, die: (i)
einen definierten Anfang haben und
(ii)
nicht stark zusammenhängend sind.
Definition 11: Zusammenhängend / Stark zusammenhängend
Ein Petri-Netz
N = (S, T, F) ist zusammenhängend, wenn keine Zerlegung der Kno-
tenmengen in X1 und X 2 existiert, so dass gilt:
X1, X 2 ≠ ∅ X1 ∪ X 2 = S ∪ T X1 ∩ X 2 = ∅
F ⊆ (X 1 × X 1 ) ∪ (X 2 × X 2 )
N = (S, T, F) heißt stark zusammenhängend, wenn für zwei Elemente x, y ∈ {S, T} mit x ≠ y eine Sequenz (z1 , z2 ), (z2 , z3 ),...(zn −1 , zn ) ∈ F mit
(n ≥ 2)
existiert, so
dass x = z1 und y = zn . Um aus einem semantischen Geschäftsprozessmodell31 (semi-) automatisch die ursprüngliche operationale Semantik eines Petri-Netzes wiederherzustellen, darf das Petri-Netz nicht stark zusammenhängend sein. Aus der Definition 11 kann nur entnommen werden, dass x=z1 und y=zn, allerdings nicht ob x vor y modelliert wird. Bei der Verbindung von stark zusammenhängenden semantischen Geschäftsprozessmodellen hätte das System Probleme passende Schnittstellen zu finden, an denen die Prozesse verbunden werden könnten. Um diese Einschränkung für ein 31 Im weitern Verlauf der Arbeit werden nur semantische Geschäftsprozessmodelle für Petri-Netzbasierte Geschäftsprozessmodelle betrachtet.
72
semantisches Geschäftsprozessmodell zu vernachlässigen, könnte ein Konzept eingefügt werden, das das Startelement eines Petri-Netzes festlegt. Allerdings wird die Eigenschaft (stark zusammenhängend) nach Verbindung eines editierten Geschäftsprozesses und eines stark zusammenhängenden Folgeprozesses nicht mehr erfüllt sein. Damit die Eigenschaft trotzdem erfüllt werden kann, werden weitere (formale) Kriterien vorausgesetzt. Grundsätzlich fraglich ist, ob überhaupt stark zusammenhängende Geschäftsprozesse in realen Ausschnitten modelliert werden.
3.2.1 Definition von Konzepten und Eigenschaften Laut Definition 6 ist ein Petri-Netz ein Tripel N = (S, T, F ) . Aus der Flussrelation
F ⊆ (S × T) ∪ (T × S) folgen die Bipartitheit des Netzgraphen sowie die Richtung der Kanten. Es werden die zwei disjunkten Teilmengen von Kanten unterschieden:
Fr ⊆ S × T und Fw ⊆ T × S . Daraus ergeben sich als netztypunabhängige Konzepte der Ontologie für PetriNetze: -
PetriNet für alle möglichen Petri-Netze N = (S, T, F),
-
Node für alle Knoten (S und T),
-
Arc für alle Kanten aus F,
-
Place für alle Stellen aus S,
-
Transition für alle Transitionen aus T,
-
FromPlace für alle Kanten aus Fr,
-
ToPlace für alle Kanten aus Fw.
In Definition 6 wird ausgedrückt, dass ein Petri-Netz N aus einer Knotenmenge
S ∪ T und einer Kantenmenge F besteht. Dieser Zusammenhang wird in der Ontologie für Petri-Netze ausgedrückt, indem dem Konzept PetriNet Objekteigenschaften zugeordnet werden: -
hasNode für die Domäne PetriNet und die Wertebereiche Place und Transition,
-
hasArc für die Domäne PetriNet und die Wertebereiche FromPlace und ToPlace.
Nachdem laut Definition 6 S ∪ T ≠ ∅ gilt, besitzt hasNode die Kardinalität [1..*], da ein Petri-Netz aus mindestens einem Knoten (Stelle oder Transition) besteht. Eine
73
Kante kann erst definiert werden, wenn mindestens zwei unterschiedliche Knoten bestehen; hasArc hat deswegen die Kardinalität [*]. Um auszudrücken, dass Kanten eine Quelle (source) und ein Ziel (target) haben, erben die Konzepte FromPlace und ToPlace vom Konzept Arc die Objekteigenschaft hasNode, wobei hasNode.FromPlace als Wertebereich Place und hasNode.ToPlace als Wertebereich Transition hat. Abhängig vom Petri-Netz-Typ beinhalten Stellen Marken32. Bei elementaren PetriNetzen sind die Marken noch anonym. In der Ontologie werden Stellen Markierungen über die Objekteigenschaft - hasMarking für die Domäne Place zugewiesen. Petri-Netze folgen einer operationalen Semantik; das bedeutet, dass die Stelle s1 zeitlich vor der Stelle s2 oder s3 „erfüllt“ wird (wenn zwischen s1 und s2 die Transition t1 existiert). Das Gleiche gilt für Transitionen. Kanten verlaufen immer zwischen Stellen und Transitionen (bzw. zwischen Transitionen und Stellen); es gilt
•s ∪ s • ⊆ T bzw. • t ∩ t • ⊆ S . Dieser Zusammenhang wird in der Ontologie für Petri-Netze ausgedrückt, indem Stellen und Transitionen Objekteigenschaften zugeordnet werden, die als Wertebereich den entsprechenden nachgelagerten Knotentyp (Transitionen bzw. Stellen) haben. Auf diese Eigenschaften wird insbesondere bei der Ähnlichkeitsberechnung im Kapitel 4 – genauer bei der Berechnung der strukturellen Ähnlichkeit von zwei Prozesselementnamen – zurückgegriffen: -
placeRef für die Domäne Transition und den Wertebereich Place,
-
transRef für die Domäne Place und den Wertebereich Transition.
Um ein striktes Pr/T-Netz in OWL auszudrücken, erweitern wir die oben definierte Ontologie um netztypabhängige Konzepte und Eigenschaften: -
LogicalConcept für alle Transitionsinschriften aus TI,
-
IndividualDataItem für alle Relationen R s ,
-
Attribute für alle Attribute A s ,
-
Value für Teilmengen aus Ds × .... × Ds .
i
1
n
Dem Konzept Transition wird die Objekteigenschaft
32 In S/T-Netzen weist K jeder Stelle eine Anzahl von Marken zu, die nicht überschritten werden darf. Diese Eigenschaft könnte in der Ontologie ausgedrückt werden, indem eine Datentypeigenschaft hasCapacity mit dem Wertebereich xsd:nonNegativeInteger eingefügt wird.
74
-
hasLogicalConcept mit der Domäne Transition und dem Wertebereich LogicalConcept
zugewiesen. Laut Definition 7 wird eine Kante f ∈ F eines Pr/T-Netzes als Menge von Variablentupeln beschriftet. Die Kantenbeschriftung entspricht den Konzepten: -
Delete für die Inschriften von Fr und
-
Insert für die Inschriften von Fw.
Die Konzepte FromPlace und ToPlace werden durch die Objekteigenschaft -
hasInscription mit der Domäne FromPlace bzw. ToPlace und dem Wertebereich Delete bzw. Insert
erweitert. Die gleiche Stelligkeit der Lösch- bzw. Einfügekanten wie das Prädikat werden in der Ontologie durch die Objekteigenschaft -
hasAttribute mit der Domäne Delete bzw. Insert und dem Wertebereich IndividualDataItem
modelliert. Für die Klassen LogicalConcept und IndividualDataItem wird die Objekteigenschaft -
hasAttribute mit der Domäne LogicalConcept bzw. IndividualDataItem und dem Wertebereich Attribute
zugewiesen, und für das Konzept Attribute wird die Objekteigenschaft -
hasValue mit dem Wertebereich Value
definiert. Für die Klasse Value gibt es die folgende Objekteigenschaft: -
hasRef mit der Domäne und dem Wertebereich Value.
Die Annotation einer Transition t ∈ T eines Pr/T-Netzes setzt sich aus Schaltbedingungen und Operationen zusammen, die in einer prädikatenlogischen Formel vereinigt werden. Bedingungen und Operationen werden in separaten Ontologiekonzepten definiert. Die Schaltbedingung Cont kann durch freie Variablen, die im Variablentupel der adjazenten Kanten enthalten sein müssen, durch gebundene Variablen sowie durch auf diesen Variablen definierte Prädikate beschrieben werden. In der Schaltoperation Opt können Funktionen definiert werden, die auf Variablentupeln der schreibenden Kanten definiert sind und diesen einen Wert aus einer
75
entsprechenden Domäne zuweisen. In der Ontologie werden Bedingungen und Operationen durch -
Condition für die Schaltbedingungen Cont aller t ∈ Tund
-
Operation für die Operationen Opt aller t ∈ T
modelliert. Diesen Konzepten werden die Objekteigenschaften wie folgt zugewiesen: -
hasOperation mit der Domäne LogicalConcept und dem Wertebereich Operation,
-
hasCondition mit der Domäne LogicalConcept und dem Wertebereich Condition.
Um eine prädikatenlogische Formel in der Pr/T-Netz-Ontologie als Schaltbedingung einer Transition darstellen zu können, muss diese in Pränex-Normalform33 vorliegen. Besitzt die Formel des Weiteren eine Matrix in KNF34, so kann diese durch die folgenden drei charakteristischen Datentypeigenschaften dargestellt werden: -
forall, exists und and mit der Domäne Condition und dem Wertebereich xsd:string.
Die Darstellung einer Operation als Menge beliebig vieler Funktionen erfolgt über die Datentypeigenschaft: -
function mit der Domäne Operation und dem Wertebereich xsd:string.
3.2.2 Konzeption einer Ontologie für Petri-Netze Die im vorhergehenden Abschnitt definierten Konzepte und Eigenschaften wurden nur informell dargestellt. Die Zusammenhänge zwischen den Konzepten und den Eigenschaften werden entsprechend Definition 1 in einer Ontologie formuliert. Zunächst werden noch die wichtigsten Elemente von OWL in formaler Syntax eingeführt, die im weiteren Verlauf dieses Abschnittes benötigt werden.
33 Eine Aussage in der Prädikatenlogik erster Stufe liegt in der Pränex-Normalform vor, wenn alle Quantoren außen bzw. links vor der eigentlichen Formel stehen. Eine Formel liegt in Pränex-Normalform vor,
wenn sie von der Form renfreie Formel ist. 34
Q1 y1 ,..., Qn y n L
Q1 y1 ,..., Q n y n
ist, mit
n ≥ 0 , Q1 ,..., Qn ∈ {∃, ∀} und L
eine quanto-
heißt Pränex und L ist die Matrix [HeWe90].
Eine Formel (in der Aussagenlogik) liegt in konjunktiver Normalform (KNF) vor, wenn sie eine Kon-
junktion von Disjunktionstermen ist, d. h. sie ist von der Form
76
∧ ∨ (¬)xij i
j
[HeWe90].
Tabelle 4: Formale Syntax von OWL DL
Element
DL Syntax
intersectionOf
A1⊓…⊓ A2
unionOf
A1⊔…⊔ A2
allValuesFrom
∀ P.A
someValuesFrom
∃ P.A
maxCardinality
≤ nP
minCardinality
≥ nP
Eine Ontologie für elementare Petri-Netze ist ein 5-Tupel O:= (C,Hc,P,Hp,A) mit 1. C
= {PetriNet, Node, Arc, Place, Transition, FromPlace, ToPlace}
2. Hc
= {(Place, Node); (Transition, Node); (ToPlace, Arc); (FromPlace, Arc)}
3. PhasNode
= {(PetriNet, Node)}, PhasNode = {(Arc, Place)};
PhasNode
= {(Arc, Transition)}, PhasArc = {(PetriNet, Arc)},
PplaceRef
= {(Transition, Place)}, PtransRef = {(Place, Transition)}35
4. Hp
= {∅}
5. A1
{PetriNet
≡
≥ 1hasNode.Node ⊓ hasArc.Arc}
A2
{Arc
≡
∃ hasNode.(Transition ⊔ Place}
A3
{Transition ≡
≥ 1placeRef.Place}
A4
{Place
≥ 1transRef.Transition}
≡
Eine Ontologie für strikte Pr/T-Netze ergibt sich aus der Erweiterung der Ontologie für elementare Petri-Netze um typabhängige Konzepte, Eigenschaften und Axiome. Sie wird definiert durch: 1. C
= {PetriNet, Node, Arc, Place, Transition, FromPlace, ToPlace, Delete, Insert, LogicalConcept, IndividualDataItem, Attribute, Value, Operation, Condition}
35
Der Wertebereich der Objekteigenschaft hasMarking wird im nächsten Kapitel eingeführt. Die Objekteigenschaft wird im nächsten Abschnitt berücksichtigt.
77
2. Hc
= {(Place, Node); (Transition, Node); (ToPlace, Arc); (FromPlace, Arc)}
3. PhasNode=
{(PetriNet, Node)}, PhasNode={(Arc, Place)};
PhasNode=
{(Arc, Transition)}, PhasArc={(PetriNet, Arc)},
PplaceRef=
{(Transition, Place)}, PtransRef={(Place, Transition)},
PhasMarking=
{(Place, IndividualDataItem)}, PhasInscription={(FromPlace, Delete)},
PhasInscription
={(ToPlace, Insert)}, PhasCondition={(LogicalConcept, Condition)},
PhasCondition
={(LogicalConcept, Operation)},
PhasAttribute=
{(LogicalConcept,Attribute)},
PhasAttribute
={(IndividualDataItem, Attribute)},
PhasAttribute
={(Delete, IndividualDataItem)},
PhasAttribute
={(Insert, IndividualDataItem)},
PhasValue
={(Attribute, Value)}, PhasRef={(Value, Value)},
Pfunction
={(Operation, xsd: string)}, Pforall={(Condition, xsd: string)},
Pexists
={(Condition, xsd: string)}, Pand={(Condition, xsd: string)}
4. Hp
= {∅}
5. A1
{PetriNet
≡
≥ 1hasNode.Node ⊓ hasArc.Arc}
A2
{Arc
≡
∃ hasNode.(Transition ⊔ Place}
A3
{Transition ≡
≥ 1placeRef.Place} ⊓
=1hasLogicalConcept.LogicalConcept} A4
{Place
≡
≥ 1transRef.Transition} ⊓
=1hasMarking.IndividualDataItem} A5
{FromPlace
≡
A6
{ToPlace
≡
A7
Node.Transition}
≥ 1hasInscription.Delete ⊓ ∃ hasNode.Place} ≥ 1hasInscription.Insert
⊓
∃ has-
{LogicalConcept ≡ (=1hasCondition.Condition ⊔
78
A8
=1hasOperation.Operation) ⊓
∃ hasAttribute.IndividualDataItem}
A9
{IndividualDataItem
≥ 1hasAttribute.Attribute}
A10
{Delete
≡ ∀ hasAttribute.IndividualDataItem}
A11
{Insert
≡ ∃ hasAttribute.IndividualDataItem}
A12
{Attribute
≡ ≥ hasValue.Value}
A13
{Value
≡ hasRef.Value}
A14
{Condition
≡ forall(string) ⊔ exists(string) ⊔ and(string)}
{Operation
≡ function(string)}
≡
Laut Definition 6 gilt S ∩ T = ∅ . Um auszudrücken, dass Instanzen des PlaceKonzepts nicht gleichzeitig Instanzen des Transition-Konzepts sein können (Disjunktion), wird in der elementaren und in der Pr/T-Netz-Ontologie eine entsprechende Einschränkung mit owl:disjointWith eingeführt: A0 { Place ∩ Transition = ∅ } Die abgebildeten Ontologiekonzepte sind direkt oder indirekt vom allgemeinsten OWL-Konzept owl:Thing abgeleitet. Dieser Sachverhalt muss allerdings nicht in der Ontologie explizit dargestellt werden, da alle Konzepte vom Typ owl:Class von owl:Thing abstammen. Alle Elemente der elementaren und der Pr/T-Netz-Ontologie können entweder in der SHOIN(D)36-Beschreibungslogik oder in Form von XML/RDF-Syntax ausgedrückt werden. OWL DL ist eine syntaktische Variante der SHOIN(D)-Beschreibungslogik, die trotz ihres hohen Grads an Ausdrucksmächtigkeit entscheidbar ist [Horr05]. In Schlussfolgerungssystemen wie Racer37 und FaCT++38 wird die Beschreibungslogik SHIQ(D) [HaST99] verwendet. Sie unterscheidet sich von SHOIN(D) vor allem dadurch, dass keine Nominale unterstützt werden39. Um eine skalierte Entscheidbarkeit in SHIQ(D) zu erreichen, wird OWL DL um Regeln, die Beschreibungslogikbasiert sind, erweitert [HuMS04]. Abfragen für diese Erweiterung von SHIQ(D) mit Beschreibungslogik-basierten Regeln werden durch einen Algorithmus erreicht, der SHIQ(D)
zu
disjunktiven
funktionsfreien
logischen
Programmen
(Datalog-
Programmen40), welche wiederum auf einem Teil der Logik erster Ordnung aufgebaut sind, reduziert. Quelltext 17 zeigt einen Ausschnitt41 der Pr/T-Netz-Ontologie in XML/RDF-Syntax. Alle Ontologiekonzepte werden als owl:Class definiert. Die Disjunktion von Place und Transition wird durch owl:disjointWith beschrieben. Die Verwandtschaftsbeziehungen werden durch rdfs:subClassOf definiert. Alle Eigenschaften eines Konzepts werden als owl:ObjectProperty (bzw. owl:DatatypeProperty) definiert. Die Domänen und der Wertebereich einer Eigenschaft werden innerhalb der Konzeptdefinition durch die Merkmale rdfs:domain und rdfs:range festgelegt. Die Zugehörigkeit mehrerer Konzepte zu beispielsweise demselben Wertebereich wird durch owl:unionOf erreicht.
36 37 38 39 40 41
O steht für nominals, N für unqualified number restrictions und (D) für datatypes http://www.racer-systems.com/products/tools/protege.phtml http://owl.man.ac.uk/factplusplus/ Nominale in der OWL DL-Syntax werden durch owl:oneOf oder owl:hasValue ausgedrückt. Datalog ist eine Datenbank-Programmiersprache, die Prolog syntaktisch und semantisch ähnelt. Die vollständige Pr/T-Netz-Ontologie findet sich im Anhang A.
79
Quelltext 17: Ausschnitt der Pr/T-Netz-Ontologie in XML/RDF-Syntax
0.2 In einer weiteren Anfrage soll für alle Stellen auf der ersten Ebene der Durchschnittswert von Ähnlichkeitswerten ausgegeben werden. In der aktuellen Implementierung von SiMQL muss in der Operationsklausel ein function operator value angegeben werden, weshalb ein logischer Vergleich > 0.0 eingefügt werden muss.
57 In der aktuellen Implementierung der Anfragesprache können nur zwei semantische Geschäftsprozessmodelle miteinander verglichen werden. Denkbar ist auch der Vergleich zwischen mehreren Prozessmodellen.
120
Quelltext 23: Weitere Anfrage in SiMQL (QUERY_CONDITION)
QUERY * FROM travelBooking.owl,reservation.owl ONCON OWL('travelBooking.owl')#PLACE().AVG(ALIGN('sim_com'))>0.0 Ohne den Sternoperator könnte die Anfrage aber auch verkürzt werden, indem die QUERY-Klausel weggelassen wird: Quelltext 24: Abgekürzte Anfrage von Quelltext 23 mit SiMQL
FROM travelBooking.owl,reservation.owl ONCON OWL('travelBooking.owl')#PLACE().AVG(ALIGN('sim_com'))>0.0 Die Anfrage aus Quelltext 23 bzw. 24 liefert als Ergebnis drei Stellen nämlich client-data, confirmation und rejection mit einem Ähnlichkeitswert von 0.27092.
Result for Condition: PLACE: [0.2709200803255186] http://www.aifb.uni-.../travelBooking.owl#client-data PLACE: [0.2709200803255186] http://www.aifb.uni-.../travelBooking.owl#confirmation PLACE: [0.2709200803255186] http://www.aifb.uni-.../travelBooking.owl#rejection
Typ 3: QUERY_ALIGNSELECTION QUERY_ALIGNSELECTION führt ebenfalls eine Ähnlichkeitsberechnung über genau zwei
semantische
Geschäftsprozessmodelle
durch.
Im
Gegensatz
zu
QUE-
RY_CONDITION arbeitet QUERY_ALIGNSELECTION nicht auf einem Pfad, sondern auf der gesamten OWL-basierten Darstellung von Petri-Netzen und gibt für alle angegebenen Bedingungen jeweils die Teilmenge zurück, die diese Bedingung erfüllt. QUERY_ALIGNSELECTION beantwortet die folgende Frage: Welche Elemente erfüllen nach Berechnung eines Ähnlichkeitswertes x und einer eventuellen Berechnung einer Aggregatfunktion die Bedingung, die in dem logischen Vergleich mit einem Wert y geprüft wird?
121
Aus den beiden semantischen Geschäftsprozessmodellen travelBooking.owl und reservation.owl sollen der Durchschnitt und die Summe der kombinierten Ähnlichkeit und der Ähnlichkeit der strukturellen Ähnlichkeit von Stellen berechnet werden. Zudem soll das Maximum und Minimum der strukturellen Ähnlichkeit ausgegeben werden: Quelltext 25: Anfrage mit SiMQL (QUERY_ALIGNSELECTION)
QUERY AVG(ALIGN('sim_com'),ALIGN('sim_str_P')), SUM(ALIGN('sim_str_P'),ALIGN('sim_str_A')), MAX(ALIGN('sim_com')), MIN(ALIGN('sim_com')), ALIGN('sim_com') FROM travelBooking.owl,reservation.owl Die Anfrage liefert das folgende Ergebnis:
Result for: AVG(ALIGN('sim_com'),ALIGN('sim_str_P')) PLACE:[0.7953733766233766] http://www.aifb.uni-.../reservation.owl#request PLACE:[0.7953733766233766] http://www.aifb.uni-.../travelBooking.owl#request TRANS:[0.24675324675324672] http://www.aifb.uni-.../reservation.owl#reject PLACE:[0.5066187021683674] http://www.aifb.uni-.../contact PLACE:[0.5066187021683674] http://www.aifb.uni-.../travelBooking.owl#booking ... Result for: SUM(ALIGN('sim_str_P'),ALIGN('sim_str_A')) PLACE:[1.1814935064935066] http://www.aifb.uni-.../reservation.owl#request PLACE:[0.02647480867346939] http://www.aifb.uni-.../contact PLACE:[0.02647480867346939] http://www.aifb.uni-.../travelBooking.owl#booking ... Result for: MAX(ALIGN('sim_com')) PLACE:[0.5907467532467533] http://www.aifb.uni-.../reservation.owl#request PLACE:[0.5907467532467533] http://www.aifb.uni-.../travelBooking.owl#request ... Result for: MIN(ALIGN('sim_com')) PLACE:[0.013237404336734695] http://www.aifb.uni-.../contact PLACE:[0.013237404336734695] http://www.aifb.uni-.../travelBooking.owl#booking ... Result for: ALIGN('sim_com') TRANS:[0.49350649350649345] http://www.aifb.uni-.../reservation.owl#reject
122
PLACE:[0.013237404336734695] http://www.aifb.uni-.../contact ...
5.2.2 Grammatik In diesem Kapitel wird die Grammatik von SiMQL erklärt. Eine Grammatik gibt die formale Beschreibung einer Sprache exakt und ohne die Einschränkungen durch die Ungenauigkeit natürlicher Sprachen wieder. Eine der bekanntesten Notationen zur Darstellung von Grammatiken ist die Backus-Naur-Form (BNF) [Knut64] beziehungsweise deren erweiterte Form EBNF58. Die große Verbreitung von (E)BNF hat dazu geführt, dass zahlreiche Werkzeuge entwickelt wurden, die die Formulierung von (E)BNF-Notation unterstützen. BNF und EBNF Die Backus-Naur-Form ist eine Notation zur Definition von Grammatiken. BNF ist von John Backus und Peter Naur während der Entwicklung von Algol-60 entwickelt worden, um erstmals die Syntax einer Programmiersprache exakt definieren zu können. Mit der BNF können nach der Chomsky-Hierarchie [Chom59] Typ-2- bzw. kontextfreie Grammatiken beschrieben werden. BNF ist eine mächtige und kompakte Notation. Diese Eigenschaften haben zur großen Bekanntheit und weiten Verbreitung von BNF in verschiedensten Themengebieten geführt. Eine Menge von BNFRegeln über einem Alphabet A heißt Grammatik. BNF unterscheidet zwischen Terminal- und Nichtterminalsymbolen. Terminalsymbole sind Konstanten (Zeichen oder Zeichenketten), Nichtterminalsymbole sind Variablen (Platzhalter für syntaktische Elemente). Die Definition von Nichtterminalsymbolen wird als Produktion bezeichnet. Die Zeichenkette „::=“ weist einem mit „< >“ umschlossenen Nichtterminalsymbol ein Nichtterminal- oder Terminalsymbol zu. Alternativen bei der Zuweisung werden mit „|“ dargestellt, Optionen mit „[ ]“ geklammert und Wiederholungen durch Rekursionen erzeugt: Alternative:
Option:
::= [] [] -
::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
[] Leerzeichen [] [] []
58
http://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf
123
Auf der linken Seite einer BNF-Regel steht immer eine syntaktisch Variable, die mit < > umschlossen ist. Die rechte Seite beschreibt syntaktische Variablen und Terminalzeichen, die durch Operatoren kombiniert werden können. Dabei gilt Klammer (Wiederholung, Option) vor Verkettung vor Auswahl. EBNF EBNF ist die bekannteste Erweiterung von BNF. EBNF ist durch den Standard ISO 14977 definiert und wird unter anderem vom W3C zur Definition von XML verwendet. Folgende Symbole stehen zur Notation von erweiterten BNF-Regeln zur Verfügung: Tabelle 8: Syntax von EBNF
Definition
:=
Logisches Oder
|
Optionale Wiederholung
{..}
Terminalsymbole
’’
Logisches Und
Explizit mit Leerzeichen getrennt
Endezeichen
;
Optional
[..]
Gruppierung
(..)
Wiederholung
*
Obwohl EBNF von den Konstrukten her nicht ausdrucksmächtiger als BNF ist, ist EBNF besser für die Beschreibung von Grammatiken geeignet, da komplexe Sachverhalte einfacher und kompakter zu beschreiben sind. Beispielsweise kann auf Rekursionen verzichtet werden, da bei EBNF das Symbol * für Wiederholungen eingeführt wurde.
Buchstabe
= 'a' | 'b' | 'c' | ... | 'x' | 'y' | 'z'
Wort
= ' ' | (Buchstabe)*
Die Grammatik für SiMQL wurde in EBNF notiert. Grundlage für die Grammatik ist die Definition der Symbole aller zulässigen Basistypen. Diese sind char, digit und sign sowie darauf basierend double und string. Das Symbol operator definiert alle zulässigen logischen Vergleichsoperatoren.
124
Abbildung 41: Basistypen von SiMQL
CHAR
=
A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z' ;
DIGIT
=
'0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' ;
SIGN
=
'_' | '-' ;
STRING
=
(CHAR | DIGIT | SIGN) {CHAR | DIGIT | SIGN} ;
DOUBLE
=
DIGIT ['.'] {DIGIT} ;
OPERATOR
=
'' | '=' | '=' | '!=' ;
Da alle Anfragen in SiMQL als Quelle ein oder mehrere semantische Geschäftsprozessmodelle verwenden, wird im Folgenden die Notation zur Angabe eines semantischen Geschäftsprozessmodells definiert. Dabei ist zu berücksichtigen, dass es sich nicht um eine vollständige Pfadangabe zu einem semantischen Geschäftsprozessmodell handelt, sondern nur um relative Pfade zu einem definierten Ordner, der durch (den Benutzer) an das Anfragesystem vorgegeben wurde.
OWL_FILE
=
STRING '.owl' ;
Um auf einem semantischen Geschäftsprozessmodell einen Pfad zu einem Knoten oder zu einer Knotenebene anzugeben, sind folgende Notationen zu verwenden: ein Pfad beginnt mit der Angabe des semantischen Geschäftsprozessmodells und der Angabe, ob auf Trans (Transitionen) oder Place (Stellen) angefragt wird. Um auf einen bestimmten Pfad zu navigieren, muss die Angabe Ref() verwendet werden; dabei muss Ref() mindestens einmal angegeben werden. Beispielsweise verweist die Formulierung OWL(''.owl'')#TRANS():Ref() auf alle Stellenelemente auf der ersten Ebene. Bei wiederholter Angabe von Ref() wechselt der Typ der Knotenebene immer zwischen Trans und Place, abhängig vom initialen Typ.
125
Abbildung 42: Pfadangaben in SiMQL
OWL_PATH
=
OWL OWL_INDIVIDUAL {':' OWL_REFERENCE};
OWL
=
'OWL(“' STRING '.owl“)#' ;
OWL_INDIVIDUAL
=
('TRANS' | 'PLACE') OWL_INDIVIDUAL_TYPE ;
OWL_INDIVIDUAL_TYPE
=
'()' | '(“' STRING '“)' | '(' DIGIT ')' | '(' DIGIT ',“' STRING '“)' ;
OWL_REFERENCE
=
'REF' OWL_REFERENCE_TYPE ;
OWL_REFERENCE_TYPE
=
'()' | '(“' STRING '“)' | '(' [OPERATOR] DIGIT ')' ;
Eine konkrete Anfrage wird in SiMQL mit der folgenden Syntax formuliert. Dabei werden die in Abschnitt 5.3.1. beschriebenen Anfragetypen verwendet, die mit dem Terminalsymbol QUERY eingeleitet werden. QUERY
=
'QUERY'( QUERY_SELECTION | QUERY_CONDITION | QUERY_ALIGNSELECTION ) ;
Im Einzelnen wird die Syntax der Anfragetypen wie folgt definiert: Abbildung 43: Syntax der Anfragetypen von SiMQL
QUERY_SELECTION
=
OWL_PATH (',' OWL_PATH)* 'FROM'
OWL_FILE
(',' OWL_FILE)* ; QUERY_CONDITION
=
OWL_FILE ',' OWL_FILE 'ONCON' CONDITION ;
QUERY_ALIGNSELECTION
=
(FUNCTION | MAX | MIN) (',' (FUNCTION | MAX | MIN))* 'FROM' OWL_FILE ',' OWL_FILE ;
Um eine Bedingung und eine Funktion zu definieren, wird ALIGN als Platzhalter für eines der folgenden Ähnlichkeitsmaße verwendet: sim_com (für kombinierte Ähnlichkeit), sim_str (strukturelle Ähnlichkeit), sim_ling (linguistische Ähnlichkeit), sim_str_P (strukturelle Ähnlichkeit von Stellen), sim_str_T (strukturelle Ähnlichkeit von Transitionen) oder sim_str_A (strukturelle Ähnlichkeit von Attributen). Um eine spätere Erweiterung der Implementierung von SiMQL zu vereinfachen, sind diese textuellen Repräsentationen der Ähnlichkeitsmaße nicht Teil der Grammatik.
126
Abbildung 44: Bedingungen und Funktionen von SiMQL
CONDITION
=
OPERATION ;
OPERATION
=
OWL_PATH '.' FUNCTION OPERATOR VALUE ;
FUNCTION
=
SUM | AVG | ALIGN ;
MAX
=
'MAX(' ALIGN ')' ;
MIN
=
'MIN(' ALIGN ')' ;
SUM
=
'SUM(' ALIGN ',' ALIGN {',' ALIGN} ')' ;
AVG
=
'AVG(' ALIGN ',' ALIGN {',' ALIGN} ')' ;
ALIGN
=
'ALIGN(“' STRING '“)' ;
VALUE
=
DOUBLE ;
Die Implementierung von SiMQL und die Integration in SemPeT werden im Kapitel 7.2.2 erklärt.
5.3
Anforderungen an die OWL-basierte Anfragesprache
Anfragesprachen lassen sich in prozedurale und deklarative Anfragesprachen unterscheiden. Bei deklarativen Anfragesprachen definiert der Benutzer, welche Daten für ihn interessant sind. Bei prozeduralen Anfragesprachen wird hingegen zusätzlich definiert, wie die Auswertung der Daten vorgenommen werden soll. Zur Konzeption einer deklarativen Anfragesprache für Ähnlichkeitswerte sind neben den allgemeinen Anforderungen an eine Anfragesprache auch spezielle systembedingte Anforderungen zu berücksichtigen. Diese speziellen Anforderungen begründen sich durch das verwendete technische Verfahren, das zur Berechnung von Ähnlichkeitswerten benutzt wird, und sind im Besonderen durch die zu Grunde liegende OWL-basierte Darstellung von Geschäftsprozessen (semantische Geschäftsprozessmodelle) bedingt. Im Folgenden wird auf die von Heuer und Scholl [HeSc91] als allgemeingültig definierten Kriterien für deklarative Anfragesprachen näher eingegangen. Dabei wird die Einhaltung/Nichteinhaltung der Anforderungen für die neu definierte OWLbasierte Anfragesprache SiMQL überprüft.
5.3.1 Allgemeine Anforderungen Als allgemeine Anforderungen werden definiert:
127
Ad-Hoc-Formulierung Anfragen müssen direkt formuliert werden können, ohne dass der Benutzer ein vollständiges Programm schreiben muss. Die Anfragesprache muss eine Syntax bereitstellen, die leicht verständlich ist und intuitiv eine Anfrageformulierung unterstützt. Diese Anforderung wird in der OWL-Anfragesprache durch eine SQL-ähnliche Syntax erreicht. Deskriptivität Anfragen sollen definieren, was man haben will und nicht wie das Ergebnis ermittelt werden soll. Diese Anforderung gilt uneingeschränkt für die entwickelte OWL-basierte Anfragesprache, die eine deklarative und keine prozedurale Anfragesprache darstellt. Bei einer Anfrage muss der Benutzer keine Berechnungsalgorithmen definieren, sondern nur die für ihn relevanten Suchkriterien angeben. Mengenorientiertheit Eine Operation soll auf Mengen von Daten arbeiten und nicht auf einzelnen Elementen. Diese Forderung wird auch von SiMQL erfüllt. Allerdings trifft der klassische Mengenbegriff nur teilweise zu, da zwar alle in einem Geschäftsprozessmodell vorkommenden Prozesselementnamen als Menge vorliegen, die einzelnen Elemente allerdings wechselseitig in Beziehung stehen (wie auch aus relationalen Datenbanksystemen bekannt). Das Anfrageergebnis ist jedoch wie gefordert eine nicht sortierte Menge, die ebenfalls durch Teilergebnisse erzeugt werden kann, die über Mengenoperationen verknüpft werden können. Abgeschlossenheit Ein Ergebnis einer Anfrage kann wieder als Eingabe für eine Anfrage verwendet werden. Diese Forderung wird aufgrund der Struktur des Ähnlichkeitsergebnisses nicht erfüllt. Ein Anfrageergebnis beinhaltet neben den Elementnamen aus den zu Grunde liegenden OWL-basierten Darstellungen von zwei Geschäftsprozessmodellen immer auch die Metadaten, die sich durch die Ähnlichkeitsmessung ergeben (Ähnlichkeitswert, Elementname, Namensraum). Möglich wäre, diese Metadaten nur beim endgültigen Ergebnis einer Anfrage mit einzubeziehen, sodass geschachtelte Abfragen möglich wären.
128
Sicherheit Jede syntaktisch korrekte Anfrage muss terminieren, darf nicht in eine Endlosschleife geraten und muss ein endliches Ergebnis liefern. Die Forderung nach Sicherheit einer Anfrage ist erfüllt. Syntaktisch nicht korrekte Anfragen werden automatisch erkannt und nicht verarbeitet. Die Anfrage nach Transitionen als erstes Prozesselement hat einen leeren Rückgabewert, wenn der Prozess mit einer Stelle anfängt. Als Fehlermeldung bekommt der Benutzer ein „Error“ und keine weiteren Informationen zur Fehlerentstehung. Eingeschränktheit Unter Maßgabe der Optimierbarkeit, Sicherheit und Effizienz darf die Anfragesprache keine komplette Programmiersprache sein. Die Eingeschränktheit gilt für SiMQL, da die Anfragesprache keine komplette Programmiersprache ist. Vollständigkeit Die Anfragesprache muss mindestens so mächtig sein wie eine Standardsprache. (Eine Anfrage einer relationalen Anfragesprache muss zum Beispiel mindestens so mächtig sein wie die ihr zu Grunde liegende Relationenalgebra.) Diese Forderung bezieht sich direkt auf das Datenmodell der Anfragesprache. Das verwendete Datenmodell der Anfragesprache ist OWL DL. Die OWLbasierte Darstellung von Petri-Netzen ist ein spezielles OWL-Schema, das zwar auch in einer Beschreibungslogik (SHOIN-D) modelliert werden kann, allerdings speziell für Petri-Netze entwickelt wurde. Bei diesem Format handelt es sich nicht um ein klassisches Datenmodell, wie es durch die Relationenalgebra für relationale Datenbanken vorgegeben wird. Die Anforderung der Vollständigkeit kann nicht direkt gewährleistet werden; formale Vergleiche zwischen dem OWL-Schema und der Anfragesprache wären notwendig, um diese Anforderung zu erfüllen. Adäquatheit Alle Konstrukte, die im Datenmodell verwendet werden, müssen unterstützt werden. Neben dem Kriterium Vollständigkeit kann auch die Adäquatheit nicht gewährleistet werden, da nur ein Teil des zu Grunde liegenden OWL-Modells für die Ähnlichkeitsmessung verwendet wird. So sind in der OWL-basierten Darstellung von Geschäftsprozessen Einschränkungen und Klassen definiert, die nicht für die Ähnlichkeitsberechnung benötigt werden (z.B. owl:disjointWith).
129
Orthogonalität Sofern eine Typübereinstimmung gegeben ist, können Sprachkonstrukte gleich verwendet werden und sind beliebig kombinierbar. Funktionen und Operationen, die einen Rückgabewert vom gleichen Typ haben, können nicht in jedem Fall orthogonal verwendet werden. So können zwar zum Beispiel Summen- und Durchschnittsfunktion äquivalent verwendet werden, jedoch nicht die Summen- und Maximalfunktion. Bei der Summen- und Durchschnittsfunktion werden Operationen über zwei angegebene Ähnlichkeitsmaße gebildet. Bei der Maximalfunktion wird der Maximalwert eines Ähnlichkeitswerts bestimmt.
Eine
Orthogonalität
ist
allerdings
bezüglich
der
Operations-
und
Funktionsparameter gewährleistet. Erweiterbarkeit Die Anfragesprache soll bei einer Erweiterung des Datenmodells ebenfalls erweiterbar sein. Die Anfragesprache wurde so konzipiert, dass spätere Erweiterungen keine (oder nur minimale) Überarbeitungen der bestehenden Strukturen bedingen. Das Kriterium der Erweiterbarkeit ist demzufolge gewährleistet, da SiMQL auf einer Grammatik basiert, die mit Standardmethodik (JAVA, BNF) entwickelt wurde und eine leichte Erweiterung unterstützt. Optimierbarkeit Die Anfragesprache besteht aus wenigen optimierbaren Operationen. Da die Deskriptivität gewährleistet ist, können alle Operationen unabhängig optimiert werden. Obwohl bei der prototypischen Implementierung der Anfragesprache nicht die Optimierung im Vordergrund stand, ist eine hinreichende Optimierung im Zuge der Implementierung erfolgt (beim Zugriff auf semantische Geschäftsprozessmodelle und das Outputformat der Ähnlichkeitsberechnung). Effizienz Operationen sollen effizient ausführbar sein. Die Effizienz kann nicht im herkömmlichen Sinne ermittelt werden. Es kann keine Komplexität angegeben werden, da die Berechnung der Ähnlichkeitswerte die direkt das Anfrageergebnis bestimmen - implementierungsbedingt unterschiedliche Effizienzgrade hat. Im besten Fall dauert die Ergebnisberechnung 1 Minute und im schlimmsten Fall 30 Minuten. Die Ähnlichkeitsmessung bestimmt während des gesamten Verarbeitungsvorgangs dynamisch weitere Berechnungen, die eventuell einer erneuten Anfrage des Benutzers bedürfen. Die Berechnungsdauer der
130
Ähnlichkeitswerte steigt mit zunehmender Größe der semantischen Geschäftsprozessmodelle. Eine Zusammenfassung der Kriterien und ihr Erfüllungsgrad in SiMQL sind in Tabelle 9 dargestellt. Tabelle 9: Erfüllung allgemeiner Anforderungen von SiMQL
Anforderung
Erfüllt
Ad-Hoc-Formulierung
x
Deskriptivität
x
Mengenorientiertheit
Teilweise erfüllt
Nicht erfüllt
x
Abgeschlossenheit
x
Sicherheit
x
Eingeschränktheit
x
Vollständigkeit
x
Adäquatheit
x
Orthogonalität Erweiterbarkeit
x x
Optimierbarkeit
x
Effizienz
x
5.3.2 Spezielle Anforderungen Bei der prototypischen Entwicklung von SiMQL sind neben den allgemeinen Kriterien für eine Anfragesprache auch spezielle Anforderungen zu berücksichtigen. Diese Anforderungen ergeben sich einerseits aus technischen Gegebenheiten und andererseits aus dem Erfordernis, dass die Anfragesprache und die darauf aufbauende grafische Oberfläche in eine Werkzeugumgebung zur Modellierung von Geschäftsprozessen, zur XML- und OWL-Serialisierung und zur Berechnung von Ähnlichkeitsmaßen (das Modellierungswerkzeugs SemPeT wird im Kapitel 8 erklärt) eingebunden werden soll. Integration und Technik Bei der Integration der Anfragesprache in SemPeT ergeben sich technische Herausforderungen, die berücksichtigt werden müssen. Eine Herausforderung ergibt sich direkt aus der Anfrage von Ähnlichkeitswerten. Die Berechnung der Ähnlichkeits-
131
werte wird temporär für jede Anfrage vorgenommen und das Ergebnis wird in einem eigenen Datenformat abgelegt. Die Syntax für die Anfragesprache muss somit zwei verschiedene Formate kennen und eine Mischung aus beiden Formaten interpretieren können. Abbildung 45 zeigt die unterschiedlichen Formate von semantischen Geschäftsprozessmodellen und vom Ergebnis der Ähnlichkeitsberechnung. Abbildung 45: Input- und Outputformate der Ähnlichkeitsberechnung
Soll eine Anfrage nicht über die gesamten semantischen Geschäftsprozessmodelle erfolgen, muss das OWL-Modell, das die OWL-basierte Darstellung von Petri-Netzen repräsentiert, eingeschränkt werden. Eine Einschränkung ist in diesem Sinne als eine Filterung auf eine Teilstruktur der OWL-basierten Darstellung zu verstehen. Diese Einschränkung erfolgt durch die direkte Auswahl eines Knotens in der OWLbasierten Darstellung beziehungsweise durch Auswahl einer Knotenebene. Eine Knotenebene kann durch zusätzliche Angabe eines Attributwertes nochmals gefiltert werden. Durch Angabe des Attributes für die eindeutige Kennzeichnung eines Knotens ist es so möglich, einen speziellen Knoten für eine Anfrage zu definieren. Im Vergleich dazu sind beispielsweise bei SQL alle Einschränkungen auf Teilmengen der ursprünglichen Datenbasis entweder durch geschachtelte Anfragen oder durch entsprechende Angaben in der Bedingungsklausel vorzunehmen.
132
Bedienbarkeit Die Anfragesprache SiMQL wurde in SemPeT über eine graphische Oberfläche integriert. Dabei stand bei der Implementierung von SiMQL die Benutzerfreundlichkeit der Anfrageformulierung im Vordergrund, weshalb für die Anfrageklauseln „Kurzschreibweisen“ definiert wurden. Nicht benötigte Angaben, die sich direkt aus dem Kontext ergeben, sind bei der entwickelten Anfragesprache nicht anzugeben. Um alle allgemeinen und speziellen Anforderungen erfüllen zu können, wären Erweiterungen der Grammatik notwendig. Diese Erweiterungen werden im Kapitel 10.4 (methodische Grenzen des Forschungsansatzes) skizziert.
5.4
Ausdrucksmächtigkeit
Die Entwicklung eines Datenmodells verlangt Kompromisse. So korreliert die Ausdrucksmächtigkeit einer Sprache mit der Effizienz der Implementierung. Vereinfacht betrachtet ist die Ausdrucksmächtigkeit von SiMQL beschränkt auf die Anfrage eines Ähnlichkeitswerts von Stellen und Transitionen. Der Ähnlichkeitswert ist ein numerischer Wert, der zwischen 0 und 1 liegt und aus der Ähnlichkeitsberechnung zwischen zwei Knoten (Stellen oder Transitionen) resultiert. Die primitivste Anfrage in SiMQL ist eine Suche nach allen existierenden Knoten in einem bestimmten Geschäftsprozess; d.h., SiMQL unterstützt den All-Operator (*). Die Anfrage kann konkretisiert werden, indem nur alle existierenden Stellen (Place()) bzw. Transitionen (Trans()) eines Geschäftsprozesses ausgegeben werden sollen. Aus der Menge aller vorhandenen Knoten kann dann nach Knoten mit bestimmten Eigenschaften, insbesondere einem Ähnlichkeitswert gesucht werden (z.B. sim > 0.3). Wobei SiMQL alle Ähnlichkeitsmaße, wie sie im Kapitel 4.6 definiert wurden, unterstützt; d.h., über SiMQL können Knoten ermittelt werden, die eine bestimmte syntaktische Ähnlichkeit haben. Darüber hinaus unterstützt SiMQL alle aggregierten Funktionen (Min, Max, Sum, Avg). Durch geringe Veränderung können Ergebnisse mehrerer QUERY-Anweisungen mittels der Mengenoperationen wie z.B. Vereinigung verknüpft werden. Die Ausdrucksmächtigkeit von SiMQL beruht auch auf der Möglichkeit weitere QUERY-Anweisungen innerhalb des ONCOTeils formulieren zu können. Bei Ähnlichkeitswerten handelt es sich um numerische Werte; somit können mit SiMQL keine string-Operationen und Funktionen formuliert werden wie beispielsweise ein Substring-Matching (starts-with, ends-with). Ferner ist auch kein Casting von Datentypen möglich.
133
SiMQL arbeitet auf semantischen Geschäftsprozessmodellen und dem Outputformat der Ähnlichkeitsberechnung. Der Benutzer kann über SiMQL nur Knoten anfragen, diese aber nicht löschen (Delete), ersetzen (Replace) oder neue Knoten einfügen (Insert). Diese Operationen wurden in SiMQL nicht realisiert, da die Anfragesprache als Hilfestellung für die Integration von Geschäftsprozessen dienen soll und Benutzern die Resultate (bei der Anfragesprache Knoten bzw. Prozessfragmente) benutzerindividuell verändern können/sollen und nicht die Knoten von Geschäftsprozessen in einem Prozessrepository manipulieren sollen. Die Anfrageformulierung in SiMQL bietet bislang keine Möglichkeiten, um Datentypen, Operationen und Funktionen selbstzudefinieren, damit die Lesbarkeit von Anfragen und die Wiederverwendung verbessern werden. Bei SiMQL handelt es sich um eine deklarative Anfragesprache. Somit hat der Benutzer bei der Formulierung seiner Anfrage mit SiMQL keinen Einfluss auf die Auswertungsreihenfolge von Funktionen und Operationen und damit auf eine effiziente Auswertung. SiMQL bietet bislang noch keine Möglichkeit, um Ablaufmuster von Geschäftsprozessen (siehe Kapitel 2.2) innerhalb der Anfrage formulieren zu können. Es kann nur nach Knoten gesucht werden, die einem bestimmten Ähnlichkeitswert entsprechen und nicht, ob sie parallel zu einander sind.
134
6
Konzeption einer Empfehlungskomponente zur
Modellierungsunterstützung von Geschäftsprozessen
Beim Entwurf von Geschäftsprozessen müssen sich Modellierer an Restriktionen des Unternehmens orientieren. Die Geschäftsprozesse müssen den vom Unternehmen definierten Geschäftsregeln entsprechen. In diesem Kapitel wird eine weitere Unterstützung während der Geschäftsprozessmodellierung auf Basis einer Empfehlungskomponente vorgestellt. Zunächst berücksichtigt die Empfehlungskomponente beim Vorschlag von passenden Folgeprozessen ausschließlich Geschäftsregeln. Im zweiten Schritt wird die Komponente dahingehen erweitert, dass auch unterschiedliche Begrifflichkeiten für gleiche Prozessobjekte und Geschäftsregeln berücksichtigt werden. Folgeprozesse, die zum editierten Geschäftsprozess sehr ähnliche Prozessaktivitäten verwenden und auch Geschäftsregeln entsprechen, werden bei der Empfehlung ebenfalls angezeigt. Zuletzt wird das Abstraktionsniveau der editierten Prozessaktivitäten beim Vorschlag passender Folgeprozesse beachtet.
6.1
Geschäftsregeln
Geschäftsregeln repräsentieren die Unternehmenspolitik, unternehmerisches Wissen und Fachkenntnisse. Die Business Rule Group [BRG] definiert eine Geschäftsregel “as a statement that defines or constrains some aspect of the business, and it is intended to assert business structures or to control or influence the behaviour of the business”. Gewöhnlich werden Geschäftsprozesse entsprechend bestimmter Geschäftsregeln modelliert, z.B. falls ein Kunde fünf Schadensfälle gemeldet hat oder die Schadenssumme einen Wert von 2000 Euro in einem Jahr überschreitet, dann wird sein Vertrag gekündigt.
6.1.1 Klassifikation von Geschäftsregeln In der Literatur finden sich verschiedene Klassifikationsschemata für Geschäftsregeln. Von Halle [Hall02] beschreibt ein abstraktes Klassifikationsschema für Geschäftsregeln, das aus einem Term, einem Fakt und einer Regel besteht (siehe Ab-
135
bildung 46). Ein Term kann ein Konzept (Kunde), eine Eigenschaft (treuer Kunde) oder ein Wert (weiblich) eines Konzepts sein. Fakten sind Aussagen, die Terme durch Präpositionen und Verben verbinden. Beispiele für Fakten sind Kunde kann Bestellung vornehmen oder Kunde kann Kredit aufnehmen. Eine Regel ist eine deklarative Aussage, die eine Berechnung von Informationseinheiten unterstützt und kann klassifiziert werden in eine Regel, die Restriktionen (Wenn der Kunde unter 18 Jahre alt ist, dann darf er keine Bestellung abgeben) oder Empfehlungen vorgibt (Ein Kunde sollte zu einem Zeitpunkt nicht mehr als 10 offene Bestellungen haben), Aktionen oder (Wenn die Bestellung eingetroffen ist, dann kann die Bestellung verarbeitet werden) Inferenzen auslöst (Wenn zwei Vollzahler eine Reise gebucht haben, dann zahlt die dritte Person nur die Hälfte). Abbildung 46: Klassifikationsschema für Geschäftsregeln
Geschäftsregel
Term
Fakt
Restriktion
Unter
Empfehlung
regelbasierter
für
Inferenzregel
Aktionsauslösende Regel
Modellierung
(Event-Condition-Action)
Regel
können
„Ereignis-Bedingung-Aktion“-Regeln
Datenbanksysteme
[GaDi93]
oder
logikbasierte
Sprachen wie Prolog [ClMe87] und Ansätze für Regelfunktionseinheiten (rule engines) wie Jess [Golb04] subsumiert werden. Die meisten Regelsprachen unterstützen
die
logischen
Operatoren
AND
(∧)
und
OR
( ∨ ).
Manche
Regelsprachen bieten auch eine Negation (NOT). Für unser Anwendungsszenario einer Unterstützung während der Prozessmodellierung werden die vier Arten von Geschäftsregeln zu drei Regeltypen subsumiert: •
Einschränkende Regeln (äquivalent zu Restriktionen): es werden zwei Arten von einschränkenden Regeln unterschieden. Zum einen kann sich dieser Regeltyp auf die Integrität von (semantischen) Geschäftsprozessmodellen beziehen (siehe Kapitel 2.3.1) und gilt für jedes (semantische) Geschäftsprozessmodell. Beispielsweise muss auf eine Stelle immer eine Transition folgen und umgekehrt. Die Gültigkeit
136
dieses Regeltyps ist erfüllt, wenn der modellierte Prozess mit den vorgegebenen Einschränkungen übereinstimmt. Anderenfalls wird diese Regel verletzt. Einschränkende Regeln gewährleisten die Integrität von Geschäftsprozessen bei einer Modellierungsunterstützung. Zum anderen können mit diesem Regeltyp Restriktionen beschrieben werden: Kunden, die unter 18 sind, dürfen keine Online-Reservierung vornehmen. •
(Ereignis-)Bedingung-Aktion-Regeln (äquivalent zu Aktionsauslösenden Regeln): bei diesem Regeltyp müssen bestimmte Bedingungen erfüllt sein, bevor Aktionen ausgeführt werden können. Dabei kann die Überprüfung der Gültigkeit von Bedingungen von Ereignissen abhängen. Diese Regeln werden vor der Geschäftsprozessmodellierung
definiert
und
in
einem
Repository
für
eine
spätere
Anwendung
gespeichert. Die Syntax einer Ereignis-Bedingung-Aktion-Regel59 sieht wie folgt aus:
INITIATION OR OR .. OR IF AND60 AND .. AND THEN AND AND .. AND Der Ereignisteil, der aus 1 bis n Ereignissen bestehen kann, beschreibt den Auslöser der Regel und ist durch OR-Verknüpfungen verbunden; d.h. ein Ereignis reicht aus, um die Regel auszulösen. Der Bedingungsteil spezifiziert 1 bis n Bedingungen, die erfüllt sein müssen, bevor eine Aktion ausgeführt werden kann. Im Fall von mehreren Bedingungen werden Bedingungen durch den logischen AND-Operator verbunden. Die Erfüllung von Bedingungen löst eine oder mehrere Aktionen von Folgeprozessen aus, die durch AND-Verknüpfungen verbunden sind. Aktionen können wiederum neue Bedingung-Aktion-Regeln auslösen. Die INITIATION- und IF-Teile sind für den aktuell zu modellierenden Geschäftsprozess relevant und der THEN-Teil beschreibt Aktionen, die Folgeprozesse (die zur Vervollständigung vorgeschlagen werden) beinhalten müssen. Der THEN-Teil schränkt die Menge an passenden Prozessfragmenten ein. Dabei ist der INITIATION-Teil optional, da die Regel INITIATION OR61 OR … OR IF … 59 Eine regelbasierte automatische Anwenderunterstützung und deren Implementierung wurden nur für Regeln in der englischen Sprache vorgenommen, weshalb die Syntax in Englisch erklärt wird. 60 Bedingungen mit OR-Verbindungen (exklusives Oder) können über IF a OR b THEN c ≡ IF a THEN c, IF b THEN c ausgedrückt werden. 61 Das OR ist ein exklusives Oder (XOR).
137
umgeschrieben werden kann zu: a) IF AND … b) IF AND … c) … d) IF AND … •
Dynamische Regeln (äquivalent zu Empfehlungen und Inferenzregeln): Regeln gelten üblicherweise nur für einen bestimmten Kontext und müssen für einen anderen Kontext umformuliert bzw. angepasst werden. Einige Regeln benötigen sogar Informationen über Daten eines bestimmten Prozesses. Mit Hilfe von so genannten dynamischen Regeln werden Regeln als Frage umformuliert und an den Benutzer gestellt, der den Realweltausschnitt modelliert. Denn der Modellierer weiß am besten, ob bestimmte Kriterien zur Laufzeit erfüllt werden können. Die Regel wenn ein hoher Schaden vorliegt, dann muss ein Gutachter konsultiert werden wird zu der Frage umformuliert liegt hier ein hoher Schaden vor? oder was ist ein hoher Schaden? Die Syntax von dynamischen Regeln sieht wie folgt aus:
IF QUERY natural language query THEN AND AND … AND Der THEN-Teil schränkt wiederum die Menge an passenden Folgeprozessen ein. Am Beispiel der folgenden drei Regeln wird in den nächsten Unterabschnitten die Konzeption und Realisierung einer ähnlichkeitsbasierten Empfehlungskomponente für Geschäftsprozesse erklärt:
1) IF customer order is checked THEN manufacture item AND send article 2) IF material ordered AND QUERY Is the material price greater than 100 Euro? THEN approve material 3) IF QUERY Is inventory of article X below its minimal inventory? THEN reorder article X from supplier Im Falle der Gültigkeit dieser drei Regeln, würde das Unterstützungssystem Prozessfragmente vorschlagen, die mit der Herstellung und Versendung von Artikeln (Regel 1) und der Frage an den Benutzer, ob der Materialpreis höher als 1000 Euro
138
ist (Regel 2), zu tun haben. Regel 3 ist eine Kombination einer ECA und einer dynamischen Regel.
6.1.2 Konsistenz von Geschäftsregeln Konsistente Geschäftsregeln sind gültige Regel. Bei der Realisierung der Empfehlungskomponente muss allerdings beachtet werden, dass Geschäftsregeln auch inkonsistent sein können. Inkonsistenzen können in Geschäftsregeln auf zweierlei Weise entstehen [Hall02]: zwei Regeln haben denselben IF-Teil, führen aber zu einem unterschiedlichen
•
THEN-Teil zwei Regeln haben einen unterschiedlichen IF-Teil, führen aber zu demselben
•
THEN-Teil Zum Auffinden von inkonsistenten Geschäftsregeln könnte eine Tabelle mit der Menge aller für bestimmte Geschäftsprozesse annotierter Geschäftsregel erstellt werden. Tabelle 10 zeigt, dass Regel R5 und R10 denselben IF-Teil haben, aber einen unterschiedlichen THEN-Teil. Bei Regel 19 und Regel 23 ist es umgekehrt. Damit handelt es sich um inkonsistente Regeln. Regel R16 ist konsistent, da es keine weitere Geschäftsregel gibt, die einen gleichen IF- oder THEN-Teil als R16 hat. Tabelle 10: Annotierte Geschäftsregeln für Geschäftsprozessmodelle
Regel-ID
IF-Teil
THEN-Teil
R5
wenn ein hoher Schaden
dann muss ein Gutachter
vorliegt
konsultiert werden
wenn ein hoher Schaden
dann muss ein Gutachter
vorliegt
konsultiert und ein Gut-
R10
inkonsistent
achten erstellt werden R19
Wenn die Kreditwürdigkeit
dann darf der Kunde eine
eines Kunden positiv ge-
Versicherung abschließen
prüft wurde R23
Wenn die Kreditwürdigkeit
dann darf der Kunde eine
eines Kunden positiv ge-
Versicherung abschließen
prüft
wurde
und
er
inkonsistent
in
Deutschland einen ständigen Wohnsitz hat R16
Wenn der Kunde die letz-
dann
ten zwei Jahre keine Versi-
Versicherungsprozente um
cherungsleistungen
10 % gesenkt werden
in
sollen
die
konsistent
Anspruch genommen hat
139
Für ein System ist es schwierig zu entscheiden, welche Regel gültig ist. Denkbar wäre, dass der Benutzer bei Annotation von Geschäftsregeln an Prozessmodelle eine Prioritätenliste angibt. Mit Hilfe der Benutzerprioritäten könnten die Geschäftsregeln abgearbeitet werden und passende Folgeprozesse von der Empfehlungskomponente vorgeschlagen werden:
6.2
Priorität
RegelID
1
R10
2
R23
3
R16
Konzeption
Die Realisierung einer Empfehlungskomponente erfordert die Berücksichtigung von Geschäftsregeln, die für bestimmte Geschäftsprozessmodelle formuliert wurden. Die Idee der Realisierung dieser Komponente wurden bereits im Kapitel 6.1 erklärt. Das OWL-basierte Beschreibungsformat von Petri-Netzen muss allerdings um entsprechende Regeln erweitert werden, die die Integrität von Petri-Netz basierten Geschäftsprozessen garantieren. Diese Regeln werden in der Semantic Web Rule Language beschrieben.
6.2.1 Semantic Web Rule Language Die Semantic Web Rule Language (SWRL)62 [HPBT04] ist eine Kombination aus OWL DL und Unary/Binary Datalog RuleML [BoTW01] und wurde beispielsweise in Jess [Frie01] und in KAON263 umgesetzt. In der SWRL-Spezifikation werden Regeln wie folgt definiert: antecedent → consequent, wobei antecedent und consequent aus 0 bis n Atomen bestehen. Jedes Atom wird durch die Form C(x), P(x,y), sameAs(x,y) oder differentFrom(x,y) beschrieben, wobei C ein OWL-Konzept ist, P eine OWL-Eigenschaft und x,y Variablen oder OWL-Instanzen sein können. Wenn der antecedent-Teil eingehalten wird, dann wird auch der consequent-Teil eingehalten. Wenn der antecedent-Teil leer ist (d.h. immer wahr), dann wird der consequent-Teil eingehalten. Wenn der consequent-Teil leer ist (d.h. immer falsch), dann darf der antecedent-Teil nicht eingehalten werden; dies ermöglicht, Einschränkungen zu formulieren.
62 63
http://www.daml.org/2003/11/swrl/ http://kaon2.semanticweb.org/
140
Zusätzlich gibt es in der SWRL-Spezifikation noch so genannte customer built-ins64 (anwenderdefinierte Ausdrücke), von denen einige aus der XQuery und XPath Spezifikation übernommen wurden. Das built-in swrlb:stringLength kann verwendet werden, um die Länge eines Strings zu berechnen oder swrlb:add, um zwei Zahlen zu
addieren.
In
der
nachfolgenden
Regel
wird
das
built-in
swrlb:greaterThanOrEqual benutzt, welches ausdrückt, dass eine Person mit 18 oder mehr Jahren ein Erwachsener ist:
Person(?p) ∧ hasAge(?p, ?age) ∧ swrlb:greaterThanOrEqual(?age, 18)
→ Adult(?p) Der nachfolgende Quelltext zeigt die Einbindung einer SWRL-Regel in das OWLbasierte Beschreibungsformat von Petri-Netzen. Eingeleitet werden SWRL-Regeln mit dem Namensraumpräfix . Jeder Regel wird eine ID zugeordnet, die eindeutig sein muss. Die Bestandteile einer SWRL-Regel – in diesem Fall – werden im nächsten Abschnitt erklärt. Quelltext 26: Kombination von semantischen Geschäftsprozessmodellen mit SWRL-Regeln
= 0.4) liegt. Algorithmus 3 zeigt die Umwandlung von ECA-Regeln (ohne dynamische Regel) bzw. des zweiten Typs von einschränkenden Regeln in eine SWRL-Regel unter Berücksichtigung von
148
Ähnlichkeitsmaßen67. Für die Berechnung der semantischen Ähnlichkeit zwischen Begriffen für Geschäftsregeln und Geschäftsprozessen wird der Fakten-Teil von Regeln herangezogen.
Algorithmus 3 Umwandlung einer ECA Regel (ohne QUERY-Teil) in eine SWRL-Regel 1: swrlRule ⇐ „isSelected(?node1,true) ∧ initialElement(?net, ?node2) ∧ arcPossible(?node1,?net) ∧ branching (?node1,?net)” 2: for all conditions cond i ( i ∈1..n ) that appear in the IF part do 3: swrlRule.append(“ ∧ beforeOrLast(? nodecondition i ,?node1)”) 4: swrlRule.append(“ ∧ semSimilarity(? nodecondition i , cond i ,0.4)”) 5: end for 6: for all actions act i ( i ∈1..n ) that appear in the THEN part do 7: swrlRule.append(“ ∧ afterOrFirst(? nodeactioni ,?node2)”) 8: swrlRule.append(“ ∧ semSimilarity(? nodeaction i , act i , 0.4)”) 9: end for 10: swrlRule.append(” → isPossible(?node1,?net)”) 1: Zunächst muss an einem Knoten (?node1) die Empfehlungskomponente aufgerufen werden (Wert ist true). Dann muss es zwischen dem ausgewählten Knoten (?node1) und dem vorzuschlagenden Folgeprozess eine gültige Verbindung geben (arcPossible(?node1,?net)), die well-structured ist (branching(?node1,?net)). 2 bis 5: Wenn diese Regel erfüllt ist, dann werden für alle Bedingungen im IF-Teil das Prädikat beforeOrLast und nach Bedingungen, deren Ähnlichkeit >=0.4 ist, gesucht. Falls eine solche Bedingung gefunden wird, dann wird der anwenderdefinierte Ausdruck semSimilarity eingefügt und die einzelnen Bedingungen mit dem ANDOperator verknüpft. 6 bis 9: Wenn Aktionen im THEN-Teil gefunden werden, deren Ähnlichkeitswert >=0.4 ist, dann werden die Aktionen durch den AND-Operator verknüpft und die Prädikate afterOrFirst und semSimilarity werden eingefügt. 10:
67 Die Suche nach synonym gebrauchten Bedingungen und Aktionen kann auch für Geschäftsregeln mit dynamischem Teil (siehe Algorithmus 2) angewendet werden. Der Algorithmus 2 kann analog zum Algorithmus 3 erweitert werden.
149
Dem antecedent-Teil wird der consequent-Teil isPossible(?node1,?net) angehängt. Angenommen, für den zu modellierenden Prozess gilt die Geschäftsregel IF purchase order was handled then initiate payment. Der aktuell editierte Geschäftsprozess besteht aus vier Elementen: order received, manage order, order managed und inform customer. Beim Element inform customer ruft der Benutzer die Empfehlungskomponente auf. Dann wird mit Hilfe des Ähnlichkeitsalgorithmus die kombinierte Ähnlichkeit zwischen purchase_order_handled und den vier Elementen berechnet. In der Ergebnisliste wird purchase_order_handled und order_managed mit einem Ähnlichkeitswert von 0.8 angegeben (der größer als die vordefinierte Schwelle von 0.4 ist). Damit ist der Bedingungsteil der Regel erfüllt. Anschließend wird nach Regeln gesucht, die den Aktionsteil erfüllen. Ausgehend von Algorithmus 3 ergibt sich die folgende SWRL-Regel für das obige Szenario: isSelected(?node1, true) ∧ initialElement(?net,?node2) ∧ arcPossible (?node1, ?net)
∧ branching(?node1,?net) ∧ beforeOrLast (?purchase_order_handled, node1) ∧ afterOrFirst(?initiate_payment, ?node2) chase_order_handled, 0.4)
∧ semSimilarity(?nodecondit on i , pur-
∧ semSimilarity(?nodeaction i , initiate_payment, 0.4)
→ isPossible(?node1,?net) Damit wird bei der Überprüfung des gerade editierten Geschäftsprozessmodells nach semantisch ähnlichen Begriffen zu purchase_order_handled gesucht und als Folgeprozesse werden Teile vorgeschlagen, die eine semantische Ähnlichkeit (größer 0.4) zu initiate_payment haben. Der Vorteil von Algorithmus 3 (der ebenfalls auf Geschäftsregeln mit dynamischem Regelteil angewendet werden kann) ist, dass nicht nur nach syntaktisch gleichen Begriffen gesucht wird, sondern auch nach semantisch ähnlichen. Damit ist der Modellierer nicht an ein kontrolliertes Vokabular gebunden. Zudem wird auch Zeit gespart, die notwendig wäre, um inhaltlich ähnliche Geschäftsregel zu finden, die mit einer unterschiedlichen Syntax beschrieben wurden. Ein weiterer Vorteil von Algorithmus 3 ist, dass mit dem Ähnlichkeitswert gleichzeitig eine Art Metrik definiert wird, so dass nur zum editierten Geschäftsprozess korrekte und passende Folgeprozesse vorgeschlagen werden.
150
6.3.2 Berücksichtigung des Abstraktionsgrades Als weiteres sollte bei der Realisierung einer Empfehlungskomponente die Einhaltung eines gleichen Abstraktionsniveaus berücksichtigt werden [KoBl07]. Die von der Empfehlungskomponente vorgeschlagenen Folgeprozesse sollten den gleichen Abstraktionsgrad haben, wie das gerade editierte Geschäftsprozessmodell, um die Konsistenz und Modularität des Geschäftsprozessmodells zu gewährleisten. Geschäftsprozesse können entweder top-down oder bottom-up modelliert werden. Die Vorgehensweise hängt von Informationen ab, die bei der Modellierung des Realweltausschnitts vorliegen. Falls der Modellierer bereits über sehr viele Informationen verfügt, dann eignet sich das bottom-up Verfahren, bei dem im Detail modellierte Geschäftsprozesse zu abstrakteren Aktivitäten vergröbert werden. Beim topdown Verfahren beginnt die Modellierung auf einem abstrakten Niveau. Geschäftsprozesse können detaillierter durch Verfeinerung von Prozessaktivitäten (Subprozesse) modelliert werden. Die Verfeinerung von Aktivitäten sollte allerdings nicht bis auf Beschreibung von Aktivitäten wie Kundennummer 123 heruntergebrochen werden (eine Auftragsnummer ist keine sinnvolle Aufgabe, die erledigt werden soll). Durch Verfeinerung von Aktivitäten können Prozessaktivitäten im Subprozess auf drei unterschiedliche Weisen beschrieben werden, die nachfolgend als Verfeinerungsmuster eingeführt werden: (1) Die Prozesselementnamen haben gleiche Substantive68. In Abbildung 49 wird das Substantiv product für die Beschreibung aller Prozesselemente im Subprozess wieder verwendet) Abbildung 49: Vefeinerungsmuster „Gleiches Substantiv“
prepare product order product
pick product to stock product ordered
(2) Die Prozesselementnamen im Subprozess haben unterschiedliche Substantive im Gegensatz zur Prozessaktivität, die verfeinert wird: 68 Substantive beschreiben Objekte, die im Prozessmodell modelliert werden. Das können Datenressourcen oder Dokumente sein, die das Ziel oder die Strategie des Prozessmodells wiedergeben.
151
Abbildung 50: Verfeinerungsmuster „Ungleiche Substantive“
activate order
find delivery demand
check assignment
correct assignment
obtain subscription
scheduled delivery demand
order documents
confirmation
(3) Die Prozesselementnamen im Subprozess sind eine Spezialisierung der zu verfeinernden Prozessaktivität. In Abbildung 51 ist der Begriff contract application und contract certificate eine Spezialisierung des Begriffs contract. Abbildung 51: Verfeinerungsmuster „Spezialisierung von Substantiven“
edit contract
receive contract application
contract application received
check contract application
send contract certificate
contract application checked
Zur Berechnung des Abstraktionsgrades von Prozesselementnamen werden der editierte Geschäftsprozess und ein entsprechender Folgeprozess zunächst zu einem Geschäftsprozess integriert. Der Integrationsprozess lehnt sich an die Vorgehensweise aus [Laus88] an.
152
Im nächsten Schritt werden die Ablaufmuster (siehe Kapitel 2.2) des integrierten Geschäftsprozesses berücksichtigt, die sequentiell, parallel, alternativ oder iterativ sein können. Der Algorithmus wird eine Verzweigung als einen Anhaltepunkt (Breakpoint) betrachten. Falls der integrierte Geschäftsprozess ausschließlich aus sequentiellen Ablaufmustern besteht, dann gibt es keinen Anhaltepunkt. Bei einer Verzweigung wird im oberen und im unteren Pfad nach Verfeinerungsmustern gesucht. Dann wird der entsprechende Pfad (branch) B ( B ∈ B1 ,.., Bn ) als ein Zweig betrachtet, wenn er aus mehr als vier Elementen e1,…,en aus EB besteht. Das gleiche gilt bei nur einem sequentiellen Ablaufmuster. Der Geschäftsprozess muss aus mindestens vier Elementen bzw. zwei Transitionen bestehen, damit das Abstraktionsniveau analysiert werden kann. Abbildung 52 zeigt einen integrierten Geschäftsprozess. Der Modellierer hat an der Stelle forward order data die Empfehlungskomponente aufgerufen. Daraufhin wurde als Folgeprozess das hintere Stück des Geschäftsprozesses gefunden. Zur Analyse des Abstraktionsgrades fängt der Algorithmus bei der Stelle order received an und hält bei der Verzweigung der Transition forward order data an. Allerdings besteht die Sequenz nur aus zwei Elementen, weshalb der Algorithmus weiter traversiert. Abbildung 52: Integrierter Geschäftsprozess (Aufdeckung Verfeinerungsmuster 1)
forward order data
collected order
prepare documents
documents prepared
pick product to stock
order product
order received product requirements agreed
pack documents and products
product ordered
order sent products prepared
Nun wird der Zweig collected order data bis documents prepared mit den beiden Elementen order received und forward order data isoliert und es wird nach Verfeinerungsmustern gesucht. Als Referenz zur Aufdeckung von Verfeinerungsmustern wird die linguistische Ausprägung der Elemente berechnet. Die im Kapitel 4 vorgestellten Ähnlichkeitsmetriken und -maße für Geschäftsprozessmodelle können nicht verwendet werden, da nicht eine relative Ähnlichkeit, sondern eine linguistische Ausprägung für einen einzelnen Prozesselementnamen berechnet werden soll:
specificity(ci ) =
− log P(ci ) max cx ∈C {− log P(c x )}
153
⎧1 ⎪ P(c j ) wobei P(ci ) = ⎨ ⎪ {c , c ⊆ c } j ⎩ x x
wenn ci = co wenn ci ⊆ c j
Die Ergebnisse aus der Berechnung der linguistischen Ausprägung zeigt Tabelle 11. Der erste Zweig fängt bei order received an und endet bei documents packed und der zweite Zweig beginnt bei order received und hört bei products prepared auf. Tabelle 11: Linguistische Ausprägung für das Geschäftsprozessmodell aus Abbildung 52
Prozesselementname
Substantiv
Zusammengesetzte
Verb
Substantive order received
0.352
-
0.392
forward order data
-
0.352; 0.235
0.407
collected order data
-
0.352; 0.235
0.204
prepare documents
0.406
-
0.260
documents packed
0.406
-
0.260
order received
0.352
-
0.392
forward order data
-
0.352; 0.235
0.407
product
-
0.362; 0.347
0.444
order product
0.362
-
0.352
product ordered
0.362
-
0.352
pick product to stock
0.362;
-
0.203
-
0.359
requirements
agreed
0.423 products prepared
0.362
Zunächst wird nach Verfeinerungsmuster 1 gesucht. Wenn in beiden Zweigen ein Verfeinerungsmuster gefunden wird, dann hat der gesamte Geschäftsprozess einen gleichen Detaillierungsgrad. Wenn allerdings nur in einem Zweig ein Verfeinerungsmuster gefunden wird, dann gibt es einen unterschiedlichen Abstraktionsgrad. Nachfolgend ist der Algorithmus zur Aufdeckung des Verfeinerungsmusters 1 gezeigt:
154
Algorithmus 1 zum Auffinden von Verfeinerungsmuster 1 Input: B1,…,Bn seien eine Menge von Sequenzen mit individuellen Elementmengen E Bi ; i ∈ 1…n. σ(e1),…, σ(en) sei die linguistische Ausprägung für alle Elemente in das erste Element einer Sequenz den Vorbereich
E Bi bei denen
e1P in einer Menge von Elementen
EB hat. Output: Elemente, die zum Verfeinerungsmuster 1 gehören Method: Führe folgende Schritte aus: for all E
∈ E Bi ,…, E Bn do ∧ σ( e1 ) =…= σ( e n ), e1 ,…, en ∈ E B gehe solange zurück bis σ( e1 ) ≠ σ( e1P ) und hebe die inkon-
if |E| ≥ 4
sistenten Namen hervor else fahre fort end if end for Nach Berechnung der linguistischen Ausprägung für jedes Prozesselement wird nach zusammenhängenden Prozesselementen gesucht, die eine höhere linguistische Ausprägung als der Vor- und Nachbereich der zusammenhängenden Elementgruppe aufweist. Falls die Elementgruppe eine niedrigere linguistische Ausprägung als der Vor- und Nachbereich hat, dann könnte die zusammenhängende Elementgruppe auch vergröbert werden. Betrachtet man den oberen Zweig für den Geschäftsprozess aus Abbildung 52, so gibt es fünf Elemente. Zwei Elementgruppen (prepare documents; documents prepared) und (forward order data; collected order data) haben die gleiche linguistische Ausprägung. Allerdings handelt es sich bei forward order data und collected order data um zusammengesetzte Substantive, die detaillierter sind als ein einzelnes Substantiv und deswegen diese beiden Elementgruppen nicht als eine zusammenhängende Prozesselementgruppe betrachtet werden. Im unteren Zweig hingegen gibt es eine zusammenhängende Elementgruppe bestehend aus order product, product ordered, pick product to stock und products prepared, da die Elemente die gleiche linguistische Ausprägung von 0.362 besitzen und diese kleiner als 0.352 ist. Unter Berücksichtigung der beiden Elemente pack documents and products und order sent folgt das gleiche Ergebnis, nämlich, dass im unteren Zweig das Verfeinerungsmuster 1 gefunden wird und somit der integrierte Geschäftsprozess nicht konsistent wäre, wenn dieser Folgeprozess vorgeschlagen würde. Die Aufdeckung des Verfeinerungsmusters 2 benötigt mehr Berechnungsaufwand als für Verfeinerungsmuster 1. Der integrierte Geschäftsprozess in Abbildung 53
155
wird nach der Stelle order activated verzweigt. Allerdings besteht jeder Ast dieser Verzweigung aus einem Element, weshalb dieses nicht als ein Zweig, sondern die Verzweigung nur als Anhaltepunkt betrachtet wird. Abbildung 53: Integrierter Geschäftsprozess (Verfeinerungsmuster 2)
find delivery demand
check assignment
order
coordinate small assignment
correct assignment
obtain subscription
scheduled delivery demand
order documents
confirmation received
order activated coordinate large assignment
components tested
test components
receipt checked
check receipt
Angenommen, der Benutzer hat ab dem Element scheduled delivery demand die Modellierungsunterstützung aufgerufen. Dann wird zunächst die linguistische Ausprägung der Prozesselemente von order bis order activated bestimmt (Ergebnisse siehe Tabelle 12).
156
Tabelle 12: Linguistische Ausprägung für das Geschäftsprozessmodell aus Abbildung 53
Prozesselementname
Substantiv
Zusammengesetzte
Verb
Substantive order
-
0.515; 0.360
-
check assignment
0.560
-
0.350
correct assignment
0.560
-
0.430
find delivery demand
-
0.307; 0.225
0.444
Scheduled delivery
-
0.307; 0.225
0.444
obtain subscription
0.498
-
0.392
confirmation received
0.432
-
0.392
order documents
0.501
-
0.515
order activated
0.515
-
0.515
coordinate small
0.560
-
0.337
0.560
-
0.337
demand
assigment coordinate big assigment delivery
0.307
check receipt
0
receipt checked test components
0.261
components tested
0.342
0.337 -
0
-
0
-
0.342 0.261
Zur Aufdeckung des Verfeinerungsmusters 2 wird nur die linguistische Ausprägung von Transitionen betrachtet, da Transitionsnamen die (aktiven) Aufgaben ausdrücken und Stellennamen passive Element beschreiben, die bereits erledigt wurden. Die Aufdeckung des Verfeinerungsmuster 2 hängt von zwei Faktoren ab: dem Durchschnitt der linguistischen Ausprägungen von Transitionen
μ und wie beim
Verfeinerungsmuster 1 einer höheren/niedrigeren linguistischen Ausprägung von zusammenhängenden Elementgruppen e1,…,en aus EB als der Vor- und Nachbereich. Der Algorithmus ist nachfolgend gezeigt:
157
Algorithmus 2 zum Auffinden von Verfeinerungsmuster 2 Input: B1,…,Bn seien eine Menge von Sequenzen mit individuellen Elementmengen
E Bi ; i ∈ 1…n. σ(e1),…, σ(en) sei die linguistische Ausprägung für alle Elemente in
E Bi ; e1P and
e1po seien der Vor- und Nachbereich des ersten und letzten Elements in einer Elementmenge in EB. µ(σ( e t i )) sei die durchschnittliche linguistische Ausprägung aller Transitionen in
E Ti ∈ E Bi ; i ∈ 1…n. Output: Elemente, die zu Verfeinerungsmuster 2 gehören Method: Führe die folgenden Schritte aus: for all E
∈ E Bi ,…, E Bn do
if |E| ≥ 4 und (σ( e t i ) > µ(σ( e t i ))
∨ σ( e ti ) > (σ( e1P )) ∨ σ( e n po )))
then hebe die inkonsistenten Namen hervor else fahre fort end if end for
Der Durchschnitt der linguistischen Ausprägungen der Transitionen in Abbildung 53 beträgt 0.434. Eine höhere linguistische Ausprägung haben die zusammenhängenden Elemente check assignment, find delivery demand, obtain subscription und order documents mit 0.455, 0.488, 0.445 und 0.508. Ansonsten gibt es keine weiteren
zusammenhängenden
Elementgruppen
mit
einer
höheren
linguistischen
Ausprägung als die durchschnittliche linguistische Ausprägung aller Transitionen. Damit haben nur die beiden Elemente obtain subscription und confirmation received des Folgeprozesses den gleichen Abstraktionsgrad wie die Elemente des editierten Geschäftsprozesses. Die übrigen Elemente des Folgeprozesses haben einen anderen Abstraktionsgrad weshalb dieser Folgeprozess auch nicht vorgeschlagen werden sollte. Das Verfeinerungsmuster 3 kann aufgrund einer höheren linguistischen Ausprägung als der Vor- und Nachbereich von zusammenhängenden Prozesselementgruppen gefunden werden. Die vorgestellten Algorithmen zur Aufdeckung von Verfeinerungsmustern in integrierten Geschäftsprozessen können über einen zusätzlichen selbstdefinierten SWRLAusdruck berücksichtigt werden:
158
6. semAbstraction(?node1, ?net): Wird eingehalten, wenn der Abstraktionsgrad zwischen dem ausgewählten Knoten (an dem die Modellierungsunterstützung aufgerufen wurde) und dem ausgewählten Folgeprozess net gleich ist. Der antecedent-Teil wird damit erweitert um
1: swrlRule ⇐ „isSelected(?node1,true) ∧ initialElement(?net, ?node2) ∧ arcPossible(?node1,?net) ∧ branching(?node1,?net) ∧ semAbstraction(?node1,?net)” Algorithmus 3 kann analog dazu erweitert werden. Somit werden bei der Modellierungsunterstützung folgende Kriterien berücksichtigt: •
Geschäftsregeln; die Geschäftsprozessmodelle werden damit gleichzeitig an die jeweilige Umwelt angepasst.
•
Semantisch ähnliche Begriffe für gleiche Prozessobjekte und Geschäftsregeln. Es werden auch Folgeprozesse vorgeschlagen, die nicht mit einem gleichen Vokabular modelliert wurden. Somit wird die Einschränkung des kontrollierten Vokabulars aus der Literatur aufgehoben.
•
Abstraktionsniveau. Es werden nur Folgeprozesse mit gleichen Abstraktionsgrad wie das editierende Geschäftsprozessmodell vorgeschlagen. Somit können Modellierungsfehler weitgehend vermieden werden.
Diese drei Funktionalitäten der Empfehlungskomponente helfen Benutzern, Geschäftsprozessmodelle entsprechend den Unternehmensrestriktionen konsistent zu modellieren. Im nächsten Kapitel werden die Ergebnisse einer Benutzerbefragung zu den im Kapitel 4.6 definierten Ähnlichkeitsmaßen und der Modellierungsunterstützung vorgestellt.
159
7
Evaluierung von Ähnlichkeitsmaßen und der Modellierungsunterstützung für Geschäftsprozesse
Ausgehend von einer Klassifikation gemäß der benutzten Lernstrategie (Kapitel 7.1) werden in den darauf folgenden Unterabschnitten zwei Verfahren des maschinellen Lernens ausführlich beschrieben. Mit Hilfe dieser Verfahren soll eine passende Gewichtung der Variable w für das kombinierte Ähnlichkeitsmaß (siehe Kapitel 4.6.5) und eine Einteilung von Modellieren in Gruppen bestimmt werden können, damit daraus benutzerindividuelle Modellierungsunterstützungen für Geschäftsprozesse abgeleitet werden können. Eine „korrekte“ initiale Gewichtung des Parameters w soll den vom Menschen eingeschätzten Ähnlichkeitswert approximieren (siehe Diskussion im Kapitel 4.3.5). Als Ziel des maschinellen Lernens formulieren Michalski und Kodratoff [MiKo90] „Research in machine learning has been concerned with building computer programs able to construct new knowledge or to improve already possessed knowledge by using input information.“
7.1
Klassifikation von Verfahren des maschinellen Lernens
Verfahren des maschinellen Lernens können abhängig vom Anwendungsgebiet unterschiedlich verwendet werden. Carbonell, Michalski und Mitchell [CaMM83] klassifizieren Verfahren des maschinellen Lernens aus drei verschiedenen Sichtweisen: Klassifikation gemäß der benutzten Lernstrategie Das Erlernen von Wissen kann durch verschiedene Lernstrategien erreicht werden. Vergleichbar mit menschlichen Lernstrategien können Maschinen durch Anweisungen lernen, indem aufbereitetes Wissen vorgegeben wird. Sie können aber auch durch Deduktion, Analogie oder aus Beispielen lernen. Beim Lernen aus Beispielen soll anhand einer Gegenüberstellung von „guten“ und „schlechten“ Beispielen gelernt werden.
160
Klassifikation gemäß dem gelernten Typ von Wissen Maschinelles Lernen kann verwendet werden, um unterschiedliche Arten von Wissen zu erlernen. Das zu erlernende Wissen können Parameter in algebraischen Ausdrücken, Entscheidungsbäume, formale Grammatiken, Regeln oder Begriffshierarchien sein. Möglich ist auch, dass Graphen und Netzwerke oder Schemata gelernt werden. Klassifikation gemäß dem Anwendungsbereich Die Einsatzfelder von Verfahren des maschinellen Lernens sind breit gestreut. Im medizinischen Bereich hilft maschinelles Lernen bei der Assistenz von Operationen oder chirurgischen Eingriffen. In der Bioinformatik wird maschinelles Lernen zur bioinformatischen Datenverarbeitung verwendet. Im Marketing unterstützt maschinelles Lernen die Einteilung des Kundenkonsums zu bestimmten Kundengruppen. Ausgehend von einer Klassifikation gemäß der benutzten Lernstrategie werden in den nachfolgenden Unterabschnitten zwei Verfahren ausführlich beschrieben: Neuronale Netze und Clusteranalyse. Mit der Clusteranalyse sollen Modellierer in Benutzergruppen eingeteilt werden. Mit neuronalen Netzen soll die initiale Gewichtung w gelernt werden.
7.1.1 Neuronale Netze Neuronale Netze stellen vereinfachte Modelle des zentralen Nervensystems dar [Sche97]. Ein neuronales Netz kann als Abbildungsvorschrift verstanden werden, das eine Menge von Eingaben und Ausgaben beschreibt und das in nur zwei Zustände versetzt werden kann: entweder ist es aktiv (Zuordnung eines binären Wertes von 1) oder passiv (binär kodiert mit 0). Eingaben werden durch spezifische Eigenschaften, so genannte Eingabevektoren, kodiert und können die Eingabewerte 0 oder 1 haben. Die Ausgabe wird ebenfalls durch einen Vektor beschrieben (siehe Abbildung 54). Dabei können die Ein- und Ausgabevektoren aus unterschiedlichen Datenräumen entnommen werden. Abbildung 54: Neuronales Netz als Abbildungsvorschrift
161
Neuronale Netze sind parallele Verarbeitungseinheiten, die aus vielen miteinander verbundenen, einfachen Prozessoren bestehen [Call03]. Diese Prozessoren sind stark vereinfacht und können nur einfache Rechnungen durchführen. Jeder Prozessor innerhalb eines Netzes kennt nur die folgenden Signale: jenes, das er in regelmäßigen Abständen empfängt, und jenes, das er regelmäßig an andere Prozessoren überträgt. Einfache lokale Prozessoren sind in der Lage, komplexe Aufgaben durchzuführen, wenn sie innerhalb eines großen Netzwerks koordiniert zusammenarbeiten. Die Verbindung zweier Prozessoren wird durch ein Gewicht bewertet. Durch die Modifikation dieser Gewichtung kann das Ein- und Ausgabeverhalten des Netzes in die gewünschte Form (Zielwert) verändert werden. Abbildung 55 veranschaulicht eine unterschiedliche Gewichtung von Verbindungen zwischen Eingabe- und Ausgabeströmen. Abbildung 55: Neuronale Netze als Verbindungsstruktur einfacher Prozessoren
Ist die Summe über das Produkt aller Eingaben mit den dazugehörigen Gewichten größer als ein gewisser Schwellwert, so wird die Ausgabe auf 1 (aktiv), anderenfalls auf 0 (passiv) gesetzt. Eine besondere Eigenschaft einiger Typen von neuronaler Netzen ist die Fähigkeit, beliebige Funktionen aus einer Menge von Übungsbeispielen zu erlernen (Lernstrategien). Mit dem mehrschichtigen, vorwärtsgerichteten, neuronalen Netz (Multilayer Perceptron) [Brau97] soll die initiale Gewichtung für Kontextelemente, die beim kombinierten Ähnlichkeitsmaß benötigt werden, gelernt werden. Ein vorwärtsgerichtetes neuronales Netz ist ein gerichtetes, azyklisches Netz und besteht aus einer Eingabeschicht, einer Ausgabeschicht und mindestens einer verborgenen Schicht, wie Abbildung 56 zeigt. In diesem Netz wandert die Aktivierung von der Eingabeschicht zur Ausgabeschicht, und die Einheiten (Perzeptronen) in einer Schicht sind mit jeder anderen Einheit in der nächst höheren Schicht verbunden. Die gesamte mittlere Schicht wird als versteckte Schicht bezeichnet, da sie nicht direkt Eingaben von der Umgebung bekommt und auch keine Ausgaben an die Umgebung abgibt.
162
Abbildung 56: Mehrschichtiges vorwärtsgerichtetes neuronales Netz
y
c1
c2
Ausgabeschicht
c3
ck Versteckte Schicht1
h2
h1
x1
x2
hm
xn
x3
Eingabeschicht
Jede Einheit in einem mehrschichtigen, vorwärtsgerichteten, neuronalen Netz wird durch ein Perzeptron [Rose58] beschrieben. Die Ausgabe des Perzeptron wird durch die Eingaben (x1,x2,…,xn), Gewichte (w1,w2,…,wn) und den Schwellwert ( θ ) bestimmt. Die Ausgabe y wird durch eine (logistische) Aktivierungsfunktion f (Erklärung siehe weiter unten) abgeleitet. Abbildung 57: Einzel-Perzeptron
X0 = 1
x1 x2
w2
θ ∑
f
y
…
… xn
w1
wn
Aufgabe des vorwärtsgerichteten neuronalen Netzes ist es eine gegebene mehrdimensionale Funktion möglichst gut zu approximieren. Die Parameter des Netzes (Gewichte und Schwellen) sind so zu wählen, dass zum einen die Stützstellen möglichst genau geschätzt werden und zum anderen diese Einstellung der Parameter auf den übrigen Eingabenraum generalisiert werden kann. Eine höhere Anzahl von Übungsbeispielen verbessert das Generalisierungsverhalten. Allerdings sind viele unpassende Beispiele nicht so lehrreich wie wenige gut gewählte. Ein mehrstufiges, vorwärtsgerichtetes, neuronales Netz ist in Abbildung 56 dargestellt. x1,…,xn sind die Eingabewerte, die die Werte h1,h2,…,hm berechnen. Diese Werte sind wiederum die Eingabewerte für c1,c2,…,ck. Ausgabe des Netzes bildet y.
163
Die Gewichte der versteckten Schicht werden mit Hilfe der Ableitung der Fehlerfunktion nach dem entsprechenden Gewicht verändert. Die Funktion lautet
E = ∑ (yi − z i ) 2 Die y-Werte bilden die Ausgabe des Netzes und die z-Werte sind vorgegebene Werte. Je kleiner E ist, desto besser ist das Netz. Bei einem E=0 ist das Netz exakt (der automatisch berechnete Wert entspricht dem Zielwert). Bei der Berechnung der Ableitung nach einem Gewicht in einer versteckten Schicht werden lediglich Zwischenergebnisse der nachfolgenden Schicht benötigt. Ziel ist es, eine Menge von Netzgewichten für das zugrunde liegende Problem zu finden. In den 70er Jahren entwickelte Paul Werbos ein Verfahren zum Anpassen von Gewichten, das auf ein mehrschichtiges vorwärtsgerichtetes neuronales Netz angewendet werden kann. Das Verfahren ist unter dem Namen Backpropagation bekannt.
Hinton,
Rumelhart
und
Williams
[RuHW86]
haben
erstmals
einen
Algorithmus zum Trainieren für mehrstufige Netze vorgestellt. Ein mehrschichtiges vorwärtsgerichtetes neuronales Netz wird durch die folgenden Gleichungen beschreiben:
⎛ n ⎞ hm = f ⎜ ∑ wim xi − θ m ⎟ m = 1, 2,..., n2 ⎝ i =1 ⎠ ⎛ n2 ⎞ ck = f ⎜ ∑ v jk h j − θ k ⎟ k = 1, 2, ..., n1 ⎝ i =1 ⎠ n1
y = f (∑ wk ck − θ ) k =1
Dabei ist hm die Ausgabe der ersten versteckten Schicht; wim ist das Gewicht zwischen dem i-Neuron der Eingabeschicht und dem m-Neuron der ersten versteckten Schicht;
θ m ist
der Schwellwert des j-Neurons in der ersten Schicht. ck ist die Aus-
gabe des k-Neurons in der zweiten versteckten Schicht. Das Gewicht zwischen dem j-Neuron der ersten versteckten Schicht und dem k-Neuron der zweiten versteckten Schicht wird durch vjk repräsentiert und
θk
ist der entsprechende Schwellwert. wk
ist das Gewicht zwischen der zweiten versteckten Schicht und der Ausgabeschicht und
164
θ
ist der Schwellwert. f ist die binäre Transferfunktion.
Auf die oberste Schicht kann wieder eine Schicht aufgesetzt werden, die als Eingabe die Ausgabe der darunter liegenden Schicht hat. Angenommen ein Ausgabewert y sei zu berechnen. Dann ist: h1=f(2*x1-2*x2-1) h2=f(-2*x1+2*x2-1) und daraus ergibt sich eine Ausgabe y=f(-3*h1+0*h2+2) Durch Nachrechnen kommt man auf eine in der Tabelle gezeigte Funktion: x1
x2
h1
h2
y
0
0
0
0
1
0
1
0
1
1
1
0
1
0
0
1
1
0
0
1
Im einen mehrschichtigen vorwärtsgerichteten neuronalen Netz werden die Ausgangssignale durch eine Aktivierungsfunktion berechnet. Für ein BackpropagationNetz wären beispielsweise sigmoide Funktionen geeignet. Sigmoide Funktionen Das Ergebnis einer sigmoiden Funktion liegt zwischen 0 und 1. Dabei können die Steigung und der Wertebereich der sigmoiden Funktion variieren. Zwei Beispielfunktionen für sigmoide Funktionen sind die logistische Aktivierungsfunktion, die
f log ( x) =
mit
1 e x − e− x f x = und der Tangens hyperbolicus, der mit be( ) tanh e x + e− x 1 + e− x / g
rechnet werden. Abbildung 58: Tangens hyperbolicus (links) und logistische Funktion mit g=0.5(rechts)
1
1
y
y -2
2
x
2
-2
x
-1
Der Backpropagation-Algorithmus besteht aus fünf Schritten:
165
(1) Initialisierung der Gewichte, in der ein stochastischer Wert im Intervall [-1,1] jeweils an
wim , wmt , θ m , γ m vergeben wird,
(2) Auswahl von stochastischen Eingabe- und Zielexemplaren und
Pk = (a1k , a2k ,..., ank )
Tk = ( y1k , y2k ,..., ynk ) und berechne die Belegung von h-Werten in der ver-
steckten Schicht für das Netz, (3) Korrektur von Gewichten für Eingabe- und Zielwerte, (4) Wähle ein paar weitere Lernexemplare69 für dieses Netz und gehe zu Schritt 2 bis alle Lernexemplare durchtrainiert wurden, (5) Testen des trainierten Netzes mit Testexemplaren. Wenn die Differenz kleiner als ein erwünschter Wert ist, dann ist das Netz konvergent. D. h., das Netz wird erfolgreich trainiert. Wenn das Netz keinen erwünschten Wert oder kleineren Wert als einen erwünschten Wert erreicht, dann ist das Netz nicht konvergierbar. dabei seien
Pk = (a1 , a2 ,..., an ) die Eingabevektoren des Netzes, Tk = ( y1 , y2 ,..., yn ) die Zielvektoren des Netzes, wim ,
i = 1, 2, ..., n, m = 1, 2, ..., p die Gewichte zwischen Eingabe- und Mittelschicht,
wmt , m = 1, 2, ..., n, t = 1 die Gewichte zwischen der Mittel- und der Ausgabeschicht,
θ m , m = 1, 2,..., p
die Schwellwerte für die Mittelschicht,
γ m , m = 1, 2,..., p
die Schwellwerte für die Ausgabeschicht,
k = 1, 2,..., m Parameter.
7.1.2 Clusteranalyse Ein Cluster ist eine Gruppe von Objekten mit ähnlichen Eigenschaften. In der Regel sind die Objekte eines Clusters verschieden von den Objekten eines anderen Clusters. Die Herausforderung ist dabei, Objekte nach geeigneten Eigenschaften aufzuteilen und passende Cluster zu bilden. Die Aufteilung von Personen in Cluster
69 Beim Lernen von Gewichten werden Lern- und Testexemplare verwendet. Lernexemplare werden benutzt, um das Netz zu trainieren. Mit Testexemplaren wird das trainierte Netz getestet, ob die entsprechende Gewichte und Schwellwerte angemessen sind.
166
könnte z.B. nach der Eigenschaft weiblich/männlich erfolgen, so dass alle Männer einem Cluster und alle Frauen zu einem anderen Cluster subsumiert werden. Mit Hilfe von Softwareprogrammen kann anhand festgelegter Benutzereigenschaften eine Clusteranalyse durchgeführt werden. Die Ähnlichkeit von betrachteten Objekten wird mittels mehrerer Eigenschaften (Variablen) gemessen. Die Statistiksoftware SPSS70 unterstützen eine rechnergestützte Clusteranalyse ebenso wie die Software WinStat71, ClusCorr9872, CLUSTAN73 oder SoftGuide74. Der Output einer Clusteranalyse kann in unterschiedlichen Diagrammformen dargestellt werden [WiFr05] (siehe Abbildung 59). Die Zugehörigkeit von Objekten zu einzelnen Clustern kann durch eine Aufteilung des Raums (in Abbildung 59a durch Linien) veranschaulicht werden. Alternativ können Objekte auch zu mehreren Clustern gehören (Abbildung 59b). Der Output wird dann als Menge dargestellt, wobei die überlappenden und nicht überlappenden Mengenelemente als Cluster verstanden werden. Die Zugehörigkeit zu einem Cluster kann auch über ClusterWahrscheinlichkeiten ausgedrückt werden (Abbildung 59c). Dabei werden Objekte mit gleicher Wahrscheinlichkeit demselben Cluster zugeordnet. Cluster können aber auch eine hierarchische Struktur besitzen (Abbildung 59d) und werden in einem Dendogramm dargestellt. Auf der obersten Ebene gibt es zunächst nur wenige Cluster (in dieser Abbildung sind es drei), die anschließend zu Unterclustern verfeinert werden. Die Elemente auf der untersten Ebene sind enger geclustert als Elemente auf der obersten Ebene.
70 71 72 73 74
http://www.spss.com/de/ http://www.winstat.de/ http://www.wias-berlin.de/software/ClusCorr98/ http://www.gesis.org/Software/CLUSTAN/index.htm http://www.softguide.de/prog_p/pp_0093.htm
167
Abbildung 59: unterschiedliche Darstellung von Clustern
d
a c
a
k
d
j g
k
g
a
b i
f
i a c
j
f
a)
b
b) 1
2
3
a
0.4
0.1
0.5
b
0.1
0.8
0.1
c
0.3
0.34
0.4
d
0.1
0.1
0.8
e
0.4
0.2
0.4
c)
d)
Der Output von Clusteranalysen kann anhand von zwei Ansätzen evaluiert werden. Zum einen kann die betrachtete Gruppe von Objekten mit der Clusterlösung verglichen werden. Dabei wird angenommen, dass die vorgenommene Gruppierung eine „gute“ Einteilung darstellt. Zum anderen können Methoden verwendet werden, die die Clustergüte mittels statischer Eigenschaften vergleichen; möglich wäre, einzelne Eigenschaften durch ein geeignetes Aggregationsverfahren zu einem Indexwert zu verschmelzen [WiFr05]. Die Berechnung der Ähnlichkeit von Objekten eines Clusters kann mit Ähnlichkeitsmetriken wie der quadrierten Euklidischen Distanz bestimmt werden:
d euklidisch (x, y) =
n
∑ (x
i
− yi ) 2 ,
i =1
wobei d die Distanz und x und y zwei Koordinaten mit x=(x1,…,xn) und y=(y1,…,yn) sind. Angenommen die beiden Fälle A und B haben die folgenden fünf Merkmale: A: (6,8,2,1,3), B: (7,5,3,6,2).
168
Dann errechnet sich eine Ähnlichkeit zwischen a und b nach der euklidischen Distanz:
d a,b = (6 − 7) 2 + (8 − 5) 2 + ... + (3 − 2) 2 = 6, 083 . Zur Clusteranalyse wurden verschiedene Algorithmen vorgeschlagen. Ein entscheidendes Auswahlkriterium für einen Algorithmus ist das Skalenniveau der untersuchten Daten. Bacher [Bach94] unterscheidet nominale, ordinale, Intervall und metrisch skalierte Daten. In unserem Anwendungsszenario werden ordinalskalierte Variablen verwendet, da die Variablen (Ähnlichkeitswerte) Gleichheitsbeziehungen zulassen und der Größe nach sortierbar sind (0.4 < 0.5). Zwei Objekte sind einander bezüglich eines ordinalen Merkmals umso ähnlicher, je näher ihre Ausprägungen in der Rangordnung beieinander liegen. Clusteranalysealgorithmen Steinhausen und Langer [StLa77] teilen Clusteralgorithmen hinsichtlich ihres Gruppierungsresultats, des Gruppierungsprozesses und des Gruppierungskriteriums. Das Gruppierungsresultat kann entweder hierarchisch oder nicht-hierarchisch sein; beim Gruppierungsprozess wird zwischen iterativen und nicht-iterativen Verfahren unterschieden; beim Gruppierungskriterium lassen sich sequentielle und globale Verfahren differenzieren. Bei sequentiellen Verfahren wird durch die berechnete Distanz die gesuchte Gruppierung erreicht, während bei globalen Verfahren die Distanz aller Elemente benutzt wird. Das Ergebnis der Clusterung kann entweder durch stufenweise Verfeierung (Division, top-down) oder Vergröberung (Agglomeration, bottom-up) erfolgen und kann mit Hilfe eines Dendogramms (siehe Abbildung 59d) dargestellt werden. Agglomerative und divisive Verfahren führen zu einer hierarchischen Darstellung der Datenstruktur. Nachfolgend werden die am häufigsten verwendeten agglomerativen Verfahren vorgestellt, mit denen ein Clustern von Benutzergruppen bestimmt werden soll [BEPW93]: •
Single Linkage (Nearest neighbor):
d sin gle (A, B) = min {d(a, b)} . a∈A,b∈B
Dabei sei d die Distanz und a ein Element eines Clusters A und b ein Element eines Clusters B.
169
Vereint werden diejenigen Elemente zu einem Cluster, die die kleinste Distanz zueinander aufweisen. Abbildung 60 veranschaulicht die Berechnung der Distanz nach dem Single Linkage Verfahren. Die Distanz zwischen dem Cluster (Benutzer 1, Benutzer 2) und Benutzer 3 beträgt einmal 50 und einmal 46. Entsprechend dem Single Linkage Algorithmus wird für den zweiten Durchlauf der Clusterbildung eine Distanz von 46 herangezogen. Abbildung 60: Berechnung der neuen Distanz beim Single Linkage Verfahren
Benutzer 3 d1
d1=50 d2=46 d3=4
d2
Benutzer 1
Benutzer 2 d3
•
Complete Linkage (Furthest neighbor):
d complete (A, B) = max {d(a, b)} . a∈A,b∈B
Herangezogen wird bei diesem Verfahren der größte Abstand zwischen den Elementen. In Abbildung 60 wäre beim zweiten Durchlauf die Distanz zwischen dem Cluster (Benutzer 1, Benutzer 2) und dem Element Benutzer 3 die Distanz 50 heranzuziehen. •
Average Linkage:
d average (A, B) =
1 ∑ d(a, b) . | A || B | a∈A,b∈B
Bei diesem Verfahren wird der Mittelwert aller Distanzen zwischen Elementen der beiden betrachteten Cluster herangezogen. •
Ward´s Methode: − −
d(a, b) d ward´s (A, B) = . 1 1 + |A| |B|
170
Bei diesem Verfahren wird nicht die Distanz zwischen Elementen bzw. Clustern in die Berechnung herangezogen, sondern es werden Cluster zusammengefasst, die ein vorgegebenes Heterogenitätsmaß am wenigsten erhöhen. Ziel dieses Verfahrens ist es, möglichst homogene Cluster dadurch zu bilden, dass durch die Vereinigung zu Gruppen die Varianz einer Gruppe möglichst nicht erhöht wird.
7.2
Vorgehensmodell für die Evaluation
Die Evaluation von Ähnlichkeitsmaßen für Geschäftsprozesse und die Einteilung von Modellierern zu Gruppen wird mit Hilfe einer Benutzerbefragung wie folgt durchgeführt (in Anlehnung an [StLa77]): 1. Präzisierung der Untersuchungsfragestellung 2. Auswahl der Variablen zur Erstellung eines Fragebogens 3. Durchführung der Befragung 4. Aufbereitung der Daten 5. Bestimmung von geeigneten Verfahren des maschinellen Lernens 6. Technische Durchführung 7. Analyse und Interpretation der Ergebnisse (Postanalyse) Zu 1. Bevor ein Fragebogen erstellt wird, muss die Untersuchung präzisiert werden. Oft werden zur Auswertung des Fragebogens Verfahren des maschinellen Lernens in Kombination mit anderen Verfahren eingesetzt. Eine eindeutige Problemdefinition soll den Stellenwert von Verfahren des maschinellen Lernens unterstreichen. Zu 2. Im Hinblick auf eine sinnvolle Auswertung des Fragebogens und einen effektiven Einsatz von Verfahren des maschinellen Lernens sollten die ausgewählten Variablen sich auf die Fragestellung der Untersuchung beziehen. Zu 3. Abhängig von der Untersuchungsfragestellung wird eine „kritische Masse“ an Befragten bestimmt, die entweder willkürlich oder bewusst ausgewählt werden. Anschließend wird die Verteilung des Fragebogens festgelegt: entweder könnte der Fragebogen per E-Mail oder persönlich verteilt werden. Bei einer persönlichen Ver-
171
teilung kann die Beantwortung des Fragebogens im Beisein des Fragebogenerstellers erfolgen. Dies hat den Vorteil, dass die Beantwortung des Fragebogens weniger verfälscht wird als bei einer Befragung ohne den Fragebogenersteller (der Fragebogenersteller kann kontrollieren, dass der Befragte sich an die Rahmenbedingungen des Fragebogens hält). Zum anderen erhöht eine persönliche Befragung den Rücklauf, da der Befragte „gezwungen“ ist, den Fragebogen an Ort zu Stelle auszufüllen. Zu 4. Nach Durchführung der Befragungen müssen die Daten aufbereitet werden. Die Auswertung der Fragebögen hängt wiederum vom Gegenstand der Untersuchung ab. Einfache statistische Diagramme können helfen, sich einen Überblick über die erhobenen Daten zu verschaffen. Eventuell müssen die erhobenen Daten um fehlende Daten korrigiert werden (je nachdem welche Kenngrößen berechnet werden sollen). Zu 5. Im Hinblick auf die Fragestellung der Untersuchung werden geeignete Verfahren des maschinellen Lernens ausgewählt. zu 6. Die Auswertung der Fragebögen mit Verfahren des maschinellen Lernens empfiehlt sich rechnergestützt durchzuführen (z.B. aus Gründen der Performance). Hierzu muss eine passende Software ausgewählt werden. Zu 7. Mit der Analyse der Ergebnisse soll die Angemessenheit der gefundenen Lösung von Seiten der Verfahren des maschinellen Lernens bewertet werden. Beurteilt wird beispielsweise der Einfluss bestimmter Variablen im Hinblick auf die Fragestellung der Untersuchung.
7.3
Ergebnisse der Evaluation
Als Fragestellung der Untersuchung wurde die Möglichkeit einer gruppenspezifischen Einteilung der Befragten definiert, um eine automatische Unterstützung bei der Geschäftsprozessmodellierung anbieten zu können. Weiterhin sollte die Befragung helfen, eine initiale Angabe von Gewichten (wie sie in Kapitel 4.6.5. vorgestellt wurden) zur Berechnung der kombinierten Ähnlichkeit festsetzen zu können.
172
Die Variablen der Fragestellung der Untersuchung sind Ähnlichkeitswerte und die von Benutzern als passend ausgewählten Folgeprozesse zur automatischen Prozessergänzung. Zu Beginn der Befragung wurden bewusst 50 Personen entsprechend ihrer Modellierungserfahrungen ausgewählt. Um Benutzer in Gruppen einteilen zu können, wurden die Befragten entsprechend zweier Merkmale charakterisiert: nach ihren Kenntnissen in der Geschäftsprozessmodellierung und ihrer Vertrautheit mit der Modellierungsdomäne bei der Geschäftsprozessmodellierung.
7.3.1 Generelles Unter Berücksichtigung der Zielsetzung der Befragung wurde ein standardisierter und strukturierter Fragebogen (siehe Anhang) erstellt. Der Fragebogen umfasste 11 Fragen. Bei den ersten beiden Fragen sollten die Befragten Aussagen über ihre Modellierungserfahrungen machen. Fragen 3 bis 9 beschäftigten sich mit der Beurteilung und Einschätzung von Ähnlichkeitswerten und die letzten beiden Fragen haben sich auf die Modellierungsunterstützung während der Geschäftsprozessmodellierung (siehe Kapitel 6) bezogen. Alle Befragten bekamen dieselben elf Fragen vorgelegt, die in einer zielorientierten inhaltlichen Abfolge gestellt wurden. Insgesamt wurden 55 Personen befragt, da im Laufe der Befragung fünf weitere Personen als relevante Zielpersonen eingestuft wurden. Abbildung 61 zeigt die Aufteilung aller befragten Personen entsprechend ihrer Erfahrungen in der Geschäftsprozessmodellierung. Die Befragten konnten aus sechs Kategorien die auf sie passende Kategorie auswählen. Die meisten Befragten (19 Personen) gaben mittelmäßige Erfahrungen in der Geschäftsprozessmodellierung an. Abbildung 61: Modellierungserfahrungen der Befragten
Modellierungserfahrungen 20 18 16 14 12 10 8 6 4 2 0
Modellierungserfahrungen
überhaupt keine
wenige
mittelmäßige
gute
sehr viele
ich bin Experte
173
In der zweiten Frage mussten die Befragten ihre Vertrautheit mit der Modellierungsdomäne (z.B. Versicherungswesen, Medizin, Fertigung, Supply Chain Management, etc.) einschätzen, d.h. in welchem Umfang Informationen über die zu modellierende Domäne bestehen. Abbildung 62 zeigt, dass von den Personen mit mittelmäßigen Erfahrungen die meisten auch über eine durchschnittliche Vertrautheit mit der Modellierungsdomäne verfügen. Eindeutig ist die Vertrautheit mit der Modellierungsdomäne bei Personen, die sehr viele Erfahrungen in der Geschäftsprozessmodellierung haben: alle Befragten dieser Kategorie geben eine gute Vertrautheit mit der Modellierungsdomäne an. Bei den Personen, die sich als Experten eingestuft haben (4 Personen), haben 25% (1 Person) gute Vertrautheit mit der Modellierungsdomäne und 75% (3 Personen) kennen sich in den meisten Modellierungsdomänen aus. Diese Einschätzung der Experten könnte auf ihre routinierte Prozessmodellierung zurückgehen. Abbildung 62: Vertrautheit mit der Modellierungsdomäne im Verhältnis zu Modellierungserfahrungen
Modellierungserfahrungen/Domänenvertrautheit
20
Vertrautheit: in jeder Modellierungsdomäne
18
Vertrautheit: in meisten Modellierungsdomänen
16
Vertrautheit: gute
14 Anzahl
12
Vertrautheit: durchschnittliche
10
Vertrautheit: wenige
8
Vertrautheit: überhaupt keine
6 4 2 0
8
11
19
10
3
4
überhaupt keine
wenige
mittelmäßige
gute
sehr viele
ich bin Experte
Modellierungserfahrungen
174
7.3.2 Aufbereitung der erhobenen Daten Bevor eine Datenreihe (Stichprobe) festgelegt wird, müssen die erhobenen Daten aufbereitet werden, in dem die Eigenschaften Repräsentativität und Konsistenz geprüft werden [BEPW93]. Bei der Überprüfung von Repräsentativität wird versucht, Aussagen über die Grundgesamtheit treffen zu können. Die Ergebnisse aus den erhobenen Daten sollen sich auf jede beliebige Stichprobe und damit auf die Gesamtmasse (Bevölkerung) übertragen lassen. Zur Beantwortung des Fragebogens wurde eine bewusste Auswahl der Befragten vorgenommen. Von den acht Befragten, die angaben überhaupt keine Erfahrungen in der Geschäftsprozessmodellierung zu haben, verfügen alle über Kenntnisse in der Graphentheorie. Da ein Petri-Netz ein gerichteter, bipartiter Graph ist, wurde angenommen, dass diese Kategorie der Befragten die Geschäftsprozessmodelle (die mit Petri-Netzen modelliert wurden) lesen und verstehen können. Die übrigen Befragten wurden unter Berücksichtigung ihrer Erfahrungen in der Geschäftsprozessmodellierung ausgewählt. Die Repräsentativität der Stichprobe könnte beispielsweise mit dem Chi-QuadratTest [FrPP98] überprüft werden. Allerdings lag der Schwerpunkt der Befragung auf einer initialen Angabe der Gewichtung w zur passenden Berechnung der kombinierten Ähnlichkeit und in der Einteilung von Modellierern in sehr ähnliche Gruppen; d.h. die Erfüllung der Repräsentativität und damit die Übertragung der Ergebnisse auf beliebige Stichproben war nicht im Fokus der Befragung. Wobei [LiKl02] argumentieren, dass Repräsentativität kein Qualitätsmerkmal für eine Untersuchung ist, da Repräsentativität zum einen keine mathematisch fundierten Forderungen ermöglicht und zum anderen in einem ungeklärten, wenn nicht widersprüchlichen Zusammenhang zu anderen Variablen steht, die ohne Zweifel entscheidend sind für die Güte einer Auswahl (z.B. der Umfang n der Teilgesamtheit oder Stichprobe und die Varianz des Untersuchungsmerkmals in der Grundgesamtheit als Ausdruck der Homogenität der Grundgesamtheit). Bei der Überprüfung der Konsistenz der erhobenen Daten wurde untersucht, ob die Befragten konsistent bei der Schätzung von Ähnlichkeitswerten waren. Die Konsistenz wurde anhand zweier Prozesselementpaare untersucht. In Frage 6 sollten die Befragten die Ähnlichkeit des Paares inspect request vs. check request und request checked vs. request inspected einschätzen (Elemente, die aus dem Prozessmodell aus Frage 3 entnommen wurden; die Verben der Paare haben zwar eine unterschiedliche grammatikalische Form, aber eine gleiche Stammform). Von den 55 Befragten haben 42 Personen für die beiden Paare einen identischen Ähnlichkeits-
175
wert geschätzt. 13 Personen haben die Ähnlichkeit dieser Paare unterschiedlich bewertet, wobei 10 der „Abweichler“ einen Unterschied von 0.1 eingeschätzt haben. Insgesamt kann festgestellt werden, dass die erhobenen Daten in der Tendenz konsistent sind. Dieser Konsistenztest wurde nur für Ähnlichkeitswerte, nicht aber für die Auswahl von passenden Folgeprozessen vorgenommen. D.h. für die Auswertung der Daten im Hinblick auf eine initiale Gewichtung von w werden die Antworten von 41 Befragten berücksichtigt. Bei der Auswertung der Fragen 10 und 11 (Auswahl von passenden Folgeprozessen) besteht die Datenbasis aus den Antworten der 55 Befragten. Als eine weitere relevante Eigenschaft der Stichprobe wäre zu untersuchen, ob die Befragten eine gleiche Vorstellung von Ähnlichkeitswerten haben. Z.B. gaben Befragte mit hohem technischem Hintergrund an, dass ein Ähnlichkeitswert von 1.0 aufgrund vieler Einflüsse schwierig automatisch zu bestimmen wäre. Personen, die hingegen diese Kenntnisse nicht hatten, hatten höhere Erwartungen an automatisch berechnete Ähnlichkeitswerte. Signifikante Unterschiede in der Bewertung der Ähnlichkeitswerte können mit dem Friedman-Test untersucht werden. Friedman-Test Der Friedman-Test (Rangvarianzanalyse) ermöglicht es, mehrere voneinander abhängige Stichproben zu untersuchen. Die Nullhypothese (H0) des Friedman-Tests behauptet, dass sich die unterschiedlichen Messungen der Individuen unter k Bedingungen (Messwiederholungen) unterscheiden [Posp06]. Wenn H0 zutrifft, dann verteilen sich die Rangplätze für die Messwerte unter den Bedingungen pro Untersuchungsobjekt nach Zufall. Triff H0 nicht zu, so werden sich unter verschiedenen Bedingungen unterschiedliche Rangsummen ergeben. Die Rangvarianz zwischen den k Gruppen wird mit −
−
RV = ∑ j (r j − r ) 2 −
r j der mittlere Rangsumme der Gruppe j −
r der mittlere Rangsumme gesamt getestet. Die Prüfgröße v (ob Rangsummenunterschiede zufällig oder nicht zufällig sind) ergibt sich aus
176
v=
12 ∑ r 2j − 3n(k + 1) nk(k + 1) j
dabei sei k die Anzahl der Gruppen. Mit dem Friedman-Test soll überprüft werden, ob die Benutzer gleiche Bewertungen von automatisch berechneten Ähnlichkeitswerten hatten. Hierfür wurden die in Frage 7 vergebenen Noten (auf einer Skala von 1 bis 6) für die automatisch berechneten Ähnlichkeitswerte in einer Tabelle aufgelistet und anschließend wurde die mittlere Rangvarianz mit Hilfe des Friedman-Tests berechnet: Tabelle 13: Mittlere Ränge ermittelt mit Hilfe des Friedman-Tests
mittlerer Rang Wert 1 (book travel vs. book travel)
3,44340
Wert 2 (inspect request vs. check request)
4,62264
Wert 3 (send confirmation vs. send information)
7,53774
Wert 4 (rejected vs. rejection sent)
8,25472
Wert 5 (check availability vs. check capacity)
7,02830
Wert 6 (request checked vs. request inspected)
8,36792
Wert 7 (confirmation agency vs. confirmation)
7,72642
Wert 8 (Availability vs. travel plan)
5,60377
Wert 9 (Quantity vs. Seat)
6,79245
Wert 10 (Paris vs. FRA)
5,40566
Wert 11 (client data vs. confirmation customer)
6,50000
Wert 12 (status data vs. capacity checked)
6,71698
Mit der Software WinStat wurden für den Friedman-Test die folgenden statistischen Daten ermittelt: N
53
Chi-Quadrat
99,5951
df
11
p
2,14789−16
Ergebnisse Friedman-Test •
Die mittleren Rangsummen der Werte 4 und 6 weisen ähnliche Werte auf. Das gleiche gilt für die Gruppen (Wert 8, Wert 10), (Wert 3, Wert 5, Wert 7), (Wert 9, Wert 11, Wert 12). Damit wurde der Wert 1 am besten bewertet (der auto-
177
matisch berechnete Ähnlichkeitswert stimmte am besten mit den Erwartungen der Benutzer überein). Wert 4 und 6 wurden am schlechtesten bewertet. •
Es bestehen signifikante Unterschiede zwischen den Bewertungen der automatisch berechneten Ähnlichkeitswerte. Der p-Wert von 2,14789-16 ist kleiner als der kritische Wert von 0,05 (beim zweiseitigen Test liegt der kritische Wert bei 0,05). Die Nullhypothese (H0) wird verworfen.
Zuletzt wird die Streuung der Datenreihe untersucht, um mögliche Ausreißer zu identifizieren. Bei Frage 3 und 4 sollten die Benutzer die Ähnlichkeit zwischen zwei Prozessmodellen einschätzen. Die Abbildungen 63 und 64 zeigen die von den Befragten eingeschätzten Ähnlichkeitswerte (zunächst ohne Berücksichtigung der Vertrautheit mit der Modellierungsdomäne). Die Experten gaben für das erste Prozessmodell Ähnlichkeitswerte in einem Intervall von [0.75, 0.91] an. Bei einem Mittelwert von 0.835 stuften die Experten die Prozessmodelle als sehr ähnlich ein. Bei den übrigen Benutzergruppen ist der eingeschätzte Ähnlichkeitswert breit gestreut. Abbildung 63: Eingeschätzte Ähnlichkeitswerte beurteilt nach Erfahrungen in der Geschäftsprozessmodellierung (Frage 3)
Ähnlichkeitswert/Modellierungserfahrungen 14 13 12 11 10 9 8 Anzahl 7 6 5 4 3 2 1 0
1.0
1.0
1.0
0.9 0.95 09 0.8 0.7 06 0.4 überhaupt keine
0.95
0.9
0.91
0.8
0.9
0.7
0.8
0.88 0.75
06
0.7
0.8
0.8 0.7 0.65 0.5 0.25 wenige
0.65
0.75 0.5 0.3 0.0 mittelmäßige
0.6
0.91 0.88 0.8 0.75
0.7 0.6 0.4 über gute
sehr viele
ich bin Experte
0.5 0.4 0.3 0.25 0.0
Modellierungserfahrungen
Beim zweiten Prozessmodell (Frage 4) gab die Mehrzahl der Experten ebenfalls einen Wert an, der nah an den durchschnittlichen Einschätzungen aller Experten lag.
178
Sowohl beim ersten Prozessmodell (Abb. 63) als auch beim zweiten (Abb. 64) lässt sich bei den Befragten mit guten Erfahrungen in der Geschäftsprozessmodellierung eine geringere Abweichung zwischen den durchschnittlich eingeschätzten Ähnlichkeitswerten feststellen. Im Gegensatz zu den übrigen drei Gruppen, wo die maximale Abweichung bei 1.0 (Abb. 63) bzw. 0.7 (Abb. 64) (mittelmäßige Erfahrungen) gefolgt von 0.75 bzw. 0.7 (wenige Erfahrungen) und 0.55 bzw. 0.65 (überhaupt keine Erfahrungen) liegt. Die unterschiedliche Streuung der eingeschätzten Ähnlichkeitswerte könnte darauf hinweisen, dass Befragte ihre Erfahrungen überschätzt haben. Die Überschätzung ist daran erkennbar, dass die geschätzten Ähnlichkeitswerte von Befragten mit überhaupt keinen Modellierungserfahrungen weitaus weniger streuen; hier hatten die Befragten auch keinen Anreiz, ihre Erfahrungen zu überschätzen und in eine unzutreffende Gruppe eingeteilt zu werden. Abbildung 64: Eingeschätzte Ähnlichkeitswerte beurteilt nach Erfahrungen in der Geschäftsprozessmodellierung (Frage 4)
Ähnlichkeitswert/Modellierungserfahrungen 14 12
8 0.85 0.75
0.8 0.7 0.6 0.5
0.7
0.2
0.6 0.2
0.1
Anzahl
4 2 0
0.8 0.75
0.7 0.6
10
6
0.85
0.8
überhaupt keine
0.5 0.4 03 0.2 0.1
w enige
mittelmäßige
0.7 0.63
0.7 0.6 0.5 0.4 03
0.6 0.5 0.4 0.7
0.2 über gute
0.63 0.35 sehr viele
0.35 0.3 0.2 0.1
ich bin Experte
Modellierungserfahrungen
Diese hohe Abweichung bleibt auch bei Befragten mit durchschnittlichen Modellierungserfahrungen unter Berücksichtigung ihrer Vertrautheit mit der Modellierungsdomäne bestehen, wie Abbildung 65 zeigt.
179
Abbildung 65: durchschnittlichen Modellierungserfahrungen nach Vertrautheit mit der Modellierungsdomäne (Frage 3)
M odellierungserfahrungen: mittelmäßig
12 0.8
10 8 Anzahl
6
0.7 0.6
0.8
0.5
0.6
0.7 0.5
0.4
4
0.3
2 0.3
0.2
0.4 0.3 0.4 0.2
0.2
0 wenige
durchschnittliche
gute
Vertrautheit mit der Modellierungsdomäne
Im nächsten Schritt werden die Spannweite, die Varianz und die Standardabweichung für Benutzer mit wenigen und durchschnittlichen Modellierungserfahrungen berechnet, um die Breite des Streubereichs zu untersuchen [FaKP04]. Die Spannweite (range) ergibt sich aus:
R = x max − x min x max = größter Beobachtungswert x min = kleinster Beobachtungswert Für Frage 3 (abgekürzt mit F3) ergibt sich für Personen mit wenigen (w) und durchschnittlichen (d) Modellierungserfahrungen ein
R F3w = 1.0 – 0.25 = 0.75 und
R F3d = 1.0 - 0.0 = 1.0 Für Frage 4 (F4) resultiert ein
R F4w = 0.8 – 0.1 = 0.7 und R F4d = 0.8 – 0.1 = 0.7
Die größte Spannweite besteht bei Frage 3 bei Modellierern mit durchschnittlichen Erfahrungen.
180
Der Mittelwert für beide Kategorien und Fragen lautet: −
−
x F3w = 0.71111 bzw. x F3d = 0.61429 und −
−
x F4w = 0.4 bzw. x F4d = 0.47857 Die Varianz einer Datenreihe ergibt sich aus:
−
−
−
− 1 n (x − x) 2 + (x 2 − x) 2 + ... + (x n − x) 2 V 2 = ∑ (x i − x) 2 = 1 n i =1 n
n = Anzahl der Beobachtungswerte
x i = i-ter Beobachtungswert −
x = Mittelwert Die Standardabweichung ergibt sich durch Ziehen der Wurzel aus der Varianz:
SD = V 2 = Varianz Eine geringe Standardabweichung bedeutet, dass alle Beobachtungswerte nahe am Mittelwert liegen. Eine hohe Standardabweichung deutet auf eine weite Streuung der Beobachtungswerte um den Mittelpunkt hin. Für die Frage 3 ergeben sich die folgenden Varianzen und Standardabweichungen:
VF3ü = 0,0417500 SD = 0,20432 VF3w = 0,0529862 SD = 0,23018 VF3d = 0,0674725 SD = 0,25975 VF3g = 0,0188839 SD = 0,13741
VF3e = 0,0053667 SD = 0,07325 Die Varianz der geschätzten Ähnlichkeitswerte (und auch die Standardabweichung) von Modellierern mit durchschnittlichen Modellierungserfahrungen ist am größten;
181
d.h. die Werte liegen weiter auseinander als die geschätzten Ähnlichkeiten von den übrigen Benutzergruppen. Die Statistiksoftware WinStat hat als Ausreißer die beiden Befragten mit der Nr. 30 (durchschnittliche Modellierungskenntnisse) und 43 (wenige Modellierungskenntnisse) durch statistische Verfahren bestimmt. Durch Eliminierung der Daten dieser beiden Befragten ergeben sich die folgenden Varianzen und Standardabweichungen:
VF3w = 0,0471429 SD = 0,21712 VF3d = 0,0392308 SD = 0,19806 Die Daten dieser beiden Befragten werden im weiteren Verlauf der Auswertungen (speziell bei neuronalen Netzen) nicht mehr betrachtet.
7.3.3 Anwendung von Verfahren des maschinellen Lernens Zur Anwendung von neuronalen Netzen werden die von den Befragten vergebenen Noten ausgewertet. Eine durchschnittlich schlecht vergebene Note deutet darauf hin, dass der Benutzer die Ähnlichkeit eines Wortpaares höher bzw. niedriger als die automatisch berechnete geschätzt hätte. Durch neuronale Netze soll die initiale Gewichtung beim kombinierten Ähnlichkeitsmaß festgelegt werden. Bestimmung einer initialen Gewichtung w Die Ergebnisse der Befragung werden als Ausgabevektor von neuronalen Netzen verwendet. Tabelle 14 zeigt einen Beispieldatensatz aus den Fragen 6 und 8 der Umfrage (geordnet nach Elementtyp), auf den im weiteren Verlauf zur Bestimmung einer initialen Gewichtung zurückgegriffen wird. Die erste Spalte nennt den Namen des Elementpaars; die zweite Spalte veranschaulicht den automatisch berechneten Ähnlichkeitswert. Der dritte Wert gibt den vom Benutzer eingeschätzten Ähnlichkeitswert für dieses Paar wieder. In der vierten Spalte ist die Differenz zwischen dem eingeschätzten und dem automatisch berechneten Ähnlichkeitswert angegeben. Eine Differenz aus Ähnlichkeitswert-Software und Ähnlichkeitswert-Mensch nahe bei Null bedeutet, dass die Software den vom Menschen eingeschätzten Ähnlichkeitswerte gut „approximiert“. Je größer die Differenz desto größer sind die unterschiedlichen Einschätzungen/Berechnungen; z.B. hätten die Befragten die Ähnlichkeit des Transitionspaares (send confirmation vs. send information) mit 0.5 geschätzt. Vom System wurde aber ein Ähnlichkeitswert von 0.8 berechnet.
182
Tabelle 14: Ähnlichkeitswerte für Transitionen aus Frage 6 bis 9 Name
book travel vs. book travel inspect request vs. check request send confirmation vs. send information check availability vs. check capacity categorize damage vs. categorize casualty assign evaluator vs. estimate casualty forward document vs. inform customer finish casualty process vs. furnish option make notice file vs. appraise damage consult supervisor vs. appoint handling
Ähnlichkeitswert Software (simcom)
Ähnlichkeitswert – Mensch (simmen)
Differenz = 2 (simcom-simmen)
0.9655
0.9904
0.00062001
0.8451
0.8265
0.00034596
0.8429
0.5214
0.10336225
0.5621
0.6349
0.00529984
0.7599
0.7439
0.000256
0.4392
0.2822
0.024649
0.2548
0.3282
0.00538756
0.2174
0.2151
0.00000529
0.2101
0.2439
0.00114244
0.1755
0.2420
0.00442225
Die größte Differenz zwischen Ähnlichkeitswert-Software und ÄhnlichkeitswertMensch ergibt sich beim Stellenpaar status data vs. capacity checked (Tab. 15). Durch die Software wurde ein Ähnlichkeitswert von 0.0335 berechnet und die Befragten hatten durchschnittlich einen Ähnlichkeitswert von 0.3 angegeben.
183
Tabelle 15: Ähnlichkeitswerte für Stellen aus Frage 6 bis 9 Name
Ähnlichkeitswert Software (simcom)
Ähnlichkeitswert – Mensch (simmen)
Differenz = 2 (simcom-simmen)
rejected vs. rejection request checked vs. request inspected confirmation agency vs. confirmation availability vs. travel plan client data vs. confirmation customer status data vs. capacity checked
0.6409
0.7847
0.02067844
0.5384
0.7571
0.04782969
0.2955
0.4704
0.03059001
0.1641
0.1747
0.00011236
0.0512
0.3245
0.07469289
0.0335
0.3194
0.08173881
notification received vs. notification low damage vs. low casualty high casualty vs. high damage
0.6837
0.6873
0.00001296
0.6598
0.7331
0.00537289
0.6598
0.7332
0.00538756
collected notification loss vs. notification received estimated vs. assigned damage appraised vs. notice inserted supervisor informed vs. documents evaluator customer informed vs. document forwarded
0.4705
0.4118
0.00344569
0.3935
0.2582
0.01830609
0.2133
0.2369
0.00055696
0.1974
0.2204
0.000529
0.1297
0.3265
0.03873024
Die größte Differenz beim Attributenpaar besteht bei Loss Name vs. Loss Name (Tabe. 16) Der von der Software berechnetet Ähnlichkeitswert ist viel geringer als der von den Befragten geschätzte.
184
Tabelle 16: Ähnlichkeitswerte für Attribute aus Frage 6 bis 9 Name
Ähnlichkeitswert Software
Quantity 1 vs. Seat Paris vs. FRA Loss Name vs. Loss Name
Ähnlichkeitswert – Mensch
Differenz 2 = (simcom-simmen)
0.1252
0.2776
0.02322576
0.0964 0.75
0.2663 0.9827
0.02886601 0.05414929
Als Eingabewerte für das neuronale Netz werden Ähnlichkeitswerte, berechnet mit den Ähnlichkeitsmaßen simsyn, simling und simstr, verwendet. Tabellen 17 und 18 zeigen nur einen Ausschnitt der Eingabewerte für Transitionen und Stellen. Die vollständigen Eingabewerte sind im Anhang C Evaluation aufgelistet. Tabelle 17: Eingabewerte für Transitionen (Ausschnitt) Name
book travel vs. book travel inspect request vs. check request
simsyn
simling
simstr
1.0
1.0
1.0
0.6154
0.7436
1.0
simsyn
simling
Tabelle 18: Eingabewerte für Stellen (Ausschnitt) Name
rejected vs. rejection request checked vs. request inspected
simstr
0.625
0.625
1.0
0.6667
0.7778
1.0
Tabelle 19: Eingabewerte für Attribute Name
simsyn
simling
simstr
Quantity 1 vs. Seat
0
0
0
Paris vs. FRAU
0
0
0
Loss Name vs. Loss Name
1
1
0.0907
Die Eingabewerte dienen als Eingabe für ein mehrschichtiges, vorwärtsgerichtetes, neuronales Netz. Ein initiale Gewichtung für die kombinierte Ähnlichkeit wird mit Hilfe der Software Matlab und dem integrierten Werkzeugkasten für neuronale Netze bestimmt. Gelernt werden soll die Differenz zwischen dem automatisch berechneten Ähnlichkeitswert und dem von Menschen eingeschätzten Ähnlichkeitswert. Die Elemente des neuronalen Netzes ergeben sich aus: Eingabevektor des Netzes Pk = ( a1 , a2 ,..., an ) , Zielvektor des Netzes Tk = ( y1 , y2 ,..., yn ) ,
185
Ein- und Ausgabevektor für versteckte Schichten: Sk = ( s1 , s2 ,..., sn ) ,
Bk = (b1 , b2 ,..., bn ) , Ein- und Ausgabevektor für Ausgabeschicht: L k = (l1 , l2 ,..., ln ) , C k = (c1 , c2 ,..., cn ) , Gewichte zwischen Eingabe- und mittlerer Schicht: wij , i = 1, 2, ..., n, j = 1, 2, ..., p , Gewichte zwischen mittlerer und Ausgabeschicht: w jt , j = 1, 2, ..., n, t = 1 , Schwellwerte für die mittlere Schicht:
θj,
j = 1, 2,..., p ,
Schwellwerte für die Ausgabeschicht:
γ j,
j = 1, 2,..., p ,
Parameter
k = 1, 2,..., m .
Zunächst werden stochastische Zahlen zwischen [-1, 1] an jedes Gewicht wij; vjt und die Schwellwerte θj; γj, verteilt (siehe Schritt 1 des Backpropagation-Algorithmus). Dieser Schritt wird Initialisierung genannt. Danach müssen der Eingabevektor Pk und der Zielvektor Tk festgelegt werden. In unserem Fall sind die Eingabevektoren [simsyn simling simstr]. Die Differenzwerte von Transitionen befinden sich in einem Intervall von [0, 0.1034]. Als Zielausgabe für das neuronale Netz wird eine Differenz von null angenommen. Abbildung 66: Statistik der Differenz von Transitionsähnlichkeiten
Differenz
Differenzwerte für Transitionen 0,12 0,1 0,08 0,06 0,04 0,02 0 1
2
3
4
5
6
7
8
9
10
Transitionspaar
Für Transitionen gibt es insgesamt 10 Eingabewerte (siehe Tabelle Anhang C) von denen 8 als Lernexemplare und zwei als Testexemplar verwendet werden (siehe Tabelle 20). Als Lernexemplar sollten die Transitionspaare mit der geringsten und der höchsten Differenz verwendet werden, da sie „schlechte“ Beispiele darstellen. Als Testexemplare empfiehlt es sich, Paare mit einer mittelmäßigen Differenz zu verwenden. Der Zielvektor ist die Differenz von simmen und simcom, wobei die Gewichte bei Stellen, Transitionen und Attributen unterschiedlich sind.
186
Tabelle 20: Ein- und Ausgabe des BP-Netzes für Transitionen Netz für Transitionen
Lernexemplar
Testexemplar
Eingabe
simsyn
simling
1 0.6154 0.8125 0.5 0.6471 0.3125 0.2 0 0.0667 0.0625
1 0.7436 0.875 0.6667 0.7647 0.3125 0.2 0.3537 0.1548 0.0893
Zielausgabe
Ausgabe Differenz (simcom-simmen)
simstr 0 0 0 0 0 0 0 0 0 0
0.00062001 0.00034596 0.10336225 0.00529984 0.000256 0.024649 0.00538756 0.00000529 0.00114244 0.00442225
0 0 0 0 0 0 0 0 0 0
Im nächsten Schritt gilt es die Anzahl an Neuronen in der verstecken Sicht zu bestimmen, die zwischen drei bis acht liegen sollte. Nach einigen Testdurchgängen zeigt sich, dass die mittlere Schicht aus sechs Neuronen am nahesten dem Zielwert von Null liegt und die Anzahl an Berechnung am geringsten ist (siehe Tabelle 21). Tabelle 21: Ergebnisvergleich mit unterschiedlichen Perzeptronen für Transitionen Anzahl der Perzeptronen
3
4
212
Anzahl der Berechnungen
126
-24
-26
10
Ergebnis
10
5
150
6
62
-30
-30
10
10
7
83 -27
10
8
14 10-23
Das resultierende Backpropagation-Netz mit sechs Neuronen zeigt Abbildung 67. Die Gewichte wij und v jt entsprechen den Werten aus Tabelle 22. Die Aktivierungsfunktion ist eine Tangens Hyperbolicus Funktion. Für die Ausgabeschicht wird eine lineare Aktivierungsfunktion f 2 verwendet. Abbildung 67: Abbildung 68: Backpropagation-Netz für Transitionen
∑
wij
f1
v jt ∑
f2
Die entsprechenden Werte für die Gewichte wij und vjt lauten:
187
Tabelle 22: Netzgewichte für Transitionen
wij Eingabe1 Eingabe2 Eingabe3
v jt Ausgabe
θ γ
Perzeptron1
Perzeptron2
Perzeptron3
Perzeptron4
Perzeptron5
Perzeptron6
-4.4899 1.1068 3.0719
-1.4703 5.7061 2.339
2.1709 -5.6895 0.1296
-5.6132 -3.8117 5.1723
2.5953 -3.4044 3.5212
4.3377 2.6071 1.4899
Perzeptron1
Perzeptron2
Perzeptron3
Perzeptron4
Perzeptron5
0.5302
0.2497
-0.0324
-0.0239
-0.0798
Perzeptron3
Perzeptron4
Perzeptron5
Perzeptron1
Perzeptron2
-5.3516
5.7312
-2.2062 4.1074 -0.591
-3.1386
Perzeptron6
0.5326 Perzeptron6
-2.1479
Anschließend wird das Netz noch mit den zwei Testexemplaren überprüft (Testergebnis siehe Tabelle 23). Laut Testergebnis konnte die Differenz zwischen Software und Mensch stark reduziert werden. Das heißt, dass das BP-Netz das Verhalten des Mensches gut simuliert. Tabelle 23: Testergebnis für Transitionen Differenzalt
Differenzneu
Test1
0.00114244
0.00037964
Test2
0.00442225
0.00015876
Analog dazu kann ein BP-Netz erstellt werden, das die Gewichte wcsyn , wcling und
wcstr für Stellen bestimmt. Die Differenzwerte von Stellen liegen in einem Intervall von [0.0003, 0.0817]. Abbildung 69: Statistik der Differenz von Transitionsähnlichkeiten
Differenzwerte für Stellen Differenz
0,1 0,08 0,06 0,04 0,02 0 1
2
3
4
5
6
7
8
9 10 11 12 13 14
Stellenpaar
Als Eingabe gibt es 14 Stellenpaare (Exemplare). Die letzten drei werden als Testexemplare verwendet und die übrigen sind Lernexemplare. Die Ein- und Ausgabe-
188
werte für das BP-Netz zeigt Tabelle 24. Die Zielausgabe ist - wie bei Transitionen Null. Tabelle 24: Ein- und Ausgabe des BP-Netzes für Stellen Eingabe
Netz für Stellen
simsyn
Lernexemplar
Testexemplar
simling
Ausgabe
simstr
Zielausgabe
Differenz (simcom-simmen)
0.2308
0.4545
1
0.07155625
0
0
0.1879
1
0.07469289
0
0
0
1
0.08173881
0
0.3571
0.8
0
0.00214369
0
0.5
0.8
1
0.00031329
0
0.4615
0.7879
1
0.01115136
0
0.1429
0.4833
1
0.00344569
0
0.375
0.375
1
0.00124609
0
0.2
0.2
1
0.00055696
0
0.0526
0.0721
1
0.000529
0
0.2353
0.2402
1
0.03873024
0
0.625
0.625
1
0.05943844
0
0.6667
0.7778
1
0.04782969
0
0.4167
0.6667
1
0.03059001
0
Mit Hilfe der Eingabe- und Ausgabewerte wird das Netz mit den Lernexemplaren 5000-mal durchlaufen. Nach dem 5000ten Durchlauf muss das Netz den Rechenverlauf abbrechen, selbst wenn die Zielausgabe noch nicht erreicht ist. Als Ergebnis ergibt sich: Tabelle 25: Ergebnisvergleich mit unterschiedlichen Perzeptronen für Stellen Anzahl der Perzeptronen
3
Anzahl der Berechnungen Ergebnis
5000 0.000290495
4
5
1486 -24
10
41 10
6 135
-29
10
-28
7 50 10
8 43
-26
10-27
Das Ergebnis mit 5 Neuronen ist aufgrund der geringsten Berechnung am besten (am nächsten am Zielwert und geringste Anzahl an Berechnungen). Daraus resultieren die folgenden Gewichte für Stellen: Tabelle 26: Netzgewichte für Stellen
wij Eingabe1 Eingabe2 Eingabe3
Perzeptron1
Perzeptron2
Perzeptron3
Perzeptron4
Perzeptron5
-2.0408 -6.0469 -0.8331
4.4260 3.5450 0.8592
-3.5262 -1.3713 4.0462
-6.5032 6.9435 -3.9448
8.5613 0.3552 -4.6398
189
v jt
Perzeptron1
Perzeptron2
Perzeptron3
Perzeptron4
Perzeptron5
5.4800
-5.0213
1.4206
0.0586
0.6987
Perzeptron1
Perzeptron2
Perzeptron3
Perzeptron4
Perzeptron5
5.9443
0.4885
-1.3605
0.0786
-1.2325
Ausgabe
θ γ
0.0638
Laut Testergebnis (Tabelle 27) konnte die Differenz zwischen Software und Mensch stark reduziert werden. Das heißt, dass das BP-Netz das Verhalten des Mensches gut simuliert. Tabelle 27: Testergebnis für Stellen Differenzalt
Differenzneu
Test1
0.05943844
0.0183
Test2
0.04782969
0.0013
Test3
0.03059001
0.0069
Die Anzahl an Exemplaren von Attributen ist zu gering (3 Exemplare), um ein sinnvolles Backpropagation-Netz aufzubauen. Bei einer größeren Anzahl an Exemplaren wäre die Berechnung aber analog zum Vorgehen bei Stellen und Transitionen. Die berechneten Netzgewichte für Stellen und Transitionen lassen sich nicht normalisieren. Die Gewichte werden zufällig berechnet und variieren mit der Anzahl an Testexemplaren. Clustern von Befragten Im nächsten Schritt wurde der Fragebogen im Hinblick auf Clusterung von Benutzern ausgewertet. In Frage 10 war ein Ausschnitt eines Geschäftsprozesses angegeben. Die Befragten sollten aus vier vorgegebenen Alternativen einen passenden Folgeprozess auswählen, wobei Mehrfachnennungen möglich waren. Die Ergebnisse für Frage 10 sind in Abbildung 69 veranschaulicht. Die meisten Befragten haben Folgeprozess 1 ausgewählt (laut „Musterlösung“ passt dieser Prozessteil 1 auch zum ursprünglichen Prozess). Die meisten Experten und Personen mit sehr viel Modellierungserfahrungen haben sich auf die gleiche Auswahl festgelegt (lediglich 25% der Personen mit sehr viel Modellierungserfahrungen haben noch einen weiteren bzw. einen anderen Folgeprozess ausgewählt). In der Abbildung sind die Mehrfachnennungen aus Übersichtsgründen nicht ersichtlich, werden allerdings beim Clustern berücksichtigt.
190
Abbildung 70: Auswahl von passenden Folgeprozessen in Frage 10
Auswahl passender Folgeprozess Frage 10 22 20
4
18 16
2
14 Anzahl
4
3
6 4
2
4
10 8
4 4
12
1
2
1 überhaupt keine
2 1
w enige
1 1
2
0
3
0 mittelmäßige
0 über gute
2
2
1
1
sehr viele
0
ich bin Experte
Modellierungserfahrungen
Mit der Statistiksoftware WinStat wurden Clusterungen berechnet75. Das Ergebnis nach Complete Linkage und Average Linkage war identisch. Die einfachste Clusterung nach Single Linkage schlug grobe Cluster nur auf drei Distanzebenen vor, weshalb dieses Verfahren nicht weiter betrachtet wird. Zur Auswertung der Clusteranalyse wurden die Fragebögen aufsteigend nach Modellierungserfahrungen nummeriert. Die vier Experten haben beispielsweise die Nummern 1, 2, 3 und 4.
75 Leider sind die Graphiken, die diese Software erzeugt, bei vielen Clustern nicht leserlich. Deswegen wurden die Cluster nachgezeichnet. Die Distanz zwischen Cluster 5 und 15 ist deswegen nicht maßstabsgetreu, damit die Gruppierung bis zu einer Distanz von 5 detaillierter dargestellt werden kann.
191
Abbildung 71: Clustern von Benutzern nach Complete Linkage für Frage 10 Cluster 54 51 49 44 38 18 30, 27 27, 26 24, 22 20 10 9
Fallnummern
55, 53 52, 50 48 47, 46 40, 39 37 36 35 43 36 28 25 35, 34 33, 32 31, 29 26 23 21 19 17 16, 14 12, 11 8 7 5 4, 3 2 1
0
5
15
20
Distanz
Entsprechend den Mehrfachnennungen der Benutzer werden bei einer Distanz von 0.5 sieben Cluster vorgeschlagen, wobei einige Benutzer noch überhaupt keinem Cluster zugeordnet werden können (z.B. Nr. 46, 42, 28, 37, usw.). Bei einer Ähnlichkeitsdistanz von 4.0 ergeben sich vier Cluster: Cluster 1 und Cluster 2 besteht aus Modellierern mit keinen, wenigen und durchschnittlichen Modellierungserfahrungen. Cluster 3 setzt sich zusammen aus Personen mit durchschnittlichen, guten und sehr guten Modellierungserfahrungen. Den letzten Cluster bilden die Experten. Wie in Abbildung 71 ersichtlich, wurden Personen mit keinen, wenigen und durchschnittlichen Modellierungserfahrungen in zwei bzw. drei Cluster eingeordnet. Im dritten Cluster ist aber die Anzahl an Personen, die sich für die gleichen Antworten wie gute und sehr gute Modellierer entschieden haben, gering (das gleiche gilt für Cluster 2). Eine viel größere Anzahl an Modellierern mit durchschnittlichen Modellierungserfahrungen hat sich für die gleiche Antwort wie Personen ohne Modellie-
192
rungserfahrungen entschieden (Cluster 1). Die gleiche Analogie besteht im Cluster 1 für Personen mit wenigen Modellierungserfahrungen. Abbildung 72: Clusterung bei einer Ähnlichkeitsdistanz von 4.0 für Frage 10
Clusterung bei einer Distanz von 4.0 1,2 1 0,8
1 und 1;4 1; 2
0,6
1;2 und 1;4 und 1 und 2 und 0 3 und 4
0,4 0,2
C
1
du rc
C
C
1
ke in e
1 w en hs ig ch e ni ttl ic he C 2 ke in C C 2 e 2 du w rc en hs ig C ch e 3 ni du t tl i rc ch hs e ch ni ttl ic h C 3 gu C 3 te se hr gu C 4 te Ex pe rt en
0
Deswegen ergeben sich anhand der Antworten aus Frage 10 die folgenden Cluster:
•
Cluster 1: keine und durchschnittliche Modellierungserfahrungen
•
Cluster 2: wenige Modellierungserfahrungen
•
Cluster 3: gute und sehr gute Modellierungserfahrungen
•
Cluster 4: Experten
Bei der Frage 11 mussten die Befragten ebenfalls aus vier Alternativen den passenden Folgeprozess auswählen (Mehrfachnennungen waren wieder möglich). Im Gegensatz zur Frage 10 musste der Folgeprozess einer vorgegebenen Geschäftsregel entsprechen. Die Antworten der Befragten zeigt Abbildung 72. Die meisten Befragten haben sich wieder für den ersten Folgeprozess entschieden.
193
Abbildung 73: Auswahl von passenden Folgeprozessen in Frage 11
Auswahl passender Folgeprozess Frage 11 25 4
20
3 15
4
2
Anzahl
3
3
10 3
0 überhaupt keine
3
1
1 0
1
1 1
5
2
3
1
0
w enige
mittelmäßige
über gute
sehr viele
0
1 ich bin Experte
Modellierungserfahrungen
Ausgehend von diesen Antworten wurden Clusterungen nach Complete Linkage und Average Linkage durchgeführt. Sie führte wieder zu ähnlichen Vorschlägen wie für Frage 10.
194
Abbildung 74: Clustern von Benutzern nach Complete Linkage für Frage 11
Cluster 46 43 42, 38 39 37 54 47, 44 43 24, 22 18 55, 52 51 49 48
Fallnummern
41, 40 32, 25 36 35 30 28, 27 26, 21 19, 17 33 12 34, 33 29 23, 22 11 15 16, 13 10, 9 8 7 6 14 5 3, 2 4 1
0
5
10
15
20
Distanz
Bei einer Ähnlichkeitsdistanz von 4.7 werden 4 Cluster gefunden. Wieder gibt es Gruppen von Modellierern, die mehreren Clustern zugeordnet werden. Personen ohne Modellierungserfahrungen werden zu Cluster 1 und 2 zusammengefasst. Diejenigen, die angaben wenige Modellierungserfahrungen zu besitzen, werden Cluster 1 und 2 zugeordnet. Zweifache Clusterzuordnung gilt auch für Personen mit durchschnittlichen und guten Modellierungserfahrungen. Die gleichen Antworten von den
195
meisten Personen mit gar keinen Modellierungserfahrungen finden sich im Cluster 2. Gleiches gilt für Personen mit guten und durchschnittlichen Erfahrungen; die meisten gleichen Antworten finden sich im Cluster 3. Abbildung 75: Clusterung bei einer Ähnlichkeitsdistanz von 4.7 für Frage 11
Clusterung bei einer Distanz von 4.7 1,2 1 0,8
3 und 4 0, 1 und 1;3
0,6
2 und 1 1 und 1;3
0,4 0,2
gu te Ex pe rt en
te gu
C4
se hr
C3
C3
du
C4
rc hs
ch n
it t l
ic he
ic he it t l
ig e ch n
w en
du
rc hs
ke in e
C2 C2
gu
te
C2
C1
ic he it t l
ig e ch n
w en
rc hs
C1 C1
du
C1
ke in e
0
Ausgehend von den Antworten in Frage 11 und unter Berücksichtigung der Modellierungserfahrungen ergeben sich die folgenden Cluster:
•
Cluster 1: keine und wenige Modellierungserfahrungen
•
Cluster 2: durchschnittliche und gute Modellierungserfahrungen
•
Cluster 3: sehr gute Modellierungserfahrungen und Experten
Damit ergeben sich ausgehend von den Ergebnissen der Fragen 10 und 11 unterschiedliche Cluster. Abbildung 75 zeigt die Clusterung bei einer Ähnlichkeitsdistanz von 9.0 für die beiden Fragen 10 und 11. Einige Befragte wurden wieder mehreren Cluster zugeordnet.
196
Abbildung 76: Clusterung bei einer Ähnlichkeitsdistanz von 9.0 für Frage 10 und 11
Clusterung bei einer Distanz von 9.0 1,2 1 0,8
F10: 4 und 3; F11: 4 F10: 1,2 und 1;4; F11: 3 und 2
0,6
F10: 1, 2, 3, 4 und 1;4; F11: 0,1 und 1;3
0,4
F10: 0,1,2 und 1;2: F11: 1 und 1;3
0,2
F10: 1 und 2; F11: 1 und 1;3
C
1
C 1 du C1 kei rc w n e hs en ch ig ni e tt C C l ic h 2 2 du C ke in rc 2 hs we e ch ni ni g e ttl ic C he 2 g C C ut e 3 3 du C ke C rc 3 w in e 4 h du sc en rc h n ig hs itt e ch l ic ni he ttl ic he C C 4 4g se ut C hr e 5 g Ex ut pe e rt en
0
Insgesamt ergeben sich ausgehend von Frage 10 und 11 die folgenden Cluster:
•
Cluster 1: keine, wenige und durchschnittliche Modellierungserfahrungen
•
Cluster 2: gute und sehr gute Modellierungserfahrungen
•
Cluster 3: Experten
Personen mit durchschnittlichen Modellierungserfahrungen könnten auch dem Cluster 2 zugeordnet werden.
7.3.4 Analyse und Interpretation der erhobenen Daten Für die Fragen 10 und 11 konnten eindeutige Cluster gefunden werden. Unter Betrachtung beider Fragen konnten Personen mit durchschnittlichen Modellierungserfahrungen zwei Clustern zugeordnet werden. Allerdings gibt es keine Gruppe, die sich eindeutig für einen Folgeprozess entschieden hat. Experten haben sich bei der Frage 10 (siehe Abbildung 69) entweder für den Folgeprozess 1 oder für zwei Folgeprozesse, nämlich 1 und 2, entschieden. Der Folgeprozess 1 hatte die gleiche Anzahl an Aktivitäten wie der Folgeprozess 3, und in ihm waren zudem auch alternative Prozessaktivitäten modelliert. Damit war dieser im Gegensatz zum Prozess 3 etwas „komplexer“, da Folgeprozess 3 nur einen sequentiellen Ablauf hatte. Der gesamte Prozess 3 passt allerdings nicht zum
197
angegebenen Prozessausschnitt, da der Folgeprozess 3 eine Aktivität des Prozessausschnitts wiederholt (für den Folgeprozess 3 hat sich nur eine geringe Anzahl von Personen entschieden, insbesondere der Cluster mit Personen mit wenigen Modellierungserfahrungen). Im Folgeprozess 2 gibt es auch eine Aktivität, die bereits im vorgegebenen Prozessausschnitt modelliert wurde. Für den Folgeprozess 2 haben sich weitaus mehr Personen entschieden als für den Folgeprozess 3. Für die Modellierungsunterstützung bedeutet das, dass einige Benutzer eine Wiederholung von Aktivitäten akzeptieren würden, im Prinzip aber sollte das vorzuschlagende Prozessteil keine Aktivität wiederholen. Hier sollte eine Abprüfung der Prozesselementnamen stattfinden, und der Modellierer sollte auf eine Wiederholung von Aktivitäten aufmerksam gemacht werden. Zwar haben sich die meisten Befragten für den Folgeprozess 1 entschieden, aber keine Gruppe hat nur einen einzigen Folgeprozess ausgewählt. Damit kann die automatische Prozessergänzungsfunktion mehrere Folgeprozesse enthalten; die Anzahl sollte aber begrenzt sein. Im Durchschnitt hat die Beantwortung eines Fragebogens 30 Minuten in Anspruch genommen. Die Beantwortung der Fragen 10 und 11 hat insgesamt etwa acht Minuten gedauert. Um die Modellierungszeit durch Auswahl eines passenden Folgeprozesses nicht unnötig zu verlängern, wäre es empfehlenswert, dem Benutzer nicht mehr als vier, eher nur drei Folgeprozesse vorzuschlagen, wie sie im Fragebogen vorgeschlagen wurden. Wobei Experten für die Auswahl passender Folgeprozesses weniger Zeit beansprucht hatten als Anfänger. Damit könnten Experten mehr Folgeprozesse vorgeschlagen werden als Anfängern. Bei der Frage 11 mussten die Befragten bei der Auswahl eines passenden Folgeprozesses eine Geschäftsregel beachten. Zwar hat sich wieder kein Cluster eindeutig für einen Prozess ergeben, doch ist die Anzahl an ausgewählten Prozesskombinationen geringer als in Frage 10. D. h., je konkreter der zu modellierende Prozess, desto präziser die Auswahl an passenden Folgeprozessen. Für die Modellierungsunterstützung könnte dies eine kleinere Anzahl an Vorschlägen implizieren. Von den drei Clustern für Frage 11 wurden nur drei Folgeprozesse ausgewählt. Überhaupt nicht ausgewählt wurde Folgeprozess 4. In diesem Prozess gibt es auch keine Aktivität, die einen Teil der Geschäftsregel abbildet. Damit müssen die vorzuschlagenden Folgeprozesse zur Einhaltung der Geschäftsregel beitragen. In Frage 11 ist der Folgeprozess 2 mit vier Aktivitäten der kürzeste Prozess. Dieser Prozess könnte sich als Folgeprozess eignen, verändert aber nicht signifikant den Geschäftsprozess. Der am häufigsten ausgewählte Folgeprozess 1 besteht aus sechs Aktivitäten und beschreibt die Durchführung von drei Aktivitäten (Fertigung,
198
Sendung und Bezahlung der Ware). Diese drei Aktivitäten verändern den Gesamtprozess stärker als Folgeprozess 2. Dies könnte für die Modellierungsunterstützung bedeuten, dass der vorzuschlagende Folgeprozess mindestens sechs Aktivitäten enthalten sollte. Über die maximale Länge lässt sich nur schwer eine Aussage anhand der Stichprobe machen. Einige Befragte gaben an, dass sie lieber häufiger unterstützt werden möchten, als erst einmal Prozesse mit 15 Aktivitäten nachvollziehen zu müssen. Ein erster Richtwert für die Länge von Folgeprozessen könnte bei sechs bis zu zehn Aktivitäten liegen (da der passende Folgeprozess 2 mit fünf Aktivitäten fast gar nicht ausgewählt wurde und mit weniger als fünf Aktivitäten kein sinnvolles Prozessfragment modelliert werden kann). Abbildung 75 zeigt die Clusterung von Befragten für die Antworten aus den Fragen 10 und 11. Ausgehend von diesen Daten wurden für die Fragen 10 und 11 drei Cluster gebildet. Die Anzahl an ausgewählten Folgeprozessen ist im Cluster 1 am größten. Die Experten haben sich für die wenigsten Folgeprozesse entschieden. Die Unentschlossenheit beim Cluster 1 könnte auf eine mögliche Hilfestellung bei der Prozessmodellierung hinweisen. Die automatische Unterstützung von Experten bei der Prozessmodellierung sollte zum einen eine geringere Anzahl an Folgeprozessen enthalten, und vor allem muss es sich um passende Folgeprozesse handeln. Ein letzter wichtiger Punkt, der bei der automatischen Prozessergänzung beachtet werden müsste, ist die Umbenennung von Synonymen. Falls ein Folgeprozess einer Geschäftsregel entspricht, allerdings im Folgeprozess nur Synonyme vom bearbeitenden Geschäftsprozess verwendet werden, dann sollten die Synonyme im Folgeprozess durch die verwendeten Begriffe im bearbeitenden Geschäftsprozess umbenannt werden. Ansonsten könnte es sein, dass der Benutzer einen Vorschlag ablehnt, weil dort nicht die entsprechenden Begrifflichkeiten verwendet werden.
199
8
Entwicklung eines Prototyps für die Modellierungsunterstützung von Geschäftsprozessen
In den Kapitel 3, 4, 5, 6 und 7 wurden eine Erweiterung eines bestehenden XMLbasierten Austauschformats, ein OWL-basiertes Beschreibungsformat, sechs Ähnlichkeitsmaße für Geschäftsprozessmodelle, die Anfragesprache SiMQL und die Modellierungsunterstützung für Geschäftsprozesse in Form einer Empfehlungskomponente vorgestellt. Die Methoden wurden in einem Prototyp namens Semantic Petri net Tool (SemPeT, http://aifbserver.aifb.uni-karlsruhe.de/sempet/index.htm) umgesetzt.
8.1 Inhaltliche und technische Anforderungen Um einen flexiblen Einsatz von SemPeT in betrieblichen Anwendungen zu ermöglichen, wurden verschiedene inhaltliche und technische Anforderungen definiert, die von dem Prototyp zu erfüllen sind. Auf Basis der in den vorangehenden Kapiteln vorgestellten Methoden wurden folgende inhaltliche Anforderungen festgelegt:
•
Graphische Repräsentation von Prädikate/Transitionen-Netzen Anwendern des Prototyps muss es möglich sein, Geschäftsprozesse mit Petri-Netzen (insbesondere mit Prädikate/Transitionen-Netzen) modellieren zu können.
•
Unterstützung eines XML-basierten Austauschformats Als allgemeingültiges Speicherformat oder maschinenlesbares Beschreibungsformat soll der Prototyp eine XML-Schnittstelle anbieten.
•
Unterstützung eines OWL-basierten Beschreibungsformats Eine automatische Verarbeitung und Manipulation der Geschäftsprozesse soll mit einer OWL-Schnittstelle unterstützt werden.
200
•
Benutzerdialog zur Ähnlichkeitsmessung Der Prototyp soll helfen, Ähnlichkeitsberechnungen zwischen Geschäftsprozessmodellen durchführen zu können. Hierfür sollte ein Dialogfenster anstelle einer Konsoleneingabe angeboten werden, damit auch Informatiklaien das System bedienen können.
•
Benutzerdialog für OWL-basierte Anfragesprache Aus einer Vielzahl von Geschäftsprozessen sollen Anwender die für sie relevanten Folgeprozesse mit Hilfe einer Anfragesprache extrahieren können. In einem entsprechenden Dialogfenster können Benutzer ihre Anfragen formulieren.
•
Benutzerdialog für die Modellierungsunterstützung Anwender des Prototyps (insbesondere Modellierungsanfänger) sollen bei der Modellierung von Geschäftsprozessen unterstützt werden. Voraussetzung für die Modellierungsunterstützung ist ein Prozessrepository (Sammlung von Geschäftsprozessfragmenten) aus dem passende Folgeprozesse ausgewählt werden können. Das System soll den Anwender dahin gehend bei der Modellierung unterstützen, dass nur die für den Anwender relevanten Folgeprozesse aus dem Repository bereitgestellt werden.
Als technische Anforderungen wurden festgelegt:
•
Nutzung von Standard-Entwicklungskomponenten Durch Berücksichtigung von Standards (Java, XML) bei der Entwicklung des Prototyps soll eine Kompatibilität der Produkte und eine spätere einfachere Erweiterbarkeit des Systems durch unveränderten Zugriff auf Klassen sichergestellt werden.
•
Möglichkeit zur Nutzung von unterschiedlichen Graphikkomponenten Eine Trennung zwischen der Logik- und der Präsentationssicht des Systems soll die Wiederverwendung von bestehenden Graphikbibliotheken erleichtern und unterstützen.
201
8.2 Komponenten des Prototyps Als Entwicklungsumgebung für den Prototyp wurde Eclipse76 zunächst in Version 3.0 und später 3.1 verwendet. Die Java-Programmierumgebung von IBM ermöglicht eine automatische Codevervollständigung und bietet zahlreiche Integrationsmöglichkeiten für Programmierschnittstellen (APIs). Für die Programmiersprache Java sprechen nicht nur die Objektorientierung, die Plattformunabhängigkeit und die weite Verbreitung. Insbesondere gibt es für Java auch eine Vielzahl von weiterentwickelten Open-Source-Komponenten, die eine effiziente Erstellung und Verarbeitung von XML- und OWL-Dokumenten unterstützen. SemPeT ist unterteilt in Entwicklungs-, Logik-, und Präsentationskomponenten, die eine Trennung zwischen der Präsentation und der Logik der Applikation sicherstellen.
8.2.1 Entwicklungskomponente Für die Entwicklungskomponente wurden Bibliotheken und Programmierschnittstellen verwendet, die in Java implementiert wurden. Als Hauptentwicklungskomponenten wurden in SemPeT JDOM, JENA2, KAON2, SWT, Draw2D und JFace benutzt. JDOM: Java API für XML JDOM77 ist eine Java-basierte Bibliothek zum Lesen und Manipulieren von XMLDokumenten; sie ist als Ergänzung bzw. Erweiterung von DOM78 zu verstehen [Seeb02]. JDOM bietet im Gegensatz zu DOM die Möglichkeit, den vollständigen Baum eines XML-Dokuments auszugeben. Bei DOM muss vor dem Aufruf von Textinhalten immer erst zum jeweiligen Textknoten navigiert werden; der Aufruf von Textinhalten von einem übergeordneten Elementknoten aus ist nicht möglich. Neben der JDOM-API muss ein DOM-Parser installiert werden (z.B. Xerces), da JDOM keinen eigenen Parser enthält. JDOM besitzt mehrere Pakete, von denen org.jdom die Klasse Document enthält, die ein XML- bzw. DOM-Dokument repräsentiert. Quelltext 27 zeigt die Erzeugung einer Instanz mit dem Namen pnmlElement, dessen Ausgabe in myDocument geschrieben wird.
76
www.eclipse.org http://www.jdom.org/ 78 Document Object Model (DOM) ist eine Programmierschnittstelle für den Zugriff auf HTML- oder XMLDokumente und wird seit 1998 vom W3C-Konsortium gepflegt und weiterentwickelt. Ziel von DOM ist die Entwicklung einer plattformunabhängigen Schnittstelle für die Verarbeitung von XML-Dokumenten. 77
202
Quelltext 27: Programmcode für die Erzeugung der Instanz Document mit JDOM
// Erzeuge ein Dokument Element pnmlElement = new Element("pnml"); Document myDocument = new Document(pnmlElement); JENA2: Java API für RDF/OWL Die auf Java basierende JENA2-API79 beinhaltet eine Reihe von Klassen und Methoden zur Manipulation von RDF und OWL. Im Paket com.hp.hpl.jena.vocabulary sind sämtliche Syntaxelemente von RDF, RDF Schema und OWL als Attribute der Vokabularklassen
RDF,
RDFS
bzw.
OWL
implementiert.
Im
Paket
com.hp.hpl.jena.rdf.model ist unter anderem die Klasse ModelFactory enthalten, welche Methoden definiert, mit denen unterschiedliche speicher- oder datenbankbasierte RDF- bzw. OWL-Modelle erzeugt werden können. In diesem Paket und in dem Paket com.hp.hpl.jena.ontology unterstützen die Methoden Model, Resource,
Property und Literal das Erzeugen, Ändern und Anfragen von RDF-Elementen bzw. die Methoden OntModel, OntClass, ObjectProperty, DatatypeProper-
ty, Restriction und Ontology das Erzeugen und Ändern von OWL-Elementen. Quelltext 28 zeigt einen Ausschnitt aus dem Programmcode zur Implementierung eines Ontologiekonzepts und dessen Eigenschaften. Dabei wurde die Methode
createClass in der Klasse petri definiert und durch einen Resource type (PETRI) und einen String ("Place") beschrieben. Quelltext 28: Programmcode für die Erzeugung eines Konzepts und einer Eigenschaft mit JENA2
// Erzeuge das Konzept Place und die Eigenschaft transRef public static final OntClass Place=petri.createClass(PETRI+"Place"); transRef.addDomain(Place); KAON2: Java API für OWL KAON2 (Karlsruher Ontology Management System) stellt eine Alternative zu JENA2 für die Manipulation von RDF und OWL dar. Im Gegensatz zu JENA2 bietet KAON2 einen entscheidbaren Schlussfolgerungsmechanismus für OWL [HuMS04] an. Zudem unterstützt KAON2 die Modellierung von Regeln, die mit der Semantic Web Rule Language beschrieben werden (siehe Kapitel 6.2.1.). Die Integration von KAON2 in SemPeT erfolgte nach erfolgreicher Einbindung von JENA2; generell könnte
79
http://jena.sourceforge.net/
203
KAON2 die OWL-Serialisierung von Petri-Netzen zu semantischen Geschäftsprozessmodellen ebenfalls übernehmen. SWT: Widget-Toolkit API Das Standard Widget Toolkit80 (SWT) ist in JAVA implementiert und unterstützt die Programmierung von Benutzungsoberflächen. Zur Oberflächenprogrammierung werden nur Klassen des jeweiligen Client-Betriebssystems verwendet, um die Oberfläche im gewohnten Look-and-Feel zu erstellen. Die Erzeugung von Oberflächen ist unter anderem mit den Paketen org.eclipse.swt, org.eclipse.swt.widgets, org.eclipse.swt.events und org.eclipse.swt.layout
möglich. Das Paket
org.eclipse.swt.widgets gibt die beiden Objekte Display und Shell vor. Das Display-Objekt ist für die grundlegende Kommunikation mit dem verwendeten Toolkit und dem darunter liegenden Betriebssystem zuständig, während das ShellObjekt für das Erzeugen eines Fensters verantwortlich ist. In einem Programm kann es durchaus mehrere Shell-Objekte und damit auch mehrere Fenster gleichzeitig geben.
Graphische
Vorgaben
wie
Font
oder
Layout
sind
im
Paket
org.eclipse.swt.layout enthalten. Klassen und Methoden, beispielsweise zur Bewegung der Maus, sind im Paket org.eclipse.swt.events implementiert. Draw2D: Die Graphikbibliothek Draw2D81 unterstützt die Erstellung von graphischen Objekten und kann zusammen mit SWT genutzt werden. Das Zusammenspiel von SWT und Draw2D veranschaulicht Abbildung 7682. Draw2D-Figuren (IFigure) werden in einem LightweightSystem („Universum, in dem Draw2D-Objekte leben“) erstellt und benötigen zunächst eine Zeichenfläche (SWTCanvas), auf der sie modelliert werden können. Dabei ist jedes Canvas-Objekt eine Figur (IFigure), die wiederum Figuren enthalten kann und auf diese Weise eine Hierarchie bildet. Das Wurzelelement dieser Hierarchie ist die Root Figure. Das LightweightSystem setzt SWT-Events in passende Draw2D-Events um und passt diese an die Figuren an. Ein Update-Manager stellt sicher, dass eintreffende SWT-PaintEvents sowie Änderungen in den Figures von den betroffenen Figures selbst durch Neuzeichnen sichtbar gemacht werden; zum Zeichnen wird eine eigene Graphics-Klasse vom Update-Manager übergeben; von SWT werden die Layoutkonstrukte FONT, COLORS und IMAGE wieder verwendet.
80 81 82
http://www.eclipse.org/swt/ http://www.eclipse.org/gef/ Das Draw2D Developer’s Guide (inkl. Abbildung) ist in der Hilfefunktion von Eclipse beschrieben
204
Abbildung 77: Zusammenspiel von SWT und Draw2D
Quelltext 29 zeigt die Implementierung der Benutzungsoberfläche von SemPeT inklusive einer Zeichenfläche (ohne Menübar). Die Benutzungsoberfläche (shell) hat eine Größe von 640 mal 480 Pixel. In dieser Benutzungsoberfläche gibt es eine Zeichenfläche (Canvas) mit einer entsprechenden Größe (50, 56, 2000, 2000). In der Zeichenfläche
können
Draw2D-Figuren
gezeichnet
werden
(Lightweight-
System(canvas)). Quelltext 29: Programmcode zur Implementierung einer Benutzungsoberfläche und einer Zeichenfläche mit SWT und Draw2D
public Editor() { Display display = new Display(); Shell shell = new Shell(); Composite parent = new Composite(shell, SWT.FILL); shell.setSize(640, 480); Canvas canvas = new Canvas(parent, SWT.NONE); canvas.setBounds(50, 56, 2000, 2000); Figure contents = new Figure(); XYLayout contentsLayout = new XYLayout(); contents.setLayoutManager(contentsLayout); petrinet = new PetriNetImpl(contents, shell); LightweightSystem lws = new LightweightSystem(canvas);
205
shell.setLayout(new FillLayout(SWT.VERTICAL)); Figure f = new Figure(); contents.add(f, new Rectangle(0, 0, 2000, 2000)); lws.setContents(contents); shell.open(); } JFace: Die Java-Bibliothek JFace83 ermöglicht die Programmierung von GUIs und stellt unter anderem Methoden bereit, mit denen Dialoge (jface.dialogs.*), Fortschritte von lang andauernden Operationen (jface.operation.*) sowie Ressourcen - wie SWT FONTS und IMAGES - (jface.resource.*) verwaltet werden können. In SemPeT werden alle drei Pakete benutzt; beispielsweise wird die Klasse ProgressMonitorDialog im Paket jface.operation.IRunnableWithProgress benutzt, um dem Benutzer den Fortschritt der Ähnlichkeitsberechnung anzuzeigen.
8.2.2 Logikkomponente Die Logikkomponente ist in mehrere Pakete unterteilt, die unterschiedliche Aufgaben erfüllen. Die Umsetzung der in den vorhergehenden Kapiteln beschriebenen Methoden erfolgt mit den Klassen ActionXMLExport (XML-Serialisierung), ActionOWLExport (OWL-Serialisierung) und DialogRecommender (Empfehlungskomponente). Die Ähnlichkeitsmessung und die OWL-Anfragesprache für Ähnlichkeitswerte
wurden
in
den
Programmierschnittstellen
edu.unika.aifb.rules.
nonOntologies und edu.unika.aifb.rules.query realisiert. XML-Serialisierung Die Serialisierung von Petri-Netzen nach XML erfolgt mit der JDOM-API. Die Klasse ActionXMLExport enthält die Methode exportXML(), die die entsprechenden XMLElemente aus Petri-Netz-Modellen erzeugt. Zunächst müssen die Pakete importiert werden, die alle notwendigen Werkzeuge für den Umgang mit JDOM bereitstellen. Darüber hinaus müssen auch die Eingabe-/Ausgabeklassen von Java eingebunden werden:
import java.io.*; import org.jdom.*; import org.jdom.input.*; import org.jdom.output.*;
83
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jface/
206
In dieser Klasse werden die XML-Elemente und -Attribute für Pr/T-Netze – wie im nachfolgenden Quelltext 30 auszugsweise veranschaulicht – erzeugt. Quelltext 30: Programmcode für die XML-Serialisierung von Pr/T-Netzen
//PNML-Element wird erstellt Element pnmlElement = new Element("pnml"); //PNML-Element wird als Wurzelelement eines neuen Dokuments bestimmt Document myDocument = new Document(pnmlElement); //Net-Element wird erstellt und dem PNML-Element hinzugefügt Element netElement = new Element("net"); netElement.setAttribute("id", "n1"); netElement.setAttribute("type", "PrTML"); pnmlElement.addContent(netElement); //Page-Element wird erstellt und bekommt id- und Pr/T-Netz-Attribute zugewiesen Element pageElement = new Element("page"); pageElement.setAttribute("id", "Pr/T-Netz"); netElement.addContent(pageElement); OWL-Serialisierung JENA2 erzeugt eine Darstellung von semantischen Geschäftsprozessmodellen in OWL-Syntax mit der Methode owlExport(), die in der Klasse ActionOWLExport verwendet wird. Zunächst müssen die entsprechenden JENA2-Pakete, die eine OWL-Ausgabe unterstützen, und die Eingabe-/Ausgabeklassen von Java importiert werden:
import java.io.*; import java.util.*; import com hp.hpl.jena rdf model.RDFWriter ; Die OWL-Elemente der Pr/T-Netz-Ontologie werden in den beiden Klassen Petri und PetriModel erzeugt und müssen in die Klasse ActionOWLExport importiert werden:
import org.sempet.owl.Petri; import org.sempet.owl.PetriModel;
207
In der Klasse PetriModel sind die Methoden createClass() und createStatement() definiert, mit denen die Konzepte und Eigenschaften der Pr/T-NetzOntologie instanziiert werden. Quelltext 31 zeigt die Erzeugung einer RDF/XMLSyntax, die zunächst nur aus dem Dokumentnamen (modelName), der Eigenschaft hasNode und dem Konzept Place (Instanzen für Place werden über die Methode getLabel() zugewiesen) besteht. Für alle Konzepte Place wird zunächst eine OWLKlasse erzeugt und ein Leerzeichen im Konzeptnamen durch '_' ersetzt (send confirmation Æ send_confirmation), da OWL-Instanzen einer URI entsprechen müssen und kein Leerzeichen erlaubt ist. Anschließend wird eine RDF/XML-Syntax (createStatement) erzeugt. Quelltext 31: Programmcode für die OWL-Serialisierung der Pr/T-Netz-Ontologie
// Erzeuge ein OWL-Modell modelName = outputFile.getName().replace(".owl", ""); pm = new PetriModel(modelName); //Erzeuge die Eigenschaft hasNode und das Konzept Place Iterator itPlaces = petrinet.getPlaces().iterator(); while (itPlaces.hasNext()) { Place p = itPlaces.next(); pm.createClass(Petri.Place, p.getLabel().replace(' ', '_')); pm.createStatement(modelName,Petri.hasNode,p.getLabel(). replace('',' ')); Berechnung von Ähnlichkeiten Die automatische Berechnung von Ähnlichkeiten zwischen semantischen Geschäftsprozessmodellen wird von dem Alignment-Werkzeug FOAM84 unterstützt. Da FOAM nur Ähnlichkeitsberechnungen zwischen Konzepten und Eigenschaften in Ontologien unterstützt, war es notwendig, FOAM an die Eigenschaften von semantischen Geschäftsprozessmodellen
anzupassen.
Das
erweiterte
und
angepasste
FOAM-
Werkzeug kann in SemPeT unter Tools Æ Similarity aufgerufen werden. Für die Ähnlichkeitsmessung muss der Benutzer zwei semantische Geschäftsprozessmodelle in OWL-Syntax auswählen (siehe Abbildung 77) und anschließend einen Ausgabeordner für die Ähnlichkeitswerte bestimmen. Über den Compute-Button wird der Algorithmus zur Ähnlichkeitsberechnung aufgerufen. Der Benutzer kann sich die Ergebnisse aus der Ähnlichkeitsmessung über Show Similarity Results anzeigen lassen.
84
Framework for Ontology Alignment and Mapping, http://www.aifb.uni-karlsruhe.de/WBS/meh/foam/
208
Abbildung 78: Dialogfenster für Ähnlichkeitsberechnungen
Die Berechnung der Ähnlichkeiten wird in FOAM mit KAON2 realisiert. Zudem werden noch die WordNet-Bibliotheken (Zugang über die API jwnl.jar) zur Berechnung der linguistischen Ähnlichkeit benötigt. Die Berechnung der syntaktischen Ähnlichkeit ist in der Klasse SyntacticNumber.java implementiert. Mit Hilfe von WordNet wird die linguistische Ähnlichkeit über die Klassen PetriWordnetlookup und Wordnetlookup bestimmt. Die strukturelle Ähnlichkeit wird durch die Kontextelemente, die in der Klasse PetriRule.java definiert sind, berechnet. Die Bestimmung des Abstraktionsniveaus zwischen Instanznamen ist in der Klasse WuPalmerSimilarity implementiert. Anfragesprache Die Benutzung der Anfrageoberfläche erfolgt über die Klasse QueryDialog. Dabei müssen zunächst die beiden semantischen Geschäftsprozessmodelle sowie ein temporäres Verzeichnis für die Speicherung der Daten aus der Ähnlichkeitsberechnung angegeben werden (siehe Abbildung 78). Eine weitere Konfigurationsmöglichkeit ist die Angabe eines Filters. Ein Filter ist eine Menge von regulären Ausdrücken, mit denen die in den semantischen Geschäftsprozessmodellen enthaltenen Elemente reduziert werden können. Der Filter ergibt sich direkt aus dem Kriterium Adäquatheit, das in Kapitel 5.3 beschrieben wurde. Standardmäßig besteht der Filter aus #R_, #LogCon, #Con_ und #Op_ und entfernt diese Instanzen aus dem Anfrageergebnis.
209
Abbildung 79: Konfiguration der Anfrage
Die folgende Abbildung zeigt die Eingabemaske für eine konkrete Anfrage. Neben der manuellen Eingabe einer Anfrage kann auch eine der vorhandenen exemplarischen Anfragen aufgerufen und bei Bedarf angepasst werden. Abbildung 80: Dialogfenster der OWL-Anfragesprache
Nachdem eine Anfrage erstellt und gestartet wurde, wird die Anfrage im QueryMediator verarbeitet. Der QueryMediator übergibt die Anfrage dabei im ersten Schritt an den QueryParser. Konnte der QueryParser die Anfrage verarbeiten, wird anhand des zurückgegebenen Ergebnisses eine Ergebnisstruktur erzeugt. Diese Ergebnis-
210
struktur wird in einer Instanz der Klasse QueryResult hinterlegt. Eine solche QueryResult-Instanz wird dann an den QueryDialog zurückgegeben, der das Ergebnis in dem entsprechenden Feld textuell darstellt. Der QueryParser ist der Kern der Anfragekomponente. Eine Anfrage wird im ersten Schritt auf syntaktische Korrektheit geprüft. Ist diese Prüfung erfolgreich, wird die Anfrage in die einzelnen Teilanweisungen aufgeteilt („Parsing“). Jede geparste Einzelanweisung löst dabei eine Aktion aus, die in einem Puffer zwischengespeichert wird. Nachdem dieser Puffer aufgebaut ist, werden die abzuarbeitenden Aktionen anhand ihrer Funktion in Gruppen und – sofern notwendig – in eine Abarbeitungsreihenfolge gebracht. Die Abarbeitung ist dabei eine Folge von Funktionsaufrufen, die durch die definierte Grammatik gegeben ist. Zur programmatischen Umsetzung der Grammatik wurde das Programm JavaCC85 verwendet. In der Klasse QueryResult wird ein ermitteltes Ergebnis gespeichert. Ein QueryResult kann entweder textuell durch den QueryDialog dargestellt oder als Datenstruktur weiterverarbeitet werden. Modellierungsunterstützung Die im Kapitel 6.3 vorgestellte Übersetzung von natürlichsprachlich beschriebenen Geschäftsregeln in SWRL-Regeln wurde mit einem Regel-Konverter realisiert, da eine manuelle Transformation von Regeln nach SWRL fehleranfällig ist. Zudem werden bei der automatischen Übersetzung Stoppwörter86 entfernt. Über die SWRLRegeln kann dann mit der Jess Rule-Engine87 inferiert werden. Abbildung 80 zeigt die graphische Oberfläche des SWRL-Konverters. Im oberen Fenster wird die Regel mit der Syntax IF…THEN eingegeben und über den Button Convert To SWRL Rules nach SWRL konvertiert. Abbildung 81: Graphische Oberfläche des SWRL-Konverters
85 86 87
Java Compiler Compiler https://javacc.dev.java.net/ http://www.unine.ch/Info/clef/englishST.text; Beispiele für Stoppwörter sind and, or, its, our, etc. http://herzberg.ca.sandia.gov/jess/
211
Die Realisierung der Schnittstelle zwischen dem SWRL-Konverter und der Modellierungsoberfläche von SemPeT erfolgte mit JENA und Jess. Die Klasse DialogRecommendation enthält die Methode DialogRecommendation(), die ein Dialogfenster für die Empfehlungskomponente bereitstellt (siehe Abbildung 81). Der Benutzer kann den für ihn passenden Folgeprozess über den Button Select auswählen. Über den Button Insert Elements werden die ausgewählten Prozesselemente in der Zeichenfläche von SemPeT eingefügt. Abbildung 82: Dialogfenster der Modellierungsunterstützung
8.2.3 Präsentationskomponente Die Oberfläche von SemPeT basiert auf SWT, das bereits beschrieben wurde. Der Benutzer kann aus den fünf Menüpunkten File, Edit, Import/Export, Tools und Help die für ihn relevanten Funktionsaufrufe auswählen. Über die Buttons Place und Transition können dann Stellen und Transitionen eingefügt werden. Zur Erzeugung einer Verknüpfung zwischen Stellen und Transitionen (und umgekehrt) muss der Benutzer zunächst die beiden zu verknüpfenden Elemente auswählen. Diese werden dann rot markiert und eine Verknüpfung wird erzeugt. Über die rechte Maustaste (über einem ausgewählten Element) kann der Benutzer die Elemente benennen.
212
Außerdem können so den Stellen die jeweiligen Attribute und den Transitionen die zugehörigen Inschriften zugewiesen werden. Die linke Menüleiste soll Benutzern die Modellierung erleichtern, indem vorgegebene Modellierungsmuster angeboten werden. So entspricht t-2p der Erzeugung einer Transition, die im Nachbereich zwei Stellen hat. Der Export nach XML und OWL ist über den Menüpunkt Import/Export möglich. In der SemPeT Version 1.3. wurde bisher noch keine Funktion implementiert, die den Import von OWL- und XML-Dateien unterstützt. Zugang zu Ähnlichkeitsberechnung, Abfragesprache und Empfehlungssystem haben die Benutzer über den Menüpunkt Tools. Abbildung 83: Oberfläche von SemPeT
SemPeT ist frei verfügbar und kann unter der URL http://aifbserver.aifb.unikarlsruhe.de/sempet/index.htm heruntergeladen werden.
213
9
Anwendungsszenarien für semantische Geschäftsprozessmodelle und Ähnlichkeitsmaße
In diesem Kapitel werden mögliche Anwendungsszenarien für Ähnlichkeitsmaße und die OWL-basierte Anfragesprache für Ähnlichkeitsmaße vorgestellt. Im nächsten Abschnitt (9.1) wird eine Methode zur Integration von semantischen Geschäftsprozessmodellen resultierend aus verschiedenen Prozessmodellierungssprachen vorgestellt. Diese unterstützt die Berechnung von Ähnlichkeitswerten zwischen Prozesselementnamen verschiedener Modellierungssprachen, wie sie im Abschnitt 9.2 präsentiert werden.
9.1 Integration verschiedener semantischer Geschäftsprozessmodelle Unternehmen, die in der gleichen Branche tätig sind, können nicht nur ein unterschiedliches Vokabular zur Beschreibung von Prozesselementnamen, sondern auch eine unterschiedliche Modellierungssprache für Geschäftsprozessmodelle verwenden. Zur Bestimmung der Ähnlichkeit von methodisch unterschiedlich modellierten Geschäftsprozessen müssten Abbildungsregeln definiert werden, damit semantisch korrespondierende Konstrukte der unterschiedlichen Modellierungssprachen identifiziert und verglichen werden können. Zur Berechnung der Ähnlichkeit zwischen Ereignisgesteuerten Prozessketten (EPK) und Petri-Netzen werden EPKs zunächst in OWL-Syntax beschrieben. Anschließend können Ähnlichkeitsmaßen (wie sie im Kapitel 4.6 definiert wurden) für methodisch unterschiedliche Modellierungssprachen angewendet werden.
9.1.1 Vorgehensweise Zur Integration von semantischen Geschäftsprozessmodellen bieten sich – angelehnt an Ontologieintegrationsmethoden aus der Literatur – zwei Hauptparadigmen
214
an [NoMu99, PiMa01]: es können Prozessmodelle zu einem zentralen Modell zusammengefasst werden (Ontologie-Zusammenführung) oder Prozessmodelle werden erweitert und aneinander angepasst (Ontologie-Anpassung). Bei der OntologieZusammenführung wird ein einzelnes kohärentes, semantisches Geschäftsprozessmodell erzeugt, das die zwei ursprünglichen semantischen Geschäftsprozessmodelle vereinheitlicht. Wenn zwei semantische Geschäftsprozessmodelle angepasst werden, bleiben die zwei ursprünglichen Prozessmodelle erhalten – allerdings mit einer Vielzahl von Verbindungen, die zwischen ihnen eingerichtet wurden und die es den angepassten Prozessmodellen erlauben, die Informationen der anderen zu nutzen. Die technische Umsetzung des ersten Paradigmas findet sich bei Mitra, Wiederhold und Kersten [MiWK00]. In dieser Arbeit wird zur Bestimmung von Ähnlichkeitsmaßen zwischen EPKbasierten und Petri-Netz-basierten semantischen Geschäftsprozessmodellen eine Vorgehensweise analog dem Integrationsverfahren nach Rizopoulos und McBrien [RiMc05] und Schmitt und Saake [ScSa05] abgeleitet. Zur Berechnung von Ähnlichkeiten sind zwei Schritte notwendig: 1. semantische Geschäftsprozessmodellvorbereitung und 2. semantische Geschäftsprozessmodellabstimmung. Semantische Geschäftsprozessmodellvorbereitung Methodisch unterschiedliche Modellierungssprachen benutzen verschiedene Konstrukte und Beziehungen zwischen den Konstrukten, um den Kontrollfluss von Geschäftsprozessmodellen darzustellen. Für die Identifikation der Struktur und der Beziehungen zwischen den Konstrukten wird ein Metamodell benötigt, das alle Konstrukte eindeutig beschreibt. Zur Darstellung des Metamodells wird die Unified Modeling Language (UML) verwendet. Die Abbildungen 83 und 84 zeigen die Elemente eines einfachen Petri-Netzes bzw. einer Ereignisgesteuerten Prozesskette in UMLNotation. Laut Definition 6 besteht ein Petri-Netz aus einer Menge von Stellen, einer Menge von Transitionen und einer Flussrelation. Im Kapitel 3.2 wurde aufbauend auf der Petri-Netz-Definition zunächst eine Ontologie für elementare Petri-Netze definiert, wie sie in Abbildung 83 veranschaulicht ist.
215
Abbildung 84: UML-basierte Darstellung der Petri-Netz-Ontologie
EPKs sind eine semiformale Modellierungssprache und bestehen aus Ereignisse, Funktionen und vier Typen von Konnektoren (AND, OR, XOR und Arc). Analog zur Petri-Netz-Ontologie besteht eine EPK-Ontologie aus den Konzepten Event, Function und Connector, der sich in einen AND-, XOR- und OR-Operator und eine direkte Kante aufteilen lässt. Abbildung 85: UML-basierte Darstellung der EPK-Ontologie
Die UML-Notation der Petri-Netz- und der EPK-Ontologie veranschaulichen die Hauptelemente der beiden Geschäftsprozessmodellierungssprachen. Mit Hilfe dieser Notation können semantisch korrespondierende Konzepte und Beziehungen identifiziert werden. Semantische Geschäftsprozessmodellabstimmung Die semantische Geschäftsprozessmodellabstimmung ist der wichtigste Schritt des Integrationsprozesses. Die Konstrukte der beiden zu Grunde liegenden semantischen Geschäftsprozessmodelle (sGPM) sollen in ihrer Bedeutung verglichen werden. Anschließend wird die semantische Beziehung zwischen den Prozesselementen bestimmt. Nach Rizopoulos und McBrien gibt es vier Typen von semantischen Be-
216
ziehungen, die anhand ihrer intentionalen Domänen Di (A) und Di (B) , d.h. alle möglichen validen Instanzen von Elementen A und B, miteinander verglichen werden können:
•
Äquivalenz: zwei sGPM-Konstrukte A und B sind äquivalent genau dann, s
wenn Di (A) = Di (B) . Man schreibt A = B.
•
Subsumption: sGPM-Konstrukt A ist Teilmenge von sGPM-Konstrukt B genau dann, wenn Di (A)
•
s
⊂ Di (B) . Man schreibt A ⊂ B.
Durchschnitt: zwei sGPM-Konstrukte A und B besitzen einen Durchschnitt s
genau dann, wenn Di (A) ∩ Di (B) ≠ ∅ . Wir schreiben A ∩ B ≠ ∅ .
•
Disjunktion: zwei sGPM-Konstrukte A und B besitzen keinen Durchschnitt genau dann, wenn Di (A)
Di (B) = ∅ . Wir schreiben A
B
=
∅.
Für die semantischen Geschäftsprozessmodelle für EPKs und Petri-Netze ergeben sich folgende Äquivalenzen wie in Tabelle 28 dargestellt. Im Gegensatz zu EPKs gibt es bei Petri-Netzen keine Verknüpfungsoperatoren; Operatoren werden in PetriNetzen implizit und nicht wie bei EPK explizit modelliert; die OWL-Konstrukte FromPlace und ToPlace der Petri-Netz-Ontologie haben als korrespondierendes Konstrukt in der EPK-Ontologie Arc (allerdings mit jeweils unterschiedlichem Wertebereich).
217
Tabelle 28: Semantische Beziehungen zwischen Konstrukten der Petri-Netz- und EPKOntologie
Petri-Netz-Ontologie
EPK-Ontologie
Semantische Beziehung
PetriNet
EPK
Place
Event
Transition
Function
ToPlace
Arc (range hasFunction)
FromPlace
Arc (range hasEvent)
transRef
functionRef
placeRef
eventRef
hasNode
hasEvent, hasFunction
hasArc
hasConnector
s
P=E s
P=E s
P=E s
P=E s
P=E s
P=E s
P=E s
P=E s
P=E
In OWL-Syntax wird die Umsetzung der Äquivalenzbeziehung zwischen zwei sGPMKonstrukten durch die Klasse bzw. die Eigenschaft ausgedrückt. Im Quelltext 32 ist beispielhaft die Äquivalenzbeziehung zwischen Place und Event und zwischen placeRef und eventRef in OWLSyntax modelliert. Quelltext 32: Äquivalenzen von Klassen und Eigenschaften
9.1.2 Realisierung Am Beispiel des Petri-Netzes und der EPK in Abbildung 85 wird deren Serialisierung in OWL-Syntax erklärt. Beide Prozesse modellieren einen Ausschnitt einer Flugbu-
218
chung: „Nachdem ein Flug gebucht wurde, wird das Flugticket versendet und der Buchungsprozess beendet“. Abbildung 86: Ein Beispiel für ein Petri-Netz und ein EPK
Die Serialisierung von Petri-Netz-Elementen in OWL-Syntax wurde ausführlich im 3. Kapitel erklärt. Analog zu dieser Serialisierung ergibt sich für das EPK aus Abbildung 85 die OWL-Syntax wie im Quelltext 33 wiedergegeben ist. Auf die nachfolgende Funktion eines Ereignisses wird über den Wertebereich der Eigenschaft eventRef verwiesen. Über den Wertebereich der Eigenschaft functionRef wird auf nachfolgende Funktionen von Ereignissen verwiesen. Quelltext 33: OWL-Syntax für Petri-Netz und EPK aus Abbildung 85
……