<!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 Proposal for Checking the Conformance of ebBP-ST Choreographies and WS-BPEL Orchestrations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matthias Geiger</string-name>
          <email>matthias.geiger@uni-bamberg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Sch¨onberger</string-name>
          <email>andreas.schoenberger@uni-bamberg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Guido Wirtz</string-name>
          <email>guido.wirtz@uni-bamberg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Distributed and Mobile Systems Group, University of Bamberg Bamberg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>A common problem in applying choreographies and orchestrations is ensuring and enforcing the consistency of the models which is often referred to as “conformance checking”. In this position paper, we introduce a concept for checking the conformance of WS-BPEL based orchestrations to ebBP-ST choreographies: First, the ebBP-ST and WS-BPEL models will be transformed into the process algebra CCS. Afterwards, the actual conformance check is performed by checking these CCS models for bisimulation equivalence.</p>
      </abstract>
      <kwd-group>
        <kwd>choreography</kwd>
        <kwd>orchestration</kwd>
        <kwd>conformance checking</kwd>
        <kwd>WSBPEL</kwd>
        <kwd>ebBP</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Today, the concepts of choreography and orchestration are well-known and
widely accepted in the services community. While choreographies describe a
scenario from a global point of view, orchestrations concentrate on the local
implementations of each involved party. While the de-facto standard on the
orchestration level is the Web Services Business Process Execution Language
(WS-BPEL; [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]), there exist various choreography languages.
      </p>
      <p>
        Especially in the business-to-business integration (B2Bi) domain, the ebXML
Business Process Specification Schema (BPSS or ebBP; [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]) is a suitable
choreography language as it provides B2Bi specific features. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], the authors present
ebBP-ST as an ebBP modeling dialect that captures collaborations between
exactly two partners as state-machine based choreographies. ebBP-ST
choreographies define an interaction protocol between partners that defines admissible
business document exchanges and the effect of those exchanges.
      </p>
      <p>At the implementation level, this protocol has to be implemented for the
involved partners. Figure 1 shows the basic architecture of these implementations:
For each involved partner, the (existing) systems containing application logic
are encapsulated as so-called backend systems. The actual orchestrations are
realized by so-called control processes (one for each partner) which are realized in
WS-BPEL. Within these WS-BPEL processes the automata structure defined in
the choreography is reused in order to govern the control flow of the choreography.
Nevertheless, the actual decision which activity should be performed next is not
initiated by the control process but by the backend systems resp. the interaction
partner.</p>
      <p>
        As control processes do not contain application logic, it is clear that a rather
strict notion of conformance has to be used: A control process is not able to
know how the backend systems or the partner control process will continue in
the protocol execution and therefore all foreseen possibilities defined by the
choreography have to be implemented. (Weak) bisimulation ([
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]) is a suitable
equivalence notion for this purpose.
      </p>
      <p>
        To actually check the conformance between ebBP-ST choreographies and
corresponding WS-BPEL orchestrations, the process definitions have to be
transformed into a common formal basis. We propose the process algebra Calculus of
Communicating Systems (CCS; [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]) as a suitable process representation because
of its straightforward support for state machine like structures.
      </p>
      <p>After specifying the conformance notion and the process algebra to use, the
overall approach to check the conformance is as follows: As ebBP-ST
choreographies describe binary collaborations, the ebBP-ST choreography has to be
implemented by two WS-BPEL orchestrations - one for each involved partner.
Therefore, the ebBP-ST model as well as the two WS-BPEL orchestrations have
to be transformed to CCS, resulting in three CCS representations. Afterwards
each of the CCS orchestration models has to be checked against the CCS
choreography model regarding bisimulation equivalence using a model checking tool
like the Edinburgh Concurrency Workbench (CWB).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>R.</given-names>
            <surname>Milner</surname>
          </string-name>
          .
          <source>A Calculus of Communicating Systems</source>
          , volume
          <volume>92</volume>
          of Lecture Notes in Computer Science. Springer,
          <year>1980</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>R.</given-names>
            <surname>Milner</surname>
          </string-name>
          .
          <article-title>Calculi for Synchrony and Asynchrony</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>25</volume>
          :
          <fpage>267</fpage>
          -
          <lpage>310</lpage>
          ,
          <year>1983</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. OASIS.
          <source>Web Services Business Process Execution Language (WSBPEL) Version</source>
          <volume>2</volume>
          .0,
          <string-name>
            <surname>April</surname>
          </string-name>
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. OASIS.
          <source>ebXML Business Process Specification Schema Technical Specification Version 2.0</source>
          .4,
          <string-name>
            <surname>Oktober</surname>
          </string-name>
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. A. Scho¨nberger, C. Pflu¨gler, and
          <string-name>
            <given-names>G.</given-names>
            <surname>Wirtz. Translating Shared</surname>
          </string-name>
          <article-title>State Based ebXML BPSS models to WS-BPEL</article-title>
          .
          <source>International Journal of Business Intelligence and Data</source>
          Mining - Special
          <source>Issue: 11th International Conference on Information Integration and Web-Based Applications and Services in December</source>
          <year>2009</year>
          ,
          <volume>5</volume>
          (
          <issue>4</issue>
          ),
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>