<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Modellierung von EPKs im Web mit Oryx</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stefan Krumnow</string-name>
          <email>stefan.krumnow@student.hpi.uni-potsdam.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gero Decker und Mathias Weske</string-name>
          <email>gero.decker@hpi.uni-potsdam.de</email>
          <email>mathias.weske@hpi.uni-potsdam.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Hasso-Plattner-Institut an der Universita ̈t Potsdam</institution>
        </aff>
      </contrib-group>
      <fpage>5</fpage>
      <lpage>17</lpage>
      <abstract>
        <p>Ereignisgesteuerte Prozessketten werden ha¨ufig zur Prozessmodellierung in betrieblichen Anwendungen eingesetzt. Besonders hilfreich sind Prozessmodelle dann, wenn die Prozessbeteiligten auf die Modelle einfach zugreifen und sie bei Bedarf sogar vera¨ndern ko¨nnen. In diesem Beitrag stellen wir Oryx vor, eine webbasierte Plattform zur Erstellung, Speicherung und gemeinsamen Bearbeitung von Prozessmodellen. Oryx ist erweiterbar, so dass projektspezifische Erweiterungen einfach realisierbar sind. Auf diese Weise ko¨nnen auch neue Forschungsergebnisse mit vergleichsweise geringem Aufwand implementiert und evaluiert werden.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Einleitung</title>
      <p>der u¨blichen Funktionen bereitstellt, kann unno¨tige Reimplementierung vermieden
werden und die Integration verschiedener Prototypen erreicht werden.</p>
      <p>Dieses Papier stellt Oryx vor, eine offene Plattform, die durch seine Erweiterbarkeit die
schnelle Entwicklung von akademischen Prototypen ermo¨glicht. Daru¨ber hinaus erlaubt
Oryx einfachen Zugriff auf Modelle und vermeidet Versionskonflikte, da es sich dabei um
eine webbasierte Lo¨sung handelt.</p>
      <p>Das Papier gliedert sich in folgende Abschnitte: Zuna¨chst wird die Architektur von Oryx
erla¨utert, bevor Abschnitt 3 die EPK-spezifischen Teile von Oryx einfu¨hrt. Abschnitt 4
gibt einen U¨ berblick u¨ber verwandte Arbeiten und Abschnitt 5 schließt das Papier mit
Zusammenfassung und Ausblick ab.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Oryx-Systemarchitektur</title>
      <p>Oryx ist ein webbasiertes Prozessmodellierungstool. Abbildung 1 zeigt einen Screenshot
des Systems. Zu sehen ist, dass Oryx in einem Standardwebbrowser la¨uft und das
Modell durch eine URL eindeutig identifiziert wird. Dieser Link kann an andere Modellierer
verschickt werden, sodass diese einfachen Zugriff auf das Modell haben, ohne Software
auf dem eigenen Rechner installieren zu mu¨ssen. Voraussetzung ist natu¨rlich, dass
entsprechende Zugriffsrechte fu¨r das Modell vergeben wurden. Diese sind no¨tig, da nicht jeder ein
Prozessmodell einsehen ko¨nnen soll. Andere Modellierer ko¨nnen, wieder entsprechende</p>
      <sec id="sec-2-1">
        <title>Abbildung 1: Oryx zur Modellierung einer EPK</title>
        <p>Zugriffsrechte vorausgesetzt, das Modell modifizieren. Kollaboratives Modellieren u¨ber
das Web ist somit mo¨glich.</p>
        <p>Oryx ist gerade fu¨r Szenarien geeignet, in denen Modellierer aus verschiedenen
Organisationen auf die gleichen Modelle zugreifen mu¨ssen. Zum einen umgeht man mit Oryx das
Problem, dass unterschiedliche (und mo¨glicherweise inkompatible) Versionen von
Software in den verschiedenen Organisationen installiert sind. Zum anderen besteht beim
verteilten Zugriff nicht das u¨bliche Problem, dass verschiedene Organisationen unterschiedliche
Benutzerverwaltungen verwenden, oder dass man ein separates Benutzerkonto eigens fu¨r
das Prozessmodellierungswerkzeug anlegen und pflegen muss. Dies ist mo¨glich, da die
Authentifizierung u¨ber OpenID [ope07] realisiert ist. Bestehende Benutzerkonten ko¨nnen
somit wieder verwendet werden.</p>
        <p>Oryx ist darauf ausgelegt, einfach sowohl um neue Notationen als auch um zusa¨tzliche
Funktionalita¨t erweitert zu werden. Da er als Open-Source Projekt zur Verfu¨gung steht,
kann jede an Prozessmodellierung interessierte Organisation Weiterentwicklungen
vornehmen. Hierbei profitieren vor allem Forscher, die fu¨r neue Modellierungsverfahren nicht
mehr eigene Insel-Prototypen erstellen mu¨ssen, sondern sie innerhalb einer existierenden
Lo¨sung integrieren und erproben ko¨nnen.</p>
        <p>Auf Grund seiner guten Erweiterbarkeit unterstu¨tzt Oryx neben EPKs auch weitere
