<!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>Analyzing Orchestration of BPEL Specified Services with Model Checking</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Joseph C. Okika⋆</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Supervised by Prof. Anders P. Ravn Computer Science Dept. Aalborg University</institution>
          ,
          <addr-line>Aalborg</addr-line>
          ,
          <country country="DK">Denmark</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This project investigates, implements and evaluates tool support for analysis of SOA-Based service contracts using Model Checking. The specification language for the contract is Business Process Execution Language (BPEL). It captures the behavior of services and allows developers to compose services without dependence on any particular implementation technology. A behavior specification is extracted from a BPEL program for formal analysis. One of the key conditions is that it reflects the intended semantics for BPEL, and in order to make it comprehensible, it is specified in a functional language. The resulting tool suite is hosted on an Eclipse platform.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>structured. Basic activities (for instance invoke, receive, etc.) define the
interaction capabilities of BPEL processes whereas the structured activities are made
up of constructs such as flow (for synchronization), compensate, and pick among
other activities.</p>
      <p>
        Current Results In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] we have demonstrated a viable solution to the problem
of checking for some functional and behavioural properties of individual services.
This is done through translation of the specifications to timed automata followed
by model checking for relevant properties. In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] we consider the problem of
consistency across specifications and identified a need to set up a correspondence
between the individual automata. The novel contribution in that paper is to
make such a consistency check practical by translating the automata to CCS,
the input language for the Concurrency Work Bench. As demonstrated by a case
study, this technique is applicable and gives a handle for automating yet another
consistency check for web services.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Current knowledge and the existing solutions</title>
      <p>In this section, we present several efforts geared toward formalizing/analyzing
services specified using BPEL - one of the most widely used orchestration
language. The overall observation about these works is that they all deal with three
major issues; semantics definition, mapping to an analysis language and
applicability. In Figure 1, δ represents those efforts that cover semantics definition
and mostly applying Petri net simulation while μ represents those that focus on
mapping/translation to an analysis language.</p>
      <p>The issue with most of these results is that they cover only fragments of
the language and for some of them, there is not explicit statement about the
underlying analysis language and possibility of automation.</p>
      <p>
        BP EL
μ [
        <xref ref-type="bibr" rid="ref15">5 − −7, 15</xref>
        ]
X
      </p>
      <p>
        Abstract state machines are used in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] to define an abstract operational
