<!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>A Tool Chain for Lazy Soundness</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Frank Puhlmann</string-name>
          <email>puhlmann@hpi.uni-potsdam.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Business Process Technology Group Hasso-Plattner-Institute for IT Systems Engineering at the University of Potsdam D-14482 Potsdam</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper introduces a prototypic tool chain to investigate the feasibility of deciding lazy soundness for Business Process Diagrams (BPD). We utilize a graphical editor to create BPDs, export them to XML, convert them to formal π-calculus expressions, and finally use existing π-calculus reasoners to decide lazy soundness. Business Process Management (BPM) aims at designing, enacting, managing, analyzing, and adapting business processes [1]. This paper focuses on a special kind of analysis, called verification. Verification proves correctness of business processes regarding structural constrains like deadlocks or livelocks that require a formal semantics of the routing constructs contained in business processes. The correctness criterion investigated is called Lazy Soundness [2]. In order to show the feasibility of deciding lazy soundness for business processes we developed a prototypic tool chain. A business process diagrams (BPD) is created graphically using the Business Process Modeling Notation (BPMN) [3]. The BPDs are then exported to an intermediate XML file that provides a generic abstraction from concrete modeling notations. The business processes contained in the XML file can already be checked for structural constraints like connectedness of the nodes. To prove lazy soundness, the XML file is converted to π-calculus expressions. The π-calculus is a generic process algebra that is used to give formal semantics to common patterns of behavior found in business processes [4]. The formalizations are then applied to prove lazy soundness using existing tools. The remainder of this paper is structured as follows. It starts by introducing the context, i.e. give a definition of lazy soundness and introduce the π-calculus representation of business processes. Thereafter we discuss the architecture of the tool chain and illustrate it using an example. Finally the paper is concluded by discussing related work and further developments.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The tool chain is based on the concepts and algorithms for lazy soundness