Modellierungssprachen wie die Business Process Modeling Notation (BPMN) in den
Versionen 1.0 [bpm06] und 1.1 [bpm08], sowie Petri- und Workflow-Netze [vdAvH02]. Neben
Standardmodellierungsfunktionen wie Copy&amp;Paste, dem Ausrichten von
Modellelementen oder dem Layouting von Kanten, werden auch notationsabha¨ngige Funktionen
angeboten. So ko¨nnen BPMN-Diagramme in Petri-Netze transformiert oder EPKs im- und
exportiert werden. Diagramme einer jeden Notation lassen sich zudem auch als PDF oder
PNG exportieren.
2.1</p>
        <sec id="sec-2-1-1">
          <title>Genutzte Technologien</title>
          <p>Um Oryx als Webseite in einem Browser anzeigen lassen zu ko¨nnen, ist die Verwendung
verschiedener Webtechnologien no¨tig. Bevor jedoch auf diese eingegangen werden kann,
soll zuna¨chst die Architektur von Oryx vorgestellt werden (siehe Abbildung 2). Oryx
besteht aus einem in den Browser geladenen Client, in dem das Modell editiert wird, und
einem Backend, das eine Menge von Prozessmodellen vorha¨lt.</p>
          <p>Zur Anzeige des Editor-Clients werden vor allem JavaScript-Routinen verwendet, die als
Teil eines Dokuments in einen Browser geladen werden. Dieses u¨ber eine URL
adressierbare Dokument entha¨lt ein Prozessmodell, das im Embedded RDF (eRDF [Dav06])
Format vorliegt. eRDF ermo¨glicht es, Metadaten direkt in ein HTML Dokument zu schreiben
und daraus RDF zu extrahieren. Die Benutzung von RDF macht Oryx-Modelle einfach
portierbar.</p>
          <p>Die mit dem Prozessmodell mitgelieferten JavaScript Routinen sind dafu¨r verantwortlich,
die grafische Benutzerschnittstelle zu erzeugen und Modellierungsfunktionalita¨t
bereitzustellen. Modellelemente des aktuellen Diagramms finden sich als JavaScript-Objekte im
User</p>
          <p>Browser</p>
          <p>Oryx Core</p>
          <p>Language Def.
(Stencil Set)</p>
          <p>PPlulguignisns
Process Model</p>
          <p>Oryx
Backend</p>
          <p>Process</p>
          <p>Model</p>
          <p>Repository</p>
          <p>Other systems</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Abbildung 2: Oryx-Systemarchitektur</title>
        <p>Browser wieder und ko¨nnen so manipuliert werden. Beim Speichern eines Modells
werden die Elemente im eRDF Dokument asynchron an das Backend geschickt und dort in
einer Datenbank gesichert.</p>
        <p>Die Benutzerschnittstelle, die neben der Zeichenfla¨che aus Toolbar, Shape Repository
und Property Pane besteht, ist mit Hilfe des ExtJS-Frameworks1 erstellt. ExtJS ist eine
JavaScript-UI-Bibliothek, die Widget-Typen fu¨r Rich Internet Application bereitstellt. Die
Zeichenfla¨che entha¨lt Modellelemente, die als Scalable Vector Graphics (SVG) in den
Browser geladen werden.</p>
        <p>Wie bereits beschrieben ist jedes Prozessmodell im Oryx durch eine URL eindeutig
adressiert. Dadurch ko¨nnen Modelle durch bloßes Weiterreichen der URL ausgetauscht werden.
Daru¨ber hinaus ko¨nnen Modellressourcen unterschiedliche Repra¨sentationen aufweisen.
So kann z.B. neben dem im Oryx editierbaren Dokument auch eine PDF-Repra¨sentation
eines Prozesses angefordert werden.</p>
        <p>Durch die OpenID-basierten Authentifizierung ko¨nnen A¨ nderungen an Prozessmodellen
– a¨hnlich wie in Wikis – nachverfolgt werden. Auf kritischen Ressourcen ko¨nnen zudem
die Rechte, die ein Nutzer hat, eingeschra¨nkt werden. Das System kennt hierbei die drei
Rollen Owner, Contributor und Viewer, wobei ein Contributor ein Modell vera¨ndern und
ein Viewer das Modell lediglich ansehen darf.
2.2</p>
        <sec id="sec-2-2-1">
          <title>Stencil Set Konzept</title>
          <p>Die Erweiterbarkeit ist eine der wichtigsten Eigenschaften von Oryx. Um verschiedene