semantics for BPEL for version 1.1. The work focuses on formal verification of
service implementations and resolving inconsistencies in the standard. Abouzaid
and Mullins [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] propose a BPEL-based semantics for a new specification
language based on the π-calculus, which will serve as a reverse mapping to the
π-calculus based semantics introduced by Lucchi and Mazzara [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Their
mapping is implemented in a tool integrating the toolkit HAL and generating BPEL
code from a specification given in the BP-calculus. Unlike in our approach, this
work covers the verification of BPEL specifications through the mappings while
the consistency of the new language and the generated BPEL code is yet to be
considered. As a future work, the authors plan to investigate a two way mapping.
      </p>
      <p>
        Several model checking approaches have been employed to provide some form
of analysis. An overview of most of the semantics foundation is given in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. An
illustrative example which is well-explained is [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. It deals with specification
of both the abstract model and executable model of BPEL. The approach is
based on Petri nets where a communication graph is generated representing a
process’s external visible behavior. It verifies the simulation between concrete
and abstract behavior by comparing the corresponding communication graphs.
Continuing with Petri net, an algebraic high-level Petri net semantics of BPEL
is presented in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. The idea here is to use the Petri patterns of BPEL activities
in model checking certain properties of BPEL process descriptions. The model
is feature complete for BPEL 1.1. Lohmann extends this work with a
featurecomplete Petri net semantics for BPEL 2.0 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        As there exists several BPEL formalizations including a comprehensive and
rigorously defined mapping of BPEL constructs onto Petri net structures
presented in [
        <xref ref-type="bibr" rid="ref13 ref19">19, 13</xref>
        ] a detailed comparison and evaluation of Petri Net semantics
for BPEL is presented in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The comparison reveals different modelling
decisions with a discussion on their consequences together with an overview of the
different properties that can be verified on the resulting models.
      </p>
      <p>
        In the case of using labeled transition systems as models for formalizing
BPEL, few efforts is found in the literature which focuses on some fragments of
BPEL constructs. For instance, Geguang et al. present a language μ-BPEL [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]
where a full operational semantics using a labeled transition system is defined
for this language and its constructs to Extended Timed Automata. The language
constructs are mapped to a simplified version of BPEL 1.1. Fu et al. presented
a translation from BPEL to guarded automata in their work [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]; the guarded
automata is further translated into Promela specification which is the language
for the SPIN model. Similar approaches are also followed in [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ]. All these
efforts points to the fact that there is an important need for service contracts to
be specified and analyzed.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Proposed Ideas</title>
      <p>As mentioned in the previous section, many theoretical results have considered
the semantics analysis of BPEL. However, there are several issues around these
semantics. First, there is the issue of coverage - that is to say, is the full BPEL
language covered or some fragments of it? Most of the efforts using automata as
presented in the previous section covers only some fragments of BPEL. A few of
the efforts using Petri net covers a feature-complete BPEL. We point this out
because it is worthwhile to have a comparison with another full coverage in a
different formalism like automata. Second, there is the issue of translation where
one may ask: is it semantic preserving? There is also the third issue of whether
it is manual, semi-automated or automated.</p>
      <p>Looking at Figure 2, starting from BPEL, we consider a full behavior of
BPEL syntax and define the semantics based on UppAal, SBP EL. We follow a
functional approach where we define a function β mapping BPEL to UppAal.
We use timed automata for the formal model but with a rendering to UppAal
because it is a mature model checking tool with wider audience and supported
in our research environment. It can be a different choice (for example SPIN) in
another environment. Note that the function given which takes care of the TA
semantics is given with the UppAal tool and it’s transition system semantics.
Composing these two functions as shown in Figure 3 relates BP EL to ST A.
In effect, having defined the function mapping BPEL to UppAal, we achieve
a semantic preserving extraction/translation. That is, taking the inverse of the
function gives us the result.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] we give a classification of service contract specification languages based
on application families and aspects. The classification identifies competing
languages across aspects. It shows where a language may fit into the development of
service based applications as well as the ones that allow for desired analyses, for
instance match of functionality, protocol compatibility or performance match.
In addition, we use the classification to survey analysis approaches.
Furthermore, the classification may assist in planning of development activities, where
an application involves services with contracts that span across families. Such
scenarios are to be expected as service oriented applications spread. Another
paper [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] focuses on analyzing behavioral properties for web service contracts
formulated in Business Process Execution Language (BPEL) and Choreography
Description Language (CDL). The key result reported is an automated technique
to check consistency between protocol aspects of the contracts. The contracts
are abstracted to (timed) automata and from there a simulation is set up, which
is checked using automated tools for analyzing networks of finite state processes.
      </p>
      <p>Contribution to the problem domain and Discussion
The project offers three distinct contributions in the development of analysis and
verification tools for SOA-based services. 1) The technique employed is a
rigorous use of the power of functional languages in defining a property preserving
mapping for the full behavior of BPEL. 2) Model checking of behavior properties
of BPEL. General properties such as those related to deadlock and reachability
as well as application specific properties are considered. Eg., services should not
deadlock even with faults and compensation. 3) A prototype Integrated tool.
The supporting tool will allow developers to leverage the already existing IDE
such as Eclipse to design, specify and analyze SOA-based services.
Tool Development : We focus on building a theory based tool that gives
developers of SOA-based services a clear understanding of BPEL processes. We are
implementing the integrated supporting tool as a plug-in in the Eclipse
framework. A model (UML) of the various components of the analysis tool is shown
in Figure 4.</p>
      <p>Discussion : The main novelty is to solve the issue of semantics unrelated to
