<!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>Prozessumstrukturierung unter Beru¨cksichtigung von Nachrichteninhalten</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Thomas S. Heinze</string-name>
          <email>T.Heinze@uni-jena.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wolfram Amme</string-name>
          <email>Wolfram.Amme@uni-jena.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Simon Moser</string-name>
          <email>smoser@de.ibm.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Einfu ̈hrung und Motivation</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Friedrich-Schiller-Universita ̈t Jena</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>IBM Entwicklungslabor Bo ̈blingen</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Bei der informationstechnischen Umsetzung von Gescha¨ftsprozessen mit Hilfe von verteilten, service-orientierten Architekturen existieren mehrere sowohl wissenschaftlich als auch industriell relevante Fragestellungen. Neben grundsa¨tzlichen Fragen zur Korrektheit und Kompatibilita¨t verteilter Prozesse spielt auch das Auffinden geeigneter Dienste zur Dienstkomposition eine wichtige Rolle. Grundlage einer solchen Dienstsuche bilden ¨offentliche Schnittstellenbeschreibungen, die zumeist aus einer Liste der implementierten Operationen der Dienste bestehen. Um Fehler bei der Dienstkomposition zu vermeiden, sollten insbesondere bei zustandsbehafteten Diensten (wie zum Beispiel Gescha¨ftsprozessen) zusa¨tzlich Informationen zu der Abfolge der Operationen vorhanden sein. Ein formaler Ansatz zur Modellierung und Analyse der durch einen (verteilten) Gescha¨ftsprozess realisierten Abfolge von Operationen, in Form gesendeter und empfangener Nachrichten, wird in [6, 7] beschrieben. Darin wird das Prozessverhalten aus Sicht eines m¨oglichen Partners wiedergegeben und auf diese Weise eine Art Bedienungsanleitung fu¨r den Prozess bereitgestellt. Diese kann dann zur Schnittstellenbeschreibung genutzt werden und so die Dienstsuche unterstu¨tzen [7]. Abbildung 1 zeigt das Fragment eines Gescha¨ftsprozesses, in diesem Fall der Sprache WS-BPEL [8], zusammen mit der das zugeho¨rige Verhalten beschreibenden Bedienungsanleitung. Die dargestellte Aktivit¨at BiddingSequence setzt ein Ver¨außerungsverfahren um, bei dem in einer Schleife (RepeatUntil) fortlaufend eine Ausschreibung ver¨offentlicht wird (BidRequest), zu der ein Gebot abgegeben werden kann (Nachricht Bid). Die Schleife wird verlassen und das Verfahren mit einer Mitteilung beendet (BidClosure), falls ein Gebot den vordefinierten Mindestverkaufswert u¨bersteigt. Daru¨ber hinaus kann das Verfahren auch durch den Ver¨außerer vorzeitig abgebrochen werden (Nachricht Abort). Die Ausfu¨hrung der Schleife wird dabei durch drei Variablen kontrolliert ($break or $currentBid &gt; $threshold). Zum einen enthalten $currentBid und $threshold Informationen zu dem zuletzt abgegebenen Gebot und dem Mindestverkaufswert (1000). Andererseits wird der vorzeitige Abbruch des Verfahrens durch $break gesteuert. Wie ebenfalls in Abbildung 1 dargestellt, ist die Bedienungsanleitung eines Gescha¨ftsprozesses ein Automat [7]. In diesem</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>$currentBid = −1
$threshold = 1000
$break = false()
RepeatUntil($break or
$currentBid &gt; $threshold)</p>
      <p>LoopSequence
Invoke BidRequest</p>
      <p>Pick
OnMessage Abort
$break = true()</p>
      <p>OnMessage Bid
$currentBid = $Bid
Invoke BidClosure</p>
      <p>k
red irnLBid
idB trean</p>
      <p>P
k Abort
n
ir
L
en BidRequest
tr
a
P
g
ind BidClosure
d
i
B</p>
      <p>?BidRequest + !Abort + !Bid