introduced in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The theoretical foundations are given by the π-calculus [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. While
lazy soundness is a new correctness criterion for the BPM domain, the π-calculus
is already in discussion as a formal foundation for BPM [
        <xref ref-type="bibr" rid="ref6 ref7">6,7</xref>
        ]. Lazy soundness is
based on structural soundness, informally given by:
      </p>
      <p>A business process is structural sound if and only if there is (a) exactly
one initial activity, (b) exactly one final activity, and (c) all activities
are on a path from the initial to the final activity.</p>
      <p>Furthermore, lazy soundness requires semantic reachability, meaning that an
activity B is reachable from another activity A (i.e. their exists a path between
them) according to the semantics of all other activities such as splits and joins.
Lazy soundness is then given by:</p>
      <p>A business process is lazy sound if and only if (a) the final activity is
semantically reachable from every other activity semantically reachable
from the initial activity until the final activity has been executed, and
(b) the final activity is executed exactly once.</p>
      <p>
        The definition states that a lazy sound business process is deadlock and livelock
free as long as the final activity has not been executed. So called lazy
activities might still be or become executed. Those are usually required for clean–up
or subsequent activities. Examples are activities before a discriminator or n–
out–of–m–join that has already been executed (i.e. receive remaining messages
in interacting business processes) or activities triggered by multiple–instances–
without synchronization patterns [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. In terms of Petri nets, lazy soundness
supports processes where tokens can remain in the net. Again, a detailed discussion
can be found in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        A formal semantics for business processes is given by the π-calculus. In [
        <xref ref-type="bibr" rid="ref4 ref9">4,9</xref>
        ]
we have shown how different routing patterns are mapped to π-calculus
expressions. Basically, each activity of a business process is mapped to a corresponding
π-calculus process. The processes then trigger themselves using a pre– and
postcondition approach. Reasoning about lazy soundness is done using weak open
bisimulation. Informally, two π-calculus processes are weak open bisimulation
equivalent if they have the same observable behavior regarding certain
observability predicates. Weak open bisimulation can be evaluated using existing tools.
3
      </p>
    </sec>
    <sec id="sec-2">
      <title>Architecture</title>
      <p>Graphical</p>
      <p>Editor</p>
      <p>XML
Exporter</p>
      <p>Pi-Calculus
Converter</p>
      <p>Pi</p>
      <p>Pi-Calculus</p>
      <p>Tools</p>
      <p>XML
Struct. Sound.</p>
      <p>
        Checker
BPMN Stencils
be proved to be structural sound by a structural soundness checker script.
Furthermore, it can be used as input for a pi-calculus converter script that maps
the XML file to a proprietary ASCII notation representing π-calculus processes.
The implemented algorithm is described in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The file containing the π-calculus
processes can then directly be used as an input for existing π-calculus tools for
reasoning.
      </p>
      <p>
        Technically, the feasibility study has been developed on Mac OS X.
OmniGraffle Professional is utilized as a graphical editor1, but other editors are also
possible. OmniGraffle is fully programmable using AppleScript that was used
for implementing the XML exporter. Both, OmniGraffle and AppleScript,
provide an easy and convenient way of designing and exporting business process
diagrams. The π-calculus converter and the structural soundness checker have
been implemented as Ruby scripts, so they are OS–independent. The π-calculus
tools compatible with our scripts are MWB and ABC, the two major reasoners
for π-calculus [
        <xref ref-type="bibr" rid="ref10 ref11">10,11</xref>
        ]. Both are also available on various platforms.
4
      </p>
    </sec>
    <sec id="sec-3">
      <title>Example</title>
      <p>After introducing the theoretical foundations and architecture of the tool chain,
we are now ready to give an illustrating example. Figure 2 shows a business
process starting with a parallel split, leading to the parallel execution of activities
A, B, and C. These activities can represent sub-processes for contacting three
different experts for writing an expertise. A 2–out–of–3–join continues the
execution at activity D after two of them are ready. However, some cleanup work
is left for the remaining activity, e.g. receiving the last expertise and paying
the expert. Activity D spawns of three multiple instances of itself, sending the
accepted expertises to three different involved persons. While the expertises are
still in delivery, the business process is already finished.</p>
      <p>The interesting point regarding lazy soundness are the lazy activities that
are left behind. This might be one of A, B, or C, as well as the three instances
of D. To prove the business process to be lazy sound, we need to export it from
our graphical editor using the XML exporter tool. The tool creates an XML
file representing a so called process graph of the BPD. A process graph is a
1 http://www.omnigroup.com/applications/omnigraffle</p>
      <p>A
B
C
2</p>
      <p>D 3
aspects of the business process are generated out of the type descriptions for
each node contained in the XML file by the π-calculus converter. The formal
description is furthermore enhanced with lazy soundness annotations as well as
a special process called SLAZY used for reasoning later on:
Example 2 (π-calculus representation of the example).
N717(e671,e794,e792,e791) | N677(e791,e795) | N534(e671,i) | N538(e799,o) |
N748(e797,e796,e795,e798) | N790(e794,e797) | N789(e792,e796))
agent S_LAZY(i,o)=i.t.’o.0
The input style generated corresponds to MWB as well as ABC. Each node of
the XML file has been mapped to a π-calculus process (denoted as agent in the
syntax). For instance, the initial node is given by N 534, or the 2–out–of–3–join by
N 748. Helper agents are denoted with an index, like 748 1. BPMN sequence flows
have been mapped to π-calculus names, representing dependencies between the
agents. For instance, N 717 can only start after N 534 has emitted the name e671
(an agent emits a name using 0name and receives a name by simply stating it,
i.e. name). To make reasoning possible, all agents representing nodes are placed
in parallel in agent N . For accuracy, the identifiers provided by the graphical
editor are used. The generated agents can now be imported into existing
πcalculus reasoners such as MWB:
The Mobility Workbench
(MWB’99, version 4.136, built Fri Apr 7 16:02:07 2006)
1
MWB&gt;input "agents.mwb"
MWB&gt;weq N(i,o) S_LAZY(i,o)
The two agents are equal.</p>
      <p>Bisimulation relation size = 317.</p>
      <p>The first statement imports the π-calculus process definitions. Lazy
soundness can now be decided using weak open bisimulation between process N (i, o)
and SLAZY (i, o). The parameters i and o can be observed for deciding whether
the business process is started (by observing i) or the final activity is reached
(by o). If o is not observed exactly once, the process is not lazy sound. SLAZY is
already proved to be lazy sound, since it simply receives i one time and emits o
one time. The weq statement now checks if N (i, o) equals SLAZY regarding the
observable behavior. As both are equal, also N (i, o) is lazy sound. Interestingly,
components of N (i, o) representing lazy activities are still active. However, they
do not trigger the final activity (the one that emits o) again.</p>
      <p>A counterexample can be given by modifying the parallel split of figure 2 to
an exclusive decision. This results in a change of agent N 717 of the π-calculus
representation:
agent N717(e671,e794,e792,e791)=e671.t.(’e794.N717(e671,e794,e792,e791) +</p>
      <p>’e792.N717(e671,e794,e792,e791) + ’e791.N717(e671,e794,e792,e791))</p>
      <p>Now, either activity A, B, or C are activated. As can easily be deduced, this
leads to a deadlock since the 2–out–of–3–join expects at least two activities to
be finished beforehand. By asking MWB using the changed agent N 717 this can
be proved:
MWB&gt;weq N(i,o) S_LAZY(i,o)
The two agents are NOT equal.</p>
      <p>Hence, the modified business process is not lazy sound.</p>
      <p>
        Drawbacks. During early experiments using MWB and ABC for deciding lazy
soundness of different business processes, we already discovered several issues.
First of all, weak open bisimulation is undecidable in general. Thus, some inputs
will not give a result. To make matters worse, current implementations of MWB
and ABC rely on depth first search, wasting computing power where breadth
first search would already disprove lazy soundness (i.e. finding other paths that
lead to deadlocks and livelocks). However, small to mid-size processes can be
proved in reasonable time (see [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] for timing results). Furthermore, due to the
non–local semantics of the synchronizing merge pattern (or–join), business
processes containing this pattern are never lazy sound. As a concluding remark, also
backtracking of errors found in the π-calculus representation to the graphical
notation is currently quite difficult. Using optimized reasoners and enhancing the
π-calculus representation with additional debugging information, most of the
problems can be solved.
5
      </p>
    </sec>
    <sec id="sec-4">
      <title>Related Work</title>
      <p>
        An important piece of related work is Woflan (http://is.tm.tue.nl/research/
woflan.htm). Woflan is able to prove if two Petri nets are in a certain
inheritance relation [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Most interesting is checking for projection inheritance, that
has been derived from process algebra [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. An informal description is as follows:
”If it is not possible to distinguish the behaviors of x and y [x and y are
Petri nets] when arbitrary tasks of x are executed, but only the effects
of tasks that are also present in y are considered, then x is a subclass of
y.” [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>Hence, y represents the SLAZY process and x an arbitrary Petri net to check
for conformance. SLAZY is given as a Petri net consisting of two places and a
transition t:</p>
      <p>t</p>
      <p>
        The transition t can be enhanced with arbitrary process structures. Since
projection inheritance ignores remaining tokens in the Petri net, lazy soundness for
Petri nets can be proved using Woflan. However, just as with ABC and MWB for
π-calculus, the only feedback is a yes/no answer. Furthermore, using Petri nets
for proving business processes to be lazy sound has two major drawbacks. First
of all, not all workflow patterns can be represented in low-level Petri nets [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
Thus, the number of possible business processes is restricted. Second,
branching bisimilarity used for projection inheritance does not take into account link
passing mobility. Link passing mobility is used inside service oriented
architectures to represent dynamic binding of interaction partners [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Since weak open
bisimulation supports link passing mobility, lazy soundness can be extended to
interaction soundness. Interaction soundness proves an orchestration to be (lazy)
sound regarding also its interactions inside a choreography. Since not all of the
interaction partners are statically known (i.e. connected) to the orchestration at
design–time, but instead are bound at run–time, a bisimulation technique based
on link passing mobility is required.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this paper we introduced a first prototypic tool chain to show the feasibility
of deciding lazy soundness using π-calculus. In order to evaluate the tool chain,
the scripts and examples are provided at http://pi-workflow.org. While the
graphical editing and export is currently OS depended (Mac OSX 10.4 required),
the conversion of the examples to π-calculus and reasoning runs on a variety of
platforms. The very next step regarding the tool chain is to create a stable
implementation. This implementation can then be used to analyze existing
πcalculus tools as well as the proposed pattern formalizations for conformance
regarding lazy soundness.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>ter Hofstede</surname>
            ,
            <given-names>A.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Business Process Management: A Survey</article-title>
          . In van der Aalst,
          <string-name>
            <given-names>W.M.P.</given-names>
            ,
            <surname>ter Hofstede</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.H.</given-names>
            ,
            <surname>Weske</surname>
          </string-name>
          , M., eds.
          <source>: Proceedings of the 1st International Conference on Business Process Management</source>
          , volume
          <volume>2678</volume>
          <source>of LNCS</source>
          , Berlin, Springer-Verlag (
          <year>2003</year>
          )
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Puhlmann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>Investigations on Soundness Regarding Lazy Activities</article-title>
          . In Dustdar, S.,
          <string-name>
            <surname>Fiadeiro</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
          </string-name>
          , A., eds.
          <source>: Proceedings of the 4th International Conference on Business Process Management (BPM</source>
          <year>2006</year>
          ), volume
          <volume>4102</volume>
          <source>of LNCS</source>
          , Berlin, Springer Verlag (
          <year>2006</year>
          )
          <fpage>145</fpage>
          -
          <lpage>160</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. BPMI.
          <source>org: Business Process Modeling Notation. 1</source>
          .0 edn. (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Puhlmann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Using the Pi-Calculus for Formalizing Workflow Patterns</article-title>
          . In van der Aalst, W.,
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casati</surname>
          </string-name>
          , F., eds.
          <source>: Proceedings of the 3rd International Conference on Business Process Management</source>
          , volume
          <volume>3649</volume>
          <source>of LNCS</source>
          , Berlin, Springer-Verlag (
          <year>2005</year>
          )
          <fpage>153</fpage>
          -
          <lpage>168</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Milner</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parrow</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Walker</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          : A Calculus of Mobile Processes,
          <source>Part I/II. Information and Computation</source>
          <volume>100</volume>
          (
          <year>1992</year>
          )
          <fpage>1</fpage>
          -
          <lpage>77</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fingar</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Business Process Management - The Third Wave</article-title>
          . MeghanKiffer Press, Tampa (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Puhlmann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Why do we actually need the Pi-Calculus for Business Process Management</article-title>
          ? In Abramowicz, W.,
          <string-name>
            <surname>Mayr</surname>
          </string-name>
          , H., eds.
          <source>: 9th International Conference on Business Information Systems (BIS</source>
          <year>2006</year>
          ), volume P-85
          <string-name>
            <surname>of</surname>
            <given-names>LNI</given-names>
          </string-name>
          , Bonn, Gesellschaft fu¨r Informatik (
          <year>2006</year>
          )
          <fpage>77</fpage>
          -
          <lpage>89</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>ter Hofstede</surname>
            ,
            <given-names>A.H.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kiepuszewski</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barros</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Workflow Patterns</article-title>
          .
          <source>Technical Report BETA Working Paper Series, WP 47</source>
          , Eindhoven University of Technology (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Overdick</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Puhlmann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Towards a Formal Model for Agile Service Discovery and Integration</article-title>
          . In Verma,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Sheth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Zaremba</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Bussler</surname>
          </string-name>
          , C., eds.
          <source>: Proceedings of the International Workshop on Dynamic Web Processes (DWP</source>
          <year>2005</year>
          ).
          <source>IBM technical report RC23822</source>
          , Amsterdam (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Briais</surname>
            ,
            <given-names>S.: ABC Bisimulation</given-names>
          </string-name>
          <string-name>
            <surname>Checker</surname>
          </string-name>
          . Available at: http://lamp.epfl.ch/ ∼sbriais/abc/abc.html (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Victor</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moller</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dam</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eriksson</surname>
            ,
            <given-names>L.H.</given-names>
          </string-name>
          :
          <article-title>The Mobility Workbench</article-title>
          . Available at: http://www.it.uu.se/research/group/mobility/mwb (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>van der Aalst</surname>
          </string-name>
          , W.,
          <string-name>
            <surname>Basten</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Inheritance of Workflows: An approach to tackling problems related to change</article-title>
          .
          <source>Computing science reports 99/06</source>
          , Eindhoven University of Technology, Eindhoven (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Basten</surname>
          </string-name>
          , T.:
          <article-title>In Terms of Nets: System Design with Petri Nets and Process Algebra</article-title>
          .
          <source>PhD thesis</source>
          , Eindhoven University of Technology, Eindhoven, The
          <string-name>
            <surname>Netherlands</surname>
          </string-name>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>ter Hofstede</surname>
            ,
            <given-names>A.H.M.:</given-names>
          </string-name>
          <article-title>YAWL: Yet Another Workflow Language (Revised version</article-title>
          .
          <source>Technical Report FIT-TR-2003-04</source>
          , Queensland University of Technology, Brisbane (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>