Notationen in Modellierungsprojekten zu unterstu¨tzen, wurde Oryx mit einem
Mechanismus zum Auflo¨sen beliebiger aus Knoten- und Kantentypen bestehender
Modellierungs1Siehe http://extjs.com
sprachen versehen. Dabei wird eine solche Notation im Oryx durch ein so genanntes
Stencil Set repra¨sentiert. Stencil Sets werden beim O¨ ffnen eines Prozessmodels generisch in
den Editor geladen und erzeugen dort z.B. Eintra¨ge im Shape Repository und in der
Property Pane.</p>
          <p>Kernstu¨ck eines Stencil Sets ist eine in der JavaScript Object Notation (JSON) verfassten
Datei, die das Metamodell der Notation entha¨lt. In ihr werden die Typen aller
Modellelemente definiert. Jeder Elementtyp ist entweder Knoten oder Kante und verfu¨gt u¨ber eine
ID, einen Namen und eine Beschreibung. Zur grafischen Repra¨sentation existiert fu¨r jeden
Typ eine SVG Datei, die als Vorlage fu¨r die modellierten Elemente genutzt wird.
Daru¨ber hinaus verfu¨gt ein Typ u¨ber eine Menge von Properties, die bei der
Modellierung gesetzt werden ko¨nnen. Beispiel hierfu¨r ist der Name eines EPK Ereignisses oder die
URL eines durch eine Prozess-Schnittstelle referenzierten Subprozesses. Jede Property hat
einen Datentypen und einen Standardwert. Properties ko¨nnen an XML-Knoten innerhalb
der SVG Datei des gleichen Elementtyps gebunden werden. Dadurch erhalten die
Propertywerte wa¨hrend der Modellierung Einfluss auf die grafische Erscheinung des Elements.
Durch diesen Mechanismus wird zum Beispiel der Name einer EPK Funktion innerhalb
des sie repra¨sentierenden abgerundeten Rechtecks angezeigt.</p>
          <p>Um die Beziehungen, die zwischen Modellelementen bestehen du¨rfen, auszudru¨cken,
ko¨nnen im Stencil Set Kompositionsregeln angegeben werden. Dabei gibt es Regeln, die
festlegen, ob Elemente zweier Typen durch Knoten oder Kanten eines bestimmten Typs
verbunden werden du¨rfen. So kann beispielsweise ausgedru¨ckt werden, dass ein Ereignis
mit einer Funktion, nicht aber mit einem anderen Ereignis verbunden werden darf.
Außerdem kann geregelt werden, ob Elemente eines Typs in Elementen eines anderen Typs
enthalten sein du¨rfen. Auf Grundlage dieser Bedingungen wird beim Modellieren gepru¨ft,
ob neue Beziehungen korrekt sind. Daru¨ber hinaus werden aus den Verbindungsregeln
Vorschla¨ge fu¨r nachfolgende Elemente erzeugt, die dann durch Benutzung eines
Kontextmenu¨s einfach zu erstellen sind.</p>
          <p>Die Erweiterung von Oryx um eine zusa¨tzliche Notation ist sehr einfach: Es muss nur ein
neuer Unterordner im Stencil Set Verzeichnis angelegt werden. In diesem Ordner werden
die JSON sowie die Icon- und SVG-Grafikdateien der neuen Notation gespeichert.
Anschließend kann sofort damit begonnen werden, Modelle der neuen Notation zu erstellen.
2.3</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>Plugin Konzept</title>
          <p>Neben der Erweiterbarkeit durch Stencil Sets kann Oryx auch funktional durch Plugins
erweitert werden. Ein Plugin wird beim Laden von Oryx initialisiert und registriert dabei
seine Funktionalita¨t im Nutzerinterface. Durch Nutzerinteraktion kann die Funktionalita¨t
des Plugins angestoßen werden. Dabei hat es Zugriff auf die JavaScript-Objekte des
aktuellen Prozessmodells sowie auf alle anderen geladenen Ressourcen.</p>
          <p>Der Großteil der Modellierungsfunktionalita¨t von Oryx ist durch Plugins implementiert:
Wa¨hrend der Oryx Core aus Abbildung 2 fu¨r den Aufbau des Editor Layouts
verantwortlich ist, werden Funktionen wie das Ausrichten von Modellelementen oder auch das
Speichern der Modelle durch austauschbare Plugins realisiert. Zudem sind auch das Shape
Repository, die Property Pane und selbst die Toolbar, in der die meisten anderen Plugins
vertreten sind, als Plugin implementiert.</p>
          <p>Plugins werden in JavaScript programmiert. Außerdem muss ein Plugin in der
plugins.xmlDatei eingetragen werden. Dabei kann auch spezifiziert werden, dass ein Plugin nur fu¨r
Modelle eines bestimmten Stencil Sets geladen werden soll.</p>
          <p>In den vergangenen Monaten wurden schon zahlreiche Plugins entwickelt: So existieren