repr¨asentiert ein Pfad eine m¨ogliche Auspra¨gung des von außen sichtbaren
Prozessverhaltens, wobei die Kanten des Automaten den gesendeten und
empfangenen Nachrichten aus Sicht des jeweiligen Prozesspartners entsprechen. Zus¨atzlich
finden sich Integrit¨atsbedingungen an die m¨oglichen Partnerprozesse in Form
von Zustandsannotationen.1 Wie leicht zu erkennen ist, beschreibt die
angegebene Bedienungsanleitung jedoch nicht alle denkbaren Partner der Aktivit¨at
BiddingSequence. So sind beispielsweise Partnerprozesse, die zun¨achst mehrere
Gebote (Nachricht Bid) senden, und erst im Anschluss die zugeho¨rigen
Ausschreibungen (BidRequest) empfangen, nicht mit erfasst. Auch ist das Ende der
Ver¨außerung nach einem den Mindestverkaufswert u¨bersteigenden Gebot oder
einem vorzeitigen Abbruch (Nachricht Abort) nicht explizit wiedergegeben.</p>
      <p>
        Die Begru¨ndung dafu¨r ist in dem zur Ableitung der Bedienungsanleitung
angewandten Verfahren zu suchen. Dieses beruht auf einer petrinetzbasierten
Modellierung der Gescha¨ftsprozesse, in der Prozessdaten zugunsten einer
durchfu¨hrbaren Analyse nicht wiedergegeben werden [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ]. Insbesondere wird der bedingte
Kontrollfluss auf nichtdeterministische Konflikte abgebildet, und damit eine
Abstraktion verwendet, die zu der skizzierten Ungenauigkeit in der abgeleiteten
Bedienungsanleitung fu¨hren kann. In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] haben wir eine
Umstrukturierungsmethode vorgestellt, mit der sich bestimmte Arten des bedingten Kontrollflusses so
transformieren lassen, dass Daten- in Kontrollabha¨ngigkeiten umgewandelt
werden. Im Ergebnis k¨onnen die Datenabh¨angigkeiten, namentlich die
Verzweigungsoder Schleifenbedingungen, entfernt und somit die Anzahl der beno¨tigten
nichtdeterministischen Konflikte reduziert werden. Die Klasse der in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] betrachteten
Schleifen und Verzweigungen ist dabei durch Bedingungen charakterisiert, die
zur Prozesslaufzeit nur auf durch Konstanten definierte Variablen zugreifen.
1 Die durch Annotationen ausgeschlossenen Pfade der Bedienungsanleitung, dass heißt
Pfade die zu fehlerhaftem Verhalten fu¨hren ko¨nnen, sind nicht mit abgebildet.
Die Umstrukturierungsmethode basiert auf einer Prozessrepra¨sentation durch
erweiterte Workflow-Graphen und ist damit grundsa¨tzlich auf Prozesse aller
Spezifikationssprachen fu¨r (strukturierte) Gescha¨ftsprozesse anwendbar, zu denen
eine Abbildung auf Workflow-Graphen existiert (außer fu¨r WS-BPEL existiert ein
Abbildungsverfahren [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] fu¨r BPMN [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]). Erweiterte Workflow-Graphen erlauben
zusa¨tzlich zu der durch herk¨ommliche Workflow-Graphen unterstu¨tzten
Abbildung des Kontrollflusses auch die Wiedergabe der Prozessdaten. Insbesondere
lassen sich die w¨ahrend der Umstrukturierung beno¨tigten Datenabh¨angigkeiten
innerhalb dieses Repra¨sentationsformats auf einfache Weise identifizieren. In
Abbildung 2 ist der erweiterte Workflow-Graph fu¨r das Beispiel BiddingSequence
abgebildet.2 Darin repr¨asentieren Knoten die Aktivit¨aten und Kanten
verbinden diese entsprechend dem Kontrollfluss. Spezielle Knoten (Pick, Merge, Split,
Header ) dienen der Aufspaltung und Vereinigung des Kontrollflusses im Fall der
ereignisgesteuerten Verzweigung (Pick) und der Schleife des Prozessfragments.
Wie bereits erw¨ahnt, erfolgt die Repra¨sentation der Prozessdaten derart, dass
eine einfache Analyse der Datenabh¨angigkeiten m¨oglich ist. Zu diesem Zweck
wur2 Aus technischen Gru¨nden wurde die eigentlich fußgesteuerte Schleife (RepeatUntil)
in BiddingSequence durch Herausziehen der ersten Iteration und Negierung der
Schleifenbedingung in eine a¨quivalente kopfgesteuerte Schleife umgewandelt.
den die Variablen so umbenannt, das jede statische Variablendefinition einen
eigenen Namen erha¨lt (so break1, break2, . . . , break6 fu¨r $break). Weiterhin wurde
eine Φ-Funktion zur Zusammenfassung konkurrierender Definitionen eingefu¨gt,
falls mehrere Definitionen einer Variablen auf verschiedenen Pfaden des
Kontrollflusses zusammentreffen (vergleiche break4 = Φ(break3, break6) in Header ).
Der Wert einer solchen Funktion entspricht gerade der Definition, gegeben als
Operand, die zur Laufzeit ausgefu¨hrt wurde.
      </p>
      <p>Ausgehend von dieser Prozessrepra¨sentation lassen sich die