analysis tools. This is achieved by defining the extraction function using a
functional language. As a side effect to this, we develop a functional XML
parser/unparser for Standard ML. As this is an ongoing work, further effort will be geared
toward tuning the tool. We plan to build a service based point of sale system
using ActiveVOS orchestration system to demonstrate analysis of properties.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Faisal</given-names>
            <surname>Abouzaid</surname>
          </string-name>
          and
          <string-name>
            <given-names>John</given-names>
            <surname>Mullins</surname>
          </string-name>
          .
          <article-title>A Calculus for Generation, Verification and Refinement of BPEL Specifications</article-title>
          .
          <source>Electron. Notes Theor. Comput. Sci.</source>
          ,
          <volume>200</volume>
          (
          <issue>3</issue>
          ):
          <fpage>43</fpage>
          -
          <lpage>65</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Emilia</given-names>
            <surname>Cambronero</surname>
          </string-name>
          , Joseph C. Okika, and
          <string-name>
            <given-names>Anders P.</given-names>
            <surname>Ravn. Analyzing Web Service Contracts - An Aspect Oriented</surname>
          </string-name>
          <article-title>Approach</article-title>
          .
          <source>In Proceedings of the International Conference on Mobile Ubiquitous Computing, Systems</source>
          , Services and Technologies (UBICOMM'
          <year>2007</year>
          ), pages
          <fpage>149</fpage>
          -
          <lpage>154</lpage>
          . IEEE Computer Society Press,
          <year>November 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Emilia</given-names>
            <surname>Cambronero</surname>
          </string-name>
          , Joseph C. Okika, and
          <string-name>
            <given-names>Anders P.</given-names>
            <surname>Ravn</surname>
          </string-name>
          .
          <article-title>Consistency Checking of Web Service Contracts</article-title>
          .
          <source>Int'l Journal On Advances in Systems and Measurements</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <fpage>29</fpage>
          -
          <lpage>39</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>G.</given-names>
            <surname>Diaz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Pardo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. E.</given-names>
            <surname>Cambronero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Valero</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Cuartero</surname>
          </string-name>
          .
          <article-title>Verification of Web Services with Timed Automata</article-title>
          .
          <source>In Proceedings of First International Workshop on Automated Specification and Verification of Web Sites</source>
          , volume
          <volume>157</volume>
          , pages
          <fpage>19</fpage>
          -
          <lpage>34</lpage>
          . Springer Verlags Electronics Notes Theor.
          <source>Computer Sci. series</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Xiang</given-names>
            <surname>Fu</surname>
          </string-name>
          , Tevfik Bultan, and
          <string-name>
            <given-names>Jianwen</given-names>
            <surname>Su</surname>
          </string-name>
          .
          <article-title>Analysis of interacting BPEL web services</article-title>
          .
          <source>In WWW '04: Proceedings of the 13th international conference on World Wide Web</source>
          , pages
          <fpage>621</fpage>
          -
          <lpage>630</lpage>
          , New York, NY, USA,
          <year>2004</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Xiang</given-names>
            <surname>Fu</surname>
          </string-name>
          , Tevfik Bultan, and
          <string-name>
            <given-names>Jianwen</given-names>
            <surname>Su</surname>
          </string-name>
          .
          <article-title>WSAT: A Tool for Formal Analysis of Web Services</article-title>
          .
          <source>In Proc. of 16th Int. Conf. on Computer Aided Verification</source>
          , pages
          <fpage>510</fpage>
          -
          <lpage>514</lpage>
          . Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Xiang</given-names>
            <surname>Fu</surname>
          </string-name>
          , Tevfik Bultan, and
          <string-name>
            <given-names>Jianwen</given-names>
            <surname>Su</surname>
          </string-name>
          .
          <article-title>Synchronizability of conversations among web services</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          ,
          <volume>31</volume>
          (
          <issue>12</issue>
          ):
          <fpage>1042</fpage>
          -
          <lpage>1055</lpage>
          ,
          <year>December 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Niels</given-names>
            <surname>Lohmann</surname>
          </string-name>
          .
          <article-title>A feature-complete Petri net semantics for WS-BPEL 2.0</article-title>
          . In Kees van Hee,
          <string-name>
            <surname>Wolfgang Reisig</surname>
          </string-name>
          , and Karsten Wolf, editors,
          <source>Proceedings of the Workshop on Formal Approaches to Business Processes and Web Services (FABPWS'07)</source>
          , pages
          <fpage>21</fpage>
          -
          <lpage>35</lpage>
          . University of Podlasie,
          <year>June 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Niels</given-names>
            <surname>Lohmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.M.W.</given-names>
            <surname>Verbeek</surname>
          </string-name>
          , Chun Ouyang, and
          <string-name>
            <given-names>Christian</given-names>
            <surname>Stahl</surname>
          </string-name>
          .
          <article-title>Comparing and evaluating Petri net semantics for BPEL</article-title>
          . IJBPIM,
          <year>2008</year>
          .
          <article-title>(Accepted for publication)</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>Roberto</given-names>
            <surname>Lucchi</surname>
          </string-name>
          and
          <string-name>
            <given-names>Manuel</given-names>
            <surname>Mazzara</surname>
          </string-name>
          .
          <article-title>A pi-calculus based semantics for WS-BPEL</article-title>
          .
          <source>J. Log. Algebr. Program.</source>
          ,
          <volume>70</volume>
          (
          <issue>1</issue>
          ):
          <fpage>96</fpage>
          -
          <lpage>118</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>Axel</given-names>
            <surname>Martens</surname>
          </string-name>
          .
          <article-title>Consistency between executable and abstract processes</article-title>
          .
          <source>In EEE '05: Proceedings of the 2005 IEEE International Conference on e- Technology</source>
          ,
          <article-title>eCommerce and e-Service (EEE'05) on e-Technology, e-Commerce and</article-title>
          e-Service, pages
          <fpage>60</fpage>
          -
          <lpage>67</lpage>
          , Washington, DC, USA,
          <year>2005</year>
          . IEEE Computer Society.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Joseph</surname>
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Okika</surname>
            and
            <given-names>Anders P.</given-names>
          </string-name>
          <string-name>
            <surname>Ravn</surname>
          </string-name>
          .
          <source>Classification of SOA Contract Specification Languages. Web Services</source>
          , IEEE International Conference on,
          <volume>0</volume>
          :
          <fpage>433</fpage>
          -
          <lpage>440</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Chun</surname>
            <given-names>Ouyang</given-names>
          </string-name>
          , Eric Verbeek,
          <string-name>
            <surname>Wil M. P. van der Aalst</surname>
          </string-name>
          , Stephan Breutel, Marlon Dumas, and
          <string-name>
            <surname>Arthur H. M. ter Hofstede</surname>
          </string-name>
          .
          <article-title>Formal semantics and analysis of control flow in WS-BPEL</article-title>
          .
          <source>Sci. Comput</source>
          . Program.,
          <volume>67</volume>
          (
          <issue>2-3</issue>
          ):
          <fpage>162</fpage>
          -
          <lpage>198</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>R.</given-names>
            <surname>Perrey</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Lycett</surname>
          </string-name>
          .
          <article-title>Service-oriented architecture</article-title>
          .
          <source>Applications and the Internet Workshops</source>
          ,
          <year>2003</year>
          . Proceedings. 2003 Symposium on, pages
          <fpage>116</fpage>
          -
          <lpage>119</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Geguang</surname>
            <given-names>Pu</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Xiangpeng</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Shuling</given-names>
            <surname>Wang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Zongyan</given-names>
            <surname>Qiu</surname>
          </string-name>
          .
          <source>Towards the Semantics and Verification of BPEL4WS. Electr. Notes Theor. Comput. Sci.</source>
          ,
          <volume>151</volume>
          (
          <issue>2</issue>
          ):
          <fpage>33</fpage>
          -
          <lpage>52</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. D. Fahland W. Reisig.
          <article-title>ASM-based semantics for BPEL: The negative Control Flow</article-title>
          .
          <source>In Proc. 12th International Workshop on Abstract State Machines</source>
          , pages
          <fpage>131</fpage>
          -
          <lpage>151</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>Christian</given-names>
            <surname>Stahl</surname>
          </string-name>
          .
          <article-title>A Petri Net Semantics for BPEL</article-title>
          .
          <source>Informatik-Berichte</source>
          <volume>188</volume>
          ,
          <string-name>
            <surname>Humboldt-Universitt</surname>
          </string-name>
          zu Berlin,
          <year>July 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. Frank van Breugel and
          <string-name>
            <given-names>Maria</given-names>
            <surname>Koshika</surname>
          </string-name>
          .
          <source>Models and Verification of BPEL</source>
          ,
          <year>2005</year>
          . http://www.cse.yorku.ca/ franck/research/drafts/tutorial.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>M. T. Wynn</surname>
            ,
            <given-names>H. M. W.</given-names>
          </string-name>
          <string-name>
            <surname>Verbeek</surname>
          </string-name>
          , Aalst,
          <string-name>
            <surname>Ter A. H. M. Hofstede</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Edmond</surname>
          </string-name>
          .
          <article-title>Business process verification - finally a reality! Business Process Mgmt</article-title>
          .
          <source>Journal</source>
          ,
          <volume>15</volume>
          (
          <issue>1</issue>
          ):
          <fpage>74</fpage>
          -
          <lpage>92</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>