<!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>Decompositional Computation of Operating Guidelines Using Free Choice Con icts</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Niels Lohmann</string-name>
          <email>niels.lohmann@uni-rostock.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universitat Rostock, Institut fur Informatik</institution>
          ,
          <addr-line>18051 Rostock</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>An operating guideline (OG) for a service S nitely characterizes the (possibly in nite) set of all services that can interact with S without deadlocks. This paper presents a decompositional approach to calculate an OG for a service whose underlying structure is acyclic and contains free-choice con icts. This divide-and-conquer approach promises to be more e cient than the classical OG computation algorithm.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        We use open nets [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] to model services. Open nets extend classical Petri nets [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
with an interface I = (Pin [ Pout ) P to explicitly model asynchronous message
exchange and a set of nal markings modeling desired nal states of the service.
Two open nets N and M can be composed (denoted by N M ) by merging their
interfaces accordingly (N 's input places with M 's output places, and vice versa).
Thereby, the inner structures of N and M (i.e., the open net without interface)
funded by the DFG project \Operating Guidelines for Services" (WO 1466/8-1)
are assumed to be disjoint. An open net is acyclic if the reachability graph of its
inner structure is acyclic. An open net weakly terminates if, from every reachable
marking, a nal marking is reachable.
      </p>
      <p>De nition 1 (Controllability, strategy). Let N be an open net. N is
controllable, i there exists an open net M such that N M is weakly terminating.
Then M is called a strategy for N . Denote the set of all strategies for N by
Strat (N ).</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], the concept of an operating guideline (OG) was introduced. The
operating guideline OG N for a service N is a nite automaton whose states are
annotated with Boolean formulae. It characterizes a (possibly in nite) set of
services, denoted by Comply (OG N ). In fact, it exactly characterizes the set of
strategies of N .
      </p>
      <p>
        Theorem 1 ([
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]). Let OG N be an operating guideline for an open net N . Then
Comply (OG N ) = Strat (N ).
c
c
final
d
a a ∧ b
b
      </p>
      <p>a, b
d a, b</p>
      <p>a, b
(d) OGN
true
Example Figure 1 depicts an open net N. The net is controllable, as there exists
a strategy M which rst receives either an a or a b message and then responds
with a c or a d message, resp. This and all other strategies are characterized by
the operating guideline OG N. The conjunction a ^ b annotated to the initial node
states that a strategy must be ready to initially both receive an a message and a
b message. The node with the true formula is a technical necessity. Though it
will never be reached in a composition (e. g., after having received an a message,
the further receipt of either a or b is impossible, because N will not send these
messages), such respective branches may be still part of a strategy, because they
do not jeopardize weak termination.
3</p>
    </sec>
    <sec id="sec-2">
      <title>Decomposition</title>
      <p>In a Petri net, a place with more than one transition in its postset models a
con ict.</p>
      <p>De nition 2 (Con ict cluster, free choice). Let x 2 P [ T be a node of a
net. The con ict cluster x, denoted by [x], is the minimal set of nodes such that:
{ x 2 [x].
{ If p 2 [x] for a place p 2 P , then p [x].</p>
      <p>{ If t 2 [x] for a transition t 2 T , then t [x].
[x] is free choice if for all t; t0 2 [x] \ T holds: either t \ t0 = ; or t = t0.</p>
      <p>Given a marking of a net, this marking either enables all transitions in a
free choice con ict cluster or none of them. We exploit this property by using
the transitions of a free choice con ict cluster to decompose the net. For each
possible outcome of the con ict, we de ne one net in which only this transition
is present and all others are removed together with their adjacent arcs.
De nition 3 (Decomposition). Let N = [P; T; F; m0; ] be an open net and
C a free choice con ict cluster of N with C \T = ft1; : : : ; tmg. The decomposition
of N w.r.t. C is the set fN1; : : : ; Nmg with Ni = [P; T nft1; : : : ; ti 1; ti+1; : : : ; tmg;
F n ((P ft1; : : : ; ti 1; ti+1; : : : ; tmg) [ (ft1; : : : ; ti 1; ti+1; : : : ; tmg P )); m0; ],
for i 2 f1; : : : ; mg.</p>
      <p>Theorem 2. Let N be a safe acyclic open net and fN1; : : : ; Nmg be its
decomposition w.r.t. a free-choice con ict cluster C of N with C \ T = ft1; : : : ; tmg.
Then Strat (N ) = Tim=1 Strat (Ni).</p>
      <p>Proof. We prove the equality by showing mutual set inclusion.</p>
      <p>: Let M 2 Strat (N ). We will show by contradiction that M 2 Tim=1 Strat (Ni).</p>
      <p>Assume M 2= Tim=1 Strat (Ni). Then M Ni contains a deadlock for a net
Ni. Let m0 ! md be a transition sequence to this deadlock in M Ni. This
sequence is also realizable in M N . There, md might activate a transition
not present in M Ni, which can only be a transition in (C \ T ) n ftig.
As C is a free choice con ict cluster, md also activates ti in M Ni which
contradicts the assumption that M Ni contains a deadlock. Consequently,
M Ni is deadlock free and M 2 Strat (Ni). Repeating the arguments, we
can conclude M 2 Tim=1 Strat (Ni).
: Let M 2 Tim=1 Strat (Ni). We will show by contradiction that M 2 Strat (N ).</p>
      <p>Assume M 2= Strat (N ). Then M N contains a deadlock. Let m0 ! md be
a transition sequence to this deadlock in M N . There are two cases:
{ contains a transition of C \ T . Then, by de nition of the decomposition,
there exists a net Ni such that is realizable in M Ni, because due to
safeness and acyclicity, transitions in C \ T can occur at most once in .
{ contains no transition of C. Then is realizable in M Ni, for any
1 i n.</p>
      <p>Both cases would contradict the assumption that M 2 Tim=1 Strat (Ni). Hence,
M N is deadlock free and M 2 Strat (N ).
tu</p>
      <p>
        Theorem 1 describes the relationship between the strategy set of a service
and its OG. The intersection of strategy sets can be related to OGs using the
product operator [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The product of two operating guidelines OG N and OG M ,
denoted by OG N OG M , is constructed similar to the product automaton for
classical nite automata. In addition, the formula annotated to a state [q1; q2] of
the product is de ned to be the conjunction of the formula annotated to q1 and
that of q2.
      </p>
      <p>
        Theorem 3 ([
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). Let OG N , OG M be operating
Comply (OG N OG M ) = Comply (OGN ) \ Comply (OGM ).
guidelines.
      </p>
      <p>Then</p>
      <p>This result allows us to express Theorem 2 in terms of operating guidelines:
Corollary 1. Let N be a safe acyclic open net and fN1; : : : ; Nmg be its
decomposition w.r.t. a free-choice con ict cluster C of N with C \ T = ft1; : : : ; tmg.
Then Comply (OG N ) = Comply (OG N1 OGNm ).</p>
      <p>We are now able to calculate an operating guideline for N by calculating
the operating guidelines for the decomposition of N , followed by calculating the
product of the operating guidelines. Note that Theorem 2 does not require the
whole net to be free choice, but only the con ict cluster under consideration.
t1
p
a
b
c
d
q1 a
a
c
q3 final</p>
      <p>b
q2 c a, b true q4
a, b a, b, c, d
p
t2 b
a
c
d
r1 b
b
d
r3 final</p>
      <p>a
r2 d a, b true r4
a, b a, b, c, d
[q2,r4] a a ∧ b [q1,r1]
c ∧ true b</p>
      <p>a, b
c [q4,r2] d ∧ true a, b
fitnraule∧ a, b d a, b
[q3,r4] fitnraule∧ [q4,r3]
[q4,r4]
true
Example (cont.) The net N in Fig. 1 contains a free choice con ict cluster
fp; t1; t2g and can be decomposed into the nets N1 and N2, depicted in Fig. 2.
The respective OGs characterize the strategies for the decomposed nets. To
determine the intersection of these strategy sets, the product OG N1 OG N2
needs to be constructed. As described earlier, it is the product of the underlying
automata, and each state is annotated with the conjunction of the respective
formulae. For example, the annotation of state [q1; r1] is the conjunction of the
formulae of q1 (a) and r1 (b). The resulting product OG N1 OG N2 is equivalent
to OG N (cf. Fig. 1); that is, it characterizes the same set of strategies.</p>
      <p>The advantage of the decompositional OG calculation is the reduced
complexity of the intermediate results. Though the OGs of the decomposed nets might
have more nodes, the state space of the decomposed nets is usually much smaller.
Furthermore, the product operator's associativity allows to interleave the OG
calculation and the product construction.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Applications</title>
      <p>
        Though the requirements of Theorem 2 (safeness, acyclicity) are very restrictive,
the decompositional approach to calculate an OG can still be used for industrial
speci cation languages. In the following, we evaluate which features of the
languages BPEL [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], BPMN [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and UML2 [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] activity diagrams may be used to
while still meeting the requirements of Theorem 2.
      </p>
      <p>
        BPEL For BPEL there exists a feature-complete Petri net semantics [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] which
allows to translate a BPEL process into safe open nets. The net is cyclic only if
activities for repetitive execution (while, repeatUntil, and sequential forEach)
or event handlers are used in the process. Several patterns contain con icts of
which many are not free-choice. However, the following are:
{ decisions modeled with the if activity (in case XPath errors are not modeled),
{ transition conditions to set control links within a flow activity, and
{ leaving the process's positive control ow (throwing a the rst fault).
Furthermore, con icts can depend on each other. For example, whether or not to
skip an activity during dead path elimination is a non-free choice, yet dependent
on the setting of the respective control links, which in turn is a free choice
decision. Hence, when decomposing the net using such a \dominant" con ict,
several \dependent" decisions become deterministic.
      </p>
      <p>
        BPMN Dijkman et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] de ned a Petri net semantics for a subset of BPMN.
The resulting Petri net is safe if the control ow does not contain a lack of
synchronization. This situation can arise if gateways are not nested properly (e.g.,
the control ow splits using an AND-gateway, but joins using an XOR-gateway).
Such models contain obvious design aws.
      </p>
      <p>The nets are acyclic if the control ow is acyclic and no activities with explicit
loop annotation are used. Again, many occurring con icts are not free-choice,
especially when exception ow is modeled. However, decision gateways can be
translated into free choice con icts.</p>
      <p>UML-AD UML2 activity diagrams have a very close relationship to BPMN
and Petri nets. An activity diagram can be translated into an acyclic Petri net if
its control ow is acyclic. In case the diagram contains no lack of synchronization,
the translation results a safe Petri net. Additionally, the whole net (i. e., every
con ict cluster) is free choice if no pinsets are used.</p>
      <p>Table 1 summarizes the language constructs that are forbidden or that
guarantee acyclic and safe Petri nets, and that yield free choice con icts. The
latter constructs can be used to discover free choice con ict clusters already
during the translation of a process described in BPEL, BPMN or UML-AD into
Petri nets. This allows for avoiding an a-posteriori discovery of free choice con ict
clusters.</p>
      <p>
        We implemented the described decomposition approach in the compiler
BPEL2oWFN [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] which translates a BPEL process into a set of decomposed
open nets. For these nets, the OGs can be calculated using the tool Fiona [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ],
which also implements the calculation of product operating guidelines.1
5
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>We presented a decompositional approach that uses free-choice con ict clusters
to decompose a safe acyclic open net. The operating guidelines for the resulting
nets can be calculated independently and subsequently merged using the product
operator. Hence, the calculation can be seen as a divide-and-conquer approach
to calculate operating guidelines.</p>
      <p>Both the calculation of the OGs for the decomposed nets and the product
operators are currently implemented to cope with arbitrary nets and OGs, resp.
In future work we plan to adjust these algorithms to exploit the simpler structure
of the intermediate constructs. In particular, we plan to study free choice open
net, because they can be decomposed into con ict free open nets for which the
OG construction should be less complex.</p>
      <p>In addition, the requirements of Theorem 2 might be relaxed. For example,
the theorem still holds if every transition sequence marks the con ict cluster at
most once. This requirement can also be ful lled by open nets which are cyclic
or non-safe.
1 Both tools are available for download at http://service-technology.org/tools.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Massuthe</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Operating guidelines for nite-state services</article-title>
          .
          <source>In: ICATPN 2007</source>
          .
          <article-title>Volume 4546 of LNCS</article-title>
          ., Springer (
          <year>2007</year>
          )
          <volume>321</volume>
          {
          <fpage>341</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Massuthe</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reisig</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>An operating guideline approach to the SOA</article-title>
          .
          <source>AMCT</source>
          <volume>1</volume>
          (
          <issue>3</issue>
          ) (
          <year>2005</year>
          )
          <volume>35</volume>
          {
          <fpage>43</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Reisig</surname>
          </string-name>
          , W.:
          <article-title>Petri Nets</article-title>
          .
          <source>EATCS Monographs on Theoretical Computer Science edn</source>
          . Springer (
          <year>1985</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Massuthe</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Behavioral constraints for services</article-title>
          .
          <source>In: BPM 2007</source>
          .
          <article-title>Volume 4714 of LNCS</article-title>
          ., Springer (
          <year>2007</year>
          )
          <volume>271</volume>
          {
          <fpage>287</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Alves</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , et al.:
          <source>Web Services Business Process Execution Language Version 2.0. OASIS Standard, 11 April</source>
          <year>2007</year>
          ,
          <string-name>
            <surname>OASIS</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. OMG:
          <article-title>Business Process Modeling Notation (BPMN) Version 1.0</article-title>
          .
          <string-name>
            <given-names>OMG</given-names>
            <surname>Final</surname>
          </string-name>
          <article-title>Adopted Speci cation</article-title>
          ,
          <source>OMG</source>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. OMG: Uni ed Modeling
          <source>Language (UML). Version 2.1</source>
          .2,
          <string-name>
            <surname>OMG</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Lohmann</surname>
          </string-name>
          , N.:
          <article-title>A feature-complete Petri net semantics for WS-BPEL 2.0</article-title>
          . In: WS-FM
          <year>2007</year>
          .
          <article-title>Volume 4937 of LNCS</article-title>
          ., Springer (
          <year>2008</year>
          )
          <volume>77</volume>
          {
          <fpage>91</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Dijkman</surname>
            ,
            <given-names>R.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ouyang</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Semantics and analysis of business process models in BPMN</article-title>
          . Information &amp; Software
          <string-name>
            <surname>Technology</surname>
          </string-name>
          (
          <year>2008</year>
          )
          <article-title>(Accepted for publication)</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Massuthe</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stahl</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weinberg</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Analyzing interacting BPEL processes</article-title>
          .
          <source>In: BPM 2006</source>
          .
          <article-title>Volume 4102 of LNCS</article-title>
          ., Springer (
          <year>2006</year>
          )
          <volume>17</volume>
          {
          <fpage>32</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>