Datenabh¨angigkeiten des bedingten Kontrollflusses analysieren. Fu¨r BiddingSequence f¨allt
dabei auf, dass die Bedingung der darin enthaltenen Schleife nur auf Variablen
zugreift, die entweder allein durch Konstanten ($break, $threshold) oder
zusa¨tzlich durch Nachrichten ($currentBid) definiert sind. Im ersteren Fall wird von
statisch quasi-konstanten Variablen gesprochen, und fu¨r Bedingungen die nur
auf diese Art von Variablen zugreifen von statisch quasi-konstanten Bedingungen.
Der Wert einer solchen Bedingung ha¨ngt nur vom zur Prozesslaufzeit gew¨ahlten
Kontrollflusspfad ab, da jeder Pfad zur Bedingung einer Belegung der darin
vorkommenden Variablen mit Konstanten entspricht. Daher kann die Bedingung
durch Einfu¨gen geeigneter Kontrollabha¨ngigkeiten ersetzt werden.</p>
      <p>
        Die Umstrukturierungsmethode zur Erzeugung der Kontrollabha¨ngigkeiten
erfolgt in zwei Schritten. Zuna¨chst wird eine Schleife oder Verzweigung mit
statisch quasi-konstanter Bedingung in eine Normalform u¨berfu¨hrt. Diese zeichnet
sich dadurch aus, das alle (statischen) Pfade des Kontrollflusses, die fu¨r eine
Bedingungsvariable unterschiedliche Werte definieren, aufgetrennt sind. Zu diesem
Zweck werden, mit Ausnahme des Kopfs einer Schleife, alle Knoten in denen
unterschiedliche Definitionen aufeinandertreffen nacheinander aufgel¨ost. Im
Anschluss kann fu¨r eine Verzweigung die Verzweigungsbedingung auf allen Pfaden
ausgewertet und durch unbedingte Spru¨nge zu den Verzweigungszielen ersetzt
werden. Fu¨r eine Schleife laufen nun hingegen alle Definitionen fu¨r
Bedingungsvariablen im Schleifenkopf zusammen. Um auch diese aufzutrennen, wird die
Schleife im folgenden Schritt durch mehrere Schleifeninstanzen ersetzt. Jede
Instanz repr¨asentiert dabei die Ausfu¨hrung des Schleifenrumpfs fu¨r eine m¨ogliche
Belegung der Bedingungsvariablen mit Konstanten. Demnach k¨onnen die
Schleifenbedingungen in den Instanzen ebenfalls ausgewertet, und durch unbedingte
Spru¨nge zum Austrittsknoten der Schleife oder zu weiteren Instanzen ersetzt
werden. Eine ausfu¨hrliche Beschreibung der Methode ist in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] zu finden.
3
      </p>
    </sec>
    <sec id="sec-2">
      <title>Erweiterte Umstrukturierung</title>
      <p>Nachstehend wird die Erweiterung der Umstrukturierungsmethode beschrieben.