Im- und Exporter fu¨r Petri-Netze und ein Transformator, der BPMN in ausfu¨hrbare
PetriNetze u¨bersetzt. Auch im Bereich der EPKs werden Plugins genutzt: Ein Syntax-Check
kann genutzt werden, um die modellierten EPKs zu u¨berpru¨fen. Außerdem ko¨nnen diese
in EPML exportiert und aus EPML importiert werden.
3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Modellierung von EPKs mit Oryx</title>
      <p>Ereignisgesteuerte Prozessketten sind eine leicht versta¨ndliche, semi-formale Notation,
die in den fru¨hen 1990er Jahren entwickelt wurde [KNS92]. Sie ko¨nnen gut dazu genutzt
werde, Unternehmensabla¨ufe zu modellieren. Dabei nutzen EPKs bipartite Abfolgen von
Ereignissen und Funktionen, die durch Konnektoren verzweigt und zusammen gefu¨hrt
werden ko¨nnen.</p>
      <p>Im Folgenden wird gezeigt, welche Modellelementtypen existieren und in Oryx unterstu¨tzt
werden. Außerdem werden spezielle Modellierungsfunktionalita¨ten fu¨r Syntax Checks
sowie Im- und Exports vorgestellt.
3.1</p>
      <sec id="sec-3-1">
        <title>EPK Stencil Set</title>
        <p>EPKs bestehen in erster Linie aus Ereignissen und Funktionen. Funktionen stellen aktive
Elemente dar, die Aufgaben ausfu¨hren und dabei Daten erstellen oder vera¨ndern.
Ereignisse sind passive Komponenten, die den erreichten Zustand innerhalb der aktuellen
Prozesskette repra¨sentieren. Sie werden durch Funktionen erzeugt und verursachen ihrerseits
die Ausfu¨hrung weiterer Funktionen.</p>
        <p>Außerdem existieren Konnektoren, die verwendet werden ko¨nnen, um Abla¨ufe zu
verzweigen oder wieder zusammenzufu¨hren. Verzweigende Konnektoren haben einen
Eingangs- und zwei Ausgangsflu¨sse, wa¨hrend zusammenfu¨hrende Konnektoren zwei
Einga¨nge und einen Ausgang haben. Dabei gibt es drei Typen: disjunktive (XOR),
adjunktive (OR), und konjunktive (AND) Konnektoren.</p>
        <p>Verzweigende ANDs modellieren, dass zur Laufzeit beide ausgehende Pfade
abgearbeitet werden. XORs hingegen dru¨cken aus, dass nur einer der beiden ausgehenden Pfade
aktiviert wird. Die Entscheidung welcher der beiden Pfade das ist, wird durch das
Auftreten eines der beiden nachfolgenden disjunktiven Ereignisse getroffen. Aus diesem Grund
darf direkt nach einem verzweigenden XOR keine Funktion folgen. Das gleiche gilt fu¨r
verzweigende ORs. Hierbei ist es allerdings mo¨glich, dass beide Ereignisse auftreten und
daher auch beide Pfade abgearbeitet werden. Zusammenfu¨hrende Konnektoren haben eine
entsprechende Semantik: ANDs fu¨hren zwei ausgefu¨hrte Pfade zusammen, XORs
vereinen zwei Pfade, von denen genau einer ausgefu¨hrt wurde und ORs tun dies mit zwei
Pfaden, von denen wenigstens einer ausgefu¨hrt wurde.</p>
        <p>All diese Standardkonstrukte [KNS92, Wes07] werden von Oryx unterstu¨tzt, wie
Abbildung 3 zeigt. Dabei ist Oryx darauf ausgelegt, Diagramme zur Dokumentation
existierender und neuer Prozesse zu ermo¨glichen und damit zum besseren Versta¨ndnis dieser
beizutragen. Automatisch ausfu¨hrbare Modelle sind hierbei nicht vorgesehen.</p>
        <p>Abbildung 3: U¨ bersicht der EPK Stencils
Ereignisse und Funktionen verfu¨gen jeweils u¨ber eine Namen- und eine
BeschreibungsProperty, die es dem Modellierer ermo¨glichen, den Modellelementen eine Bedeutung
zuzuordnen. Im Zuge von EPK Modellierungsprojekten, die zusammen mit Industriepartnern
durchgefu¨hrt wurden, ergab sich der Bedarf nach zusa¨tzlichen Attributen. Diese Properties
sind Werte, die vor allem aus bisherigen Ausfu¨hrungen von Prozessen gewonnen werden
konnten. So kann im Oryx angegeben werden, wie ha¨ufig ein bestimmtes Ereignis
auftritt. Funktionen verfu¨gen u¨ber eine Property, die angibt, wie lang die durchschnittliche
Ausfu¨hrungszeit ist und an Kanten ko¨nnen Ausfu¨hrungswahrscheinlichkeiten annotiert
werden. Dies ist vor allem fu¨r Kanten, die einer XOR Verzweigung entspringen,
interessant und kann in Algorithmen genutzt werden, die die Komplexita¨t von EPK verringern
[PSW08b].</p>
        <p>Neben den Standard-EPKs existieren noch erweiterte Ereignisgesteuerte