Diese soll auch die Elimination von Bedingungen erlauben, in denen
Variablen durch eingehende Nachrichten definiert sind. Die Bedingung der
Schleife in BiddingSequence entha¨lt, neben den statisch quasi-konstanten Variablen
$break und $threshold, auch eine solche Variable ($currentBid). Diese Art
von Variablen, und Bedingungen die nur auf diese Variablen zugreifen, werden
als dynamisch quasi-konstant bezeichnet. Um die Umstrukturierungsmethode
...
auch auf Schleifen und Verzweigungen mit derartigen Bedingungen anwenden
zu k¨onnen, wird ein abstrakterer Instanzenbegriff beno¨tigt. Der bisher
verwendete Begriff beschreibt die Ausfu¨hrung des Rumpfs einer Schleife bezu¨glich einer
Belegung der Bedingungsvariablen mit Konstanten. Im Folgenden verstehen wir
unter einer Schleifeninstanz die Ausfu¨hrung des Schleifenrumpfs bezu¨glich einer
allgemeinen Zusicherung fu¨r den Zustandsraum der Bedingungsvariablen.
Zweifelsohne ist die erstere Begriffsbildung ein Spezialfall der letzteren.</p>
      <p>
        Die Zusicherungen werden dabei aus der betrachteten Bedingung
abgeleitet. Dazu wird diese zun¨achst in eine Klauselform transformiert, aus der die
Grundpr¨adikate der Bedingung bestimmt werden k¨onnen, so (currentBid4 &gt;
threshold1) und (break4) fu¨r die Bedingung in BiddingSequence. Zwei Typen
von Pr¨adikaten mu¨ssen unterschieden werden. Zum einen ko¨nnen Pr¨adikate nur
auf statisch quasi-konstante Variablen zugreifen (break4). In diesen F¨allen
werden, wie bisher, Belegungen der Variablen mit Konstanten als Zusicherungen in
den Instanzen verwendet. Davon zu trennen sind Pr¨adikate, in denen auch
dynamisch quasi-konstante Variablen vorkommen (currentBid4 &gt; threshold1), da
nun das Pr¨adikat auch vom Inhalt eingehender Nachrichten abh¨angig ist. Um
die dadurch gegebenen Datenabh¨angigkeiten mittels Kontrollabha¨ngigkeiten
repr¨asentieren zu k¨onnen, werden Nachrichten nicht mehr nur als Ereignisse
interpretiert, sondern zusa¨tzlich Klassen m¨oglicher Nachrichteninhalte
unterschieden.3 Dies erlaubt die Definition einer Variablen durch eine Nachricht mit
Zusicherungen fu¨r die m¨oglichen Werte der Nachricht zu verfeinern. Im erweiterten
Workflow-Graphen werden dann die Pr¨adikate mit dynamisch quasi-konstanten
Variablen auf Zusicherungen fu¨r die diese Variablen definierenden Nachrichten
zuru¨ckgefu¨hrt. In Abbildung 3 ist das Ergebnis fu¨r die Definition der Variablen
$currentBid innerhalb der Schleife aus BiddingSequence angegeben. Wie zu
erkennen, ist die urspru¨ngliche Definition der Variablen (Knoten 16 in
Abbildung 2) dupliziert und durch zwei komplementa¨re Zusicherungen an die jeweils
definierende Nachricht Bid erga¨nzt worden (assert P , assert not(P )). Die
Zu3 Die explizite Repra¨sentation von Nachrichteninhalten wurde bereits in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
vorgeschlagen, basierend auf der Entfaltung ho¨herer Petrinetze. Dies erfordert jedoch das
Vorliegen von Bedingungen und Nachrichten mit endlichen Datenbereichen.
      </p>
      <p>!Abort + !Bid[assert P] + !Bid[assert not(P)] + ?BidRequest</p>
      <p>?BidRequest