Prozessketten (eEPKs). Diese zeichnen sich dadurch aus, das in die normalen Abla¨ufen auch
Zusta¨ndigkeiten sowie datenbasierte Informationen integriert werden ko¨nnen. Wa¨hrend
u¨ber die Menge an EPK Elementen Konsens herrscht, sind die Anzahl und Auspra¨gung
von eEPK Elementen nicht festgeschrieben.</p>
        <p>Abbildung 4: U¨ bersicht der eEPK Stencils
Um das Modellieren einfach und u¨bersichtlich zu halten, ist die Menge der unterstu¨tzten
Elementtypen mo¨glichst klein gehalten, wie Abbildung 4 zeigt. Dabei dient vor allem die
EPC Markup Language (EPML [MN05]) als Orientierung.</p>
        <p>Um verschiedene EPKs miteinander in Verbindung zu setzen, ko¨nnen
Prozessschnittstellen genutzt werden. Diese ko¨nnen innerhalb oder am Ende einer EPK mit Hilfe von
Sequenzfluss eingebunden werden und verweisen durch eine URL auf eine andere EPK, die
den Sub- oder Nachfolgeprozess modelliert. Zusta¨ndigkeiten lassen sich mit Hilfe von
Stellen- oder im Falle von Prozessen zwischen verschiedenen Organisationen durch
Organisationsknoten modellieren. Diese ko¨nnen mit Hilfe einer Relationsbeziehung an eine
Funktion angebunden werden.</p>
        <p>Auf die gleiche Art kann auch die Unterstu¨tzung oder Ausfu¨hrung einer Funktion durch
ein EDV-System modelliert werden. Letztendlich ko¨nnen Daten modelliert werden. Diese
ko¨nnen sowohl mit Ereignissen als auch mit Funktionen in gerichteten oder ungerichteten
Relationen auftauchen.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Syntax Checks</title>
        <p>Neben der Auswahl von Modellelementen ist vor allem deren korrekte
Kombination wa¨hrend der Modellierung von Bedeutung. Hierfu¨r bietet Oryx eine
zweistufige U¨ berpru¨fung der Modelle wa¨hrend der Erstellung und zu einem spa¨teren manuell
gewa¨hlten Zeitpunkt als Unterstu¨tzung an.</p>
        <p>Ein Stencil Set entha¨lt, wie bereits erwa¨hnt, neben Element-Definitionen auch
Verknu¨pfungsregeln. So ist im EPK Stencil Set zum Beispiel festgelegt, dass auf ein Ereignis
kein Ereignis folgen kann. Diese Regeln werden bei jeder Erstellung einer neuen
Beziehung u¨berpru¨ft. Außerdem werden sie immer ausgewertet, wenn potenziell zu
verbindende Elementtypen zu bestimmen sind (siehe Abbildung 5). Da diese Pru¨fung wa¨hrend des
Modellierens vorgenommen wird, kann sie aus Performance-Gru¨nden nur die lokale
Umgebung einer Verbindung betrachten.</p>
        <sec id="sec-3-2-1">
          <title>Abbildung 5: Vorschla¨ge fu¨r nachfolgende Elemente im Oryx</title>
          <p>Wie bereits in [MN03] ausgefu¨hrt, reicht eine solche lokale Betrachtung nicht aus um
ein syntaktisch korrektes Modell garantieren zu ko¨nnen. Als Beispiel wollen wir die
U¨ berpru¨fung einer Kante von einem XOR Knoten zu einer Funktion anfu¨hren:
Ein Konnektor-Knoten kann in Abha¨ngigkeit von der Anzahl ein- und ausgehender
Kanten sowohl als zusammenfu¨hrender als auch als verzweigender Konnektor genutzt werden.
Wa¨hrend auf einen zusammenfu¨hrenden XOR sowohl eine Funktion als auch ein Ereignis
folgen darf, mu¨ssen auf einen verzweigenden XOR zwei Ereignisse folgen. Soll gepru¨ft
werden, ob der Konnektor mit einer nachfolgenden Funktion verknu¨pft werden darf, ist
also das Wissen daru¨ber von No¨ten, ob der Konnektor verzweigend oder zusammenfu¨hrend
ist. Da dieses Wissen aber von anderen Verbindungsbeziehungen abha¨ngt, die nicht mehr
zur lokalen Umgebung der zu pru¨fenden Relation geho¨ren, kann die Frage zu diesem
Zeitpunkt nicht beantwortet werden.
Vollsta¨ndige Syntax-Checks ko¨nnen zu einem spa¨teren Zeitpunkt manuell oder zum
Beispiel beim Speichern ausgelo¨st werden. Oryx bietet hierfu¨r ein Framework an, das durch
Nutzerinteraktion angestoßen einen Syntax-Check veranlasst und fehlerhafte
Modellelemente markiert.</p>
          <p>Dabei wird der Plugin-Mechanismus von Oryx genutzt, um den Syntax Check
einzubinden. Das Plugin bietet dabei einen Button in der Toolbar an, an den eine Methode gebunden
ist, die das in RDF serialisierte Prozessmodell an das Backend weiterreicht. Im Backend ist
nun ein Java Servlet dafu¨r verantwortlich, das RDF in eine Java Objektstruktur
umzuwandeln. Anschließend kann die Objektstruktur umfassend auf syntaktische Fehler u¨berpru¨ft
werden. Anders als in [GL06] passiert dies durch eine Java-Methode, die u¨ber alle
Kanten und Knoten des Models iteriert und dabei die gesamte Umgebung des Elements fu¨r
dessen Syntax-Check einbezieht. Neben dem Syntax-Checker fu¨r EPKs gibt es auch eine
Implementierung BPMN Diagramme.</p>
          <p>Die Benutzung einer Umwandlung in Java Objekte hat mehrere Vorteile: Das vewendete
Metamodell und der Umwandler stellen wiederverwendbare Komponenten dar. So ko¨nnen
sie auch fu¨r weitergehende semantische U¨ berpru¨fungen - wie Soundness-Checks [Men07]
- oder fu¨r die Implementierung von Transformationen in andere Notationen, z.B. in
PetriNetze, verwendet werden. Daru¨ber hinaus ist die Performance eines deployten Servlets
besser als die von lokal im Browser laufenden JavaScript Routinen.</p>
          <p>Das Ergebnis der U¨berpru¨fung wird zuru¨ck an das JavaScript Plugin im Oryx geschickt,
welches fehlerhafte Elemente markiert. Dabei wird neben der ID eines Elements auch ein
beschreibender Text u¨bermittelt, der als Tooltip mit in die Markierung u¨bernommen wird.</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Abbildung 6: Markierung eines fehlerhaften Konnektors in Oryx</title>
          <p>Abbildung 6 zeigt, wie der oben beschriebene Fall in einer nicht lokalen Syntax-Pru¨fung
als Fehler erkannt und markiert werden kann. Durch einen weiteren Klick auf den Button
in der Toolbar ko¨nnen die Markierungen wieder entfernt werden.</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>3.3 Im- und Exports</title>
        <p>Damit mit Oryx modellierte EPKs auch in anderen Umgebungen genutzt werden ko¨nnen
und vor allem auch um Ergebnisse bisheriger Arbeiten mit anderen Tools im Oryx
fortzufu¨hren, bietet Oryx Im- und Exportmo¨glichkeiten an.</p>
        <p>VERWANDTE ARBEITEN
Mit Hilfe eines weiteren Plugins wurden Funktionen in Oryx hinzugefu¨gt, die einen
Export nach EPML, bzw. einen Import aus EPML erlauben. EPML ist ein XML basiertes
toolunabha¨ngiges Austauschformat fu¨r EPKs [MN05]. Es kann unter Zuhilfenahme von
XSL-Transformationen auch in AML, das ARIS-Austauschformat, transformiert werden
[MN04].</p>
        <p>Der Export eines Prozessmodells nach EPML wird durch den Nutzer per Button-Klick
eingeleitet. Anschließend werden zwei Transformationen durchgefu¨hrt: Zuna¨chst wird das
im eRDF Format gespeicherte Modell in RDF transformiert. Hierfu¨r kann ein gegebenes
XSLT Stylesheet2 verwendet werden. In einem zweiten Schritt muss dann das RDF in
EPML umgewandelt werden, was wiederum durch ein XSLT Stylesheet realisiert wird.
Die Umwandlung kann direkt Client-seitig im Plugin geschehen, da moderne Browser
eigene XSLT-Engines anbieten. Die resultierende EPML Datei wird dem Benutzer in einem
neuen Browsertab zur Verfu¨gung gestellt.</p>
        <p>Um eine EPK importieren zu ko¨nnen, muss sich der Nutzer ebenfalls im Oryx Editor
befinden. Durch einen Button-Klick o¨ffnet er einen Upload-Dialog, mit dem er eine
EPMLDatei an ein Servlet im Backend schicken kann. Innerhalb des Servlets wird das EPML
wieder mittels XSLT in eRDF umgewandelt. Das Ergebnis kann zuru¨ck an den Client
gesendet werden, wo das Prozessmodell zur Anzeige kommt und evtl. durch den Nutzer
gespeichert werden kann.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Verwandte Arbeiten</title>
      <p>Marktfu¨hrer auf dem Feld der EPK-Modellierungswerkzeuge ist das ARIS Toolset der IDS
Scheer AG3. Dieses beruht auf dem Konzept der Architektur integrierter
Informationssysteme (ARIS [Sch00]), das die Modellierung betriebswirtschaftlicher Abla¨ufe unter den
unterschiedlichen Gesichtspunkten der Organisation, der Daten, der Funktionen und der
Steuerung vorsieht. Dabei werden diese auch auf verschiedenen Abstraktionsebenen
zwischen Konzeptionierung und Implementation betrachtet.</p>
      <p>Dementsprechend bietet das ARIS Toolset neben der Modellierung von EPKs auch weitere
Notationen von Wertscho¨pfungsketten bis Organigrammen an. Außerdem existieren
verschiedene Module, die auf die unterschiedlicher Benutzer zugeschnitten sind. So ko¨nnen
Prozesse auf verschiedenen Abstraktionen modelliert und simuliert, aber auch
implementiert und gewartet werden.</p>
      <p>Durch eine Client-Server Architektur, ko¨nnen verschiedene Nutzer kollaborativ Modelle
verwalten. Hierfu¨r muss jedoch, anders als bei Oryx, die Client-Software auf jedem
Rechner installiert werden, von dem ein Nutzer auf die Modelle zugreifen mo¨chte.
Neben ARIS existieren aber auch weitere Tools, die im kommerziellen oder im
wissenschaftlichen Bereich eingesetzt werden ko¨nnen, um EPKs zu modellieren. Mit bflow*4
entsteht zur Zeit eine Eclipse-basierte Gescha¨ftsprozessmodellierungsumgebung, die, a¨hnlich
2Siehe http://research.talis.com/2005/erdf/extract-rdf.xsl
3Siehe http://www.ids-scheer.com
4Siehe http://www.bflow.org/
wie Oryx, als Open-Source-Projekt vor allem Forschern die Mo¨glichkeit der Integration
eigener Konzepte geben soll.</p>
      <p>Ebenfalls auf Eclipse setzt das Werkzeug EPC Tools5 auf. Dabei unterstu¨tzt es die
Standard-EPK-Modellelemente, bietet aber auch Simulations- und Analysefunktionen an.
Anders als Oryx und ARIS sind bflow* und EPC Tools Standalone Anwendungen, in
denen man Modelle nur durch das Verschicken von Dateien oder die Integration von
Versionsverwaltungs-Systemen austauschen kann.</p>
      <p>Außer frei verfu¨gbaren Shapes fu¨r das Modellierungstool Visio6, die das Erstellen von
EPKs und eEPKs unterstu¨tzen, existiert mit SemTalk ein kommerziell vertriebener
VisioAufsatz [FW01]7. Dieser bietet a¨hnlich wie Oryx eine Vielzahl von Notationen und dabei
auch das Modellieren, den Austausch und die Analyse von EPKs an. SemTalk ist als
Standalone Anwendung konzipiert, die aber auch Dokumente mit einem Repository abgleichen
kann.</p>
      <p>Auch wenn bereits Open-Source Modellierungstools in der EPK Community existieren,
zeichnet sich Oryx vor allem durch seine Erweiterbarkeit um Notationen und
Funktionalita¨ten sowie seinen kollaborativen Ansatz aus. Dadurch, dass er einfach als Webseite in
einem Browser aufgerufen werden kann, ermo¨glicht Oryx einen im Vergleich zu
kommerziellen Lo¨sungen unkomplizierten und direkten Zugriff auf zentral hinterlegte Modelle.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Zusammenfassung und Ausblick</title>
      <p>Dieses Papier hat EPK-Modellierung mit Oryx vorgestellt. Oryx ist eine technische
Plattform, in der typische Funktionen eines grafischen Modellierungstools enthalten sind und
die Erweiterungen einfach zula¨sst. Diese Erweiterungen ko¨nnen sowohl
Spracherweiterungen als auch funktionale Erweiterungen sein. Syntax-Checks sind vorhanden und die
Integration weiterer Verifikationsmechanismen ist geplant.</p>
      <p>Als na¨chster Schritt steht die Integration von EPC-Soundness-Checks [Men07] an.
Dies ermo¨glicht die Identifikation von unerreichbaren Ereignissen und Funktionen,
sowie die Pru¨fung auf Abwesenheit von Deadlocks in den Modellen. Daru¨ber hinaus ist
die Integration von Prozessabstraktionsmechanismen geplant, die es ermo¨glichen, große
Prozessmodelle auf Basis von Ausfu¨hrungswahrscheinlichkeiten und durchschnittliche
Ausfu¨hrungszeiten automatisch zu reduzieren [PSW08a]. Außerdem wird zur Zeit an der
Mo¨glichkeit des eigensta¨ndigen Im- und Exports von ARIS Modellen, die im proprieta¨ren
Format der AML ausgetauscht werden, gearbeitet.</p>
      <p>Oryx steht allen Forschungsgruppen und Unternehmen offen, eigene Erweiterungen
umzusetzen oder Funktionalita¨t zu integrieren. In Kollaborationen mit anderen Universita¨ten hat
sich bereits gezeigt, dass dies tatsa¨chlich mit geringem Aufwand mo¨glich ist und dass so
neue Funktionalita¨t schnell einem gro¨ßeren Publikum zuga¨nglich gemacht werden kann.
5Siehe http://wwwcs.uni-paderborn.de/cs/kindler/research/EPCTools/
6Siehe http://office.microsoft.com/visio/
7Siehe http://www.semtalk.com/
Danksagungen. Wir mo¨ chten uns beim Oryx-Team fu¨ r die umfangreichen Entwicklungen
bedanken.</p>
      <p>Literatur
[bpm06]
[bpm08]
[Dav06]
[FW01]
[GL06]
[KNS92]
[Men07]
[MN03]
[MN04]
[MN05]
[ope07]</p>
      <p>Business Process Modeling Notation (BPMN) Specification, Final Adopted
Specification. Bericht, Object Management Group (OMG), February 2006.</p>
      <p>Business Process Modeling Notation, V1.1. Bericht, Object Management Group
(OMG), Jan 2008. http://www.omg.org/spec/BPMN/1.1/PDF/.</p>
      <p>Ian Davis. RDF in HTML. Bericht, Talis Information Limited, 2006.
//research.talis.com/2005/erdf/wiki/Main/RdfInHtml.
http:
Christian Fillies und Frauke Weichhardt. SemTalk: A RDFS Editor for Visio 2000.
Bericht, SC4, July 2001. http://www.semtalk.com/pub/swws.htm.</p>
      <p>Volker Gruhn und Ralf Laue. Validierung syntaktischer und anderer EPK-Eigenschaften
mit PROLOG. In Markus Nu¨ttgens, Frank J. Rump und Jan Mendling, Hrsg., Proc.
of the 5th GI Workshop on Event-Driven Process Chains (EPK 2006), Seiten 69–84.
GI-Arbeitskreis Gescha¨ftsprozessmanagement mit Ereignisgesteuerten Prozessketten,
2006.</p>
      <p>Gerhard Keller, Markus Nu¨ttgens und August-Wilhelm Scheer. Semantische
Prozessmodellierung auf der Grundlage ”Ereignisgesteuerter Prozessketten (EPK)”. Bericht
Heft 89, Institut fu¨r Wirtschaftsinformatik Universita¨t Saarbru¨cken, 1992.</p>
      <p>Jan Mendling. Detection and Prediction of Errors in EPC Business Process Models.
Dissertation, Vienna University of Economics and Business Administration, 2007.
Jan Mendling und Markus Nu¨ttgens. EPC Syntax Validation with XML Schema
Languages. In Markus N u¨ttgens und Frank J. Rump, Hrsg., Proc. of the 2nd GI
Workshop on Event-Driven Process Chains (EPK 2003), Seiten 19–30. GI-Arbeitskreis
Gescha¨ftsprozessmanagement mit Ereignisgesteuerten Prozessketten, 2003.</p>
      <p>Jan Mendling und Markus N u¨ttgens. Transformation of ARIS Markup
Language to EPML. In M. Nu¨ttgens und F.J. Rump, Hrsg., Proc. of the 3rd GI
Workshop on Event-Driven Process Chains (EPK 2004), Seiten 27–38. GI-Arbeitskreis
Gescha¨ftsprozessmanagement mit Ereignisgesteuerten Prozessketten, 2004.</p>
      <p>Jan Mendling und Markus Nu¨ttgens. EPC Markup Language (EPML): An XML-based
Interchange Format for Event-Driven Process Chains (EPC). Bericht, Vienna University
of Economics and Business Administration, July 2005.</p>
      <p>OpenID Authentication 2.0 - Final. Bericht, OpenID Foundation, December 2007.
http://openid.net/specs/openid-authentication-2_0.html.
[PSW08a] Artem Polyvyanyy, Sergey Smirnov und Mathias Weske. Process Model Abstraction:
A Slider Approach. In EDOC 2008: Proceedings of the 12th IEEE International
Enterprise Distributed Object Computing Conference. IEEE Computer Society, 2008.
[PSW08b] Artem Polyvyanyy, Sergey Smirnov und Mathias Weske. Reducing the Complexity of
Large EPCs. Bericht 22, Hasso-Plattner-Institute, 2008.</p>
      <p>August-Wilhelm Scheer. ARIS Business Process Modeling. Springer Verlag, 2000.
[Wes07]</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [vdAvH02]
          <article-title>Wil van der Aalst und Kees van Hee</article-title>
          .
          <source>Workflow Management: Models, Methods, and Systems (Cooperative Information Systems)</source>
          . The MIT Press,
          <year>January 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>Mathias</given-names>
            <surname>Weske</surname>
          </string-name>
          .
          <source>Business Process Management</source>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>