?BidRequest</p>
      <p>?BidRequest + !Bid[assert not(P)]
?BidRequest
?BidRequest + !Bid[assert not(P)]</p>
      <p>... !Bid[assert not(P)]
sicherungen entsprechen dabei der positiven und negativen Variante des die
Variable $currentBid enthaltenen Pr¨adikats der Schleifenbedingung, in denen die
Variablen durch ihre Definitionen ersetzt wurden (P = message(Bid) &gt; 1000).</p>
      <p>W¨ahrend der Umstrukturierung k¨onnen die damit eingefu¨hrten
Zusicherungen fu¨r relevante Nachrichten zur Beschreibung der Schleifeninstanzen genutzt
werden. Das Resultat der so erweiterten Umstrukturierung ist fu¨r die Schleife
aus BiddingSequence in Abbildung 4 dargestellt. Darin wurde lediglich eine
einzige Instanz mit den Zusicherungen break4 = f alse(), threshold1 = 1000
und currentBid4 = message(Bid) assert not(P ) erzeugt, da die
Schleifenbedingung nur fu¨r diese Zusicherungen erfu¨llt ist. Abbildung 4 zeigt ebenfalls die
aus dem derart umstrukturierten Workflow-Graphen abgeleitete
Bedienungsanleitung. Im Vergleich zur urspru¨nglichen Bedienungsanleitung aus Abbildung 1
sind darin nun auch solche Partner erfasst, die zwischen zwei Geboten (Bid) nicht
eigens auf eine zugeho¨rige Ausschreibung (Nachricht BidRequest) warten.
Zudem sind die zwei Alternativen zum Beenden des Ver¨außerungsverfahrens nun
explizit wiedergegeben. So kann ein Partner das Verfahren zum einen durch
Senden der Nachricht Abort abbrechen (vergleiche die durch !Abort
erreichbaren Zusta¨nde). Andererseits ist, durch die eingefu¨gte Unterscheidung
m¨oglicher Inhalte der Nachricht Bid (!Bid[assert message(Bid)&gt;1000], !Bid[assert
not(message(Bid)&gt;1000)]), zudem auch das Ende nach einem den
Mindestverkaufswert u¨bersteigenden Gebot des Partners repr¨asentiert.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Diskussion und Zusammenfassung</title>
      <p>
        In der vorliegenden Arbeit beschreiben wir einen Ansatz zur Erweiterung der
in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] vorgestellten Umstrukturierungsmethode fu¨r verteilte Gescha¨ftsprozesse.
Diese erlaubt bestimmte Schleifen und Verzweigungen so zu transformieren, dass
deren Bedingungen eliminiert werden k¨onnen. Auf diese Weise lassen sich die
petrinetzbasierten Prozessmodelle bestehender Analysen pr¨azisieren und dadurch
genauere Analyseergebnisse erzielen. In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] werden Bedingungen betrachtet, die
nur auf durch Konstanten definierte Variablen zugreifen. Durch die Verwendung
eines abstrakteren Begriffs der Schleifeninstanz und die Beru¨cksichtigung von
Nachrichteninhalten k¨onnen wir die Methode nun auch auf Bedingungen
anwenden, deren Variablen zusa¨tzlich durch Nachrichten definiert sind.
      </p>
      <p>Im selben Moment stellt sich aber auch die Frage nach der Notwendigkeit
einer Pr¨azisierung der Prozessmodelle. So bildet die in Abbildung 1 dargestellte
Bedienungsanleitung bereits eine korrekte, wenn auch unvollsta¨ndige, Beschreibung
des von außen sichtbaren Verhaltens der Aktivit¨at BiddingSequence. Daher
kann der Nutzen einer pr¨aziseren Bedienungsanleitung infrage gestellt werden,
insbesondere im Hinblick auf die darin ver¨offentlichte, mo¨glicherweise
vertrauliche, Information zum Mindestverkaufswert. Anders gestaltet sich die Situation
jedoch, falls ein leicht modifizierter Prozess betrachtet wird. Ein Prozess, der
beispielsweise keine Ausschreibungen sendet, dass heißt die Aktivit¨at Invoke
BidRequest nicht entha¨lt, dafu¨r aber jedes Gebot mit einer entsprechenden
Nachricht besta¨tigt, sollte ebenfalls durch eine Bedienungsanleitung
beschrieben werden k¨onnen. Die Ableitung einer Bedienungsanleitung ist aber in diesem
Fall nicht mehr m¨oglich. Stattdessen kann aufgrund der nichtdeterministischen
Abbildung der Schleifenbedingung unter Verwendung des herk¨ommlichen
petrinetzbasierten Prozessmodells kein nicht verklemmender Partnerprozess gefunden
werden. Eine Pr¨azisierung des Prozessmodells, etwa durch Anwendung der
vorgestellten Umstrukturierungsmethode, ist zur Ableitung einer
Bedienungsanleitung fu¨r diesen Prozess zwingend erforderlich. Gleichzeitig muss diese nun auch
die Information zum Mindestverkaufswert der Ver¨außerung bereitstellen.</p>
      <p>
        In weiterfu¨hrenden Arbeiten wollen wir den vorgestellten Ansatz zun¨achst
evaluieren. Dazu soll sowohl eine Implementierung als auch eine Sammlung
realistischer Beispielprozesse zur Beurteilung der praktischen Relevanz der
Umstrukturierungsmethode verwirklicht werden. In diesem Zusammenhang stellt
sich auch die Frage nach der Abgrenzung zu vergleichbaren Ansa¨tzen der
Pr¨adikatenabstraktion [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Daru¨ber hinaus sind wir, wie bereits in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] angedeutet,
an der schrittweisen Ausweitung des Ansatzes auf andere statisch
auswertbare Bedingungen interessiert. Zu diesem Zweck erscheint uns insbesondere der
hier eingefu¨hrte allgemeinere Begriff der Schleifeninstanz ein geeignetes Mittel.
Durch eine pr¨azisere Analyse der Datenabh¨angigkeiten von Schleifen- und
Verzweigungsbedingungen ist die Ableitung entsprechender Zusicherungen denkbar.
Als eine m¨ogliche Analyse tritt dabei die in der Arbeit [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] beschriebene
abstrakte Interpretation der in WS-BPEL-Prozessen genutzten XPath-Ausdru¨cke zur
Abscha¨tzung der Wertebereiche von Variablen hervor.
      </p>
    </sec>
    <sec id="sec-4">
      <title>Literatur</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Favre</surname>
            ,
            <given-names>C´</given-names>
          </string-name>
          <article-title>edric: Algorithmic verification of business process models</article-title>
          , E´cole Polytechnique F´ed´erale de Lausanne,
          <source>Master's Thesis</source>
          ,
          <year>2008</year>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Go</surname>
          </string-name>
          <article-title>¨rlach, Katharina: Ein Verfahren zur abstrakten Interpretation von XPath-Ausdru¨cken in BPEL-Prozessen</article-title>
          , Humboldt-Universita¨t zu Berlin, Diplomarbeit,
          <year>2008</year>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Graf</surname>
          </string-name>
          , Susanne ; Saidi,
          <article-title>Hassen: Construction of Abstract State Graphs with PVS</article-title>
          . In: Grumberg,
          <string-name>
            <surname>Orna</surname>
          </string-name>
          (Hrsg.): Computer Aided Verification, 9th International Conference, CAV'97,
          <string-name>
            <surname>Haifa</surname>
          </string-name>
          , Israel, June 22-25,
          <year>1997</year>
          , Proceedings, Springer-Verlag,
          <source>1997 (Lecture Notes in Computer Science</source>
          <volume>1254</volume>
          ), S.
          <fpage>72</fpage>
          -
          <lpage>83</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Heinze</surname>
          </string-name>
          , Thomas S. ; Amme, Wolfram ; Moser,
          <article-title>Simon: A Restructuring Method for WS-BPEL Business Processes Based on Extended Workflow Graphs</article-title>
          . In: Dayal,
          <string-name>
            <surname>Umeshwar</surname>
          </string-name>
          (Hrsg.) ; Eder,
          <string-name>
            <surname>Johann</surname>
          </string-name>
          (Hrsg.) ; Koehler,
          <string-name>
            <surname>Jana</surname>
            (Hrsg.) ; Reĳers,
            <given-names>Hajo A.</given-names>
          </string-name>
          (Hrsg.): Business Process Management, 7th International Conference, BPM 2009, Ulm, Germany, September 8-
          <issue>10</issue>
          ,
          <year>2009</year>
          , Proceedings, Springer-Verlag,
          <source>2009 (Lecture Notes in Computer Science</source>
          <volume>5701</volume>
          ), S.
          <fpage>211</fpage>
          -
          <lpage>228</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Lohmann</surname>
          </string-name>
          ,
          <article-title>Niels: A Feature-Complete Petri Net Semantics for WS-BPEL 2.0</article-title>
          . In: Dumas,
          <string-name>
            <surname>Marlon</surname>
          </string-name>
          (Hrsg.) ; Heckel,
          <string-name>
            <surname>Reiko</surname>
          </string-name>
          (Hrsg.):
          <source>Web Services and Formal Methods</source>
          , 4th International Workshop, WS-FM
          <year>2007</year>
          , Brisbane, Australia,
          <source>September 28-29</source>
          ,
          <year>2007</year>
          , Springer-Verlag,
          <source>2007 (Lecture Notes in Computer Science</source>
          <volume>4937</volume>
          ), S.
          <fpage>77</fpage>
          -
          <lpage>91</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Lohmann</surname>
          </string-name>
          , Niels ; Massuthe, Peter ; Stahl, Christian ; Weinberg,
          <article-title>Daniela: Analyzing Interacting WS-BPEL Processes Using Flexible Model Generation</article-title>
          .
          <source>In: Data &amp; Knowledge Engineering</source>
          <volume>64</volume>
          (
          <year>2008</year>
          ),
          <year>Nr</year>
          . 1,
          <string-name>
            <surname>S.</surname>
          </string-name>
          38-
          <fpage>54</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Lohmann</surname>
          </string-name>
          , Niels ; Massuthe, Peter ; Wolf,
          <article-title>Karsten: Operating Guidelines for Finite-State Services</article-title>
          . In: Kleĳn,
          <string-name>
            <surname>Jetty</surname>
          </string-name>
          (Hrsg.) ; Yakovlev,
          <string-name>
            <surname>Alex</surname>
          </string-name>
          (Hrsg.):
          <source>Petri Nets and Other Models of Concurrency - ICATPN</source>
          <year>2007</year>
          ,
          <source>28th International Conference on Applications and Theory of Petri Nets and Other Models of Concurrency, ICATPN</source>
          <year>2007</year>
          , Siedlce, Poland, June 25-29,
          <year>2007</year>
          , Proceedings, Springer-Verlag,
          <source>2007 (Lecture Notes in Computer Science</source>
          <volume>4546</volume>
          ), S.
          <fpage>321</fpage>
          -
          <lpage>341</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Web</given-names>
            <surname>Services Business Process Execution Language</surname>
          </string-name>
          <article-title>Version 2.0</article-title>
          .
          <string-name>
            <given-names>OASIS</given-names>
            <surname>Standard</surname>
          </string-name>
          ,
          <article-title>Organization for the Advancement of Structured Information Standards, 2007</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Business</given-names>
            <surname>Process</surname>
          </string-name>
          <article-title>Model and Notation (BPMN) Version 2.0</article-title>
          .
          <string-name>
            <given-names>OMG</given-names>
            <surname>Standard</surname>
          </string-name>
          , Object Management Group / Business Process Management Initiative,
          <year>2009</year>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>