<!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>Do We Need Internal Behavior in Choreography Models?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oliver Kopp</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Frank Leymann</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Architecture of Application Systems, University of Stuttgart, Germany Universitatsstra e 38</institution>
          ,
          <addr-line>70569 Stuttgart</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Choreographies capture the message exchanges between multiple processes. Certain choreography languages ignore the internal behavior completely, other languages o er the possibility to model internal behavior. This paper presents an example modeled in both types of languages and discusses the need to integrate internal behavior in choreographies. A choreography de nes the message exchanges between several processes. While it is fundamental that a choreography language has to include the ability to express message exchanges, it is an open question whether a choreography language should o er constructs to model internal behavior. In this paper, we present a sample choreography and use this example to discuss, whether internal behavior should be modeled in a choreography. The example is introduced in Sect. 2. Afterwards, it is modeled in Let's Dance (Sect. 3) and BPMN (Sect. 4). An overview on the support of modeling internal behavior of the most prominent choreography modeling languages is given in Sect. 5. Finally, Sect. 6 provides a conclusion and points out future work.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Fig. 1 presents the drop-dead order scenario, where a customer requests a
distributor to ship products until a given drop-dead date. The distributor neither
produces the products by himself nor owns a delivery. Therefore, the distributor
asks a supplier whether he can produce the requested products in time and the
distributor asks a carrier whether he can carry the produced products by time.
If the supplier and the carrier agree, then the customer's order is accepted and
rejected otherwise. The example itself was rst presented in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and is used in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
to develop transaction requirements for services. We use this example in this
paper to illustrate the di erence between di erent choreography languages.
drop-dead
      </p>
      <p>
        order
Customer
Let's Dance [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is a choreography language having the interaction as basic building
block. Therefore, the model is called \interaction model" [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. A choreography
model of the drop-dead order scenario is presented in Fig. 2. The topmost box
denotes that a customer sends an order to a distributor. Control ow is modeled
using directed arcs. The rst arc points to a group, labeled with a circled A
in the gure. In this group, the message exchange between the customer and
the shipper and between the customer and the carrier happens in parallel. The
crossed line between the acceptance and the rejection denotes that exactly one of
the two message exchanges may happen. After both the supplier and the carrier
have sent an answer, they have either accepted or rejected. Afterwards, group
B is active. In case both the supplier and the carrier accepted the request of
the distributor, they receive an acceptance of the distributor and the products
are built and delivered to the customer. Otherwise, the order is rejected at the
supplier and the carrier. The client's order is rejected, too.
      </p>
      <p>In the presented choreography, there is no internal behavior modeled. The
messages in the choreography suggest that the supplier is somehow
producing products and that the carrier delivers them. However, there is no explicit
description of these tasks.
4</p>
    </sec>
    <sec id="sec-2">
      <title>BPMN</title>
    </sec>
    <sec id="sec-3">
      <title>Model</title>
      <p>
        Figure 3 presents the drop-dead order scenario using BPMN [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. BPMN is a
choreography language belonging to the category of interconnection models [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
In interconnection models, the control ow is modeled per participant. While the
interaction is one building block in interaction models, the interaction is split up
in send and receive activities in the case of interconnection models. To provide a
better overview on the model, one path through the model is highlighted. This
path denotes the case, where both the supplier and the carrier accept the request
of the distributor. First, the customer sends an order to the distributor, which
asks the supplier and the carrier in parallel, whether they can produce/deliver in
time. The supplier and the carrier decide and both accept the order. Since both
have accepted, they are noti ed that the distributer accepted, too. Finally, the
      </p>
      <sec id="sec-3-1">
        <title>Distributor</title>
        <sec id="sec-3-1-1">
          <title>Order</title>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Distributor Supplier</title>
        <sec id="sec-3-2-1">
          <title>Request Product</title>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Distributor Carrier</title>
        <sec id="sec-3-3-1">
          <title>Request Delivery</title>
        </sec>
      </sec>
      <sec id="sec-3-4">
        <title>Supplier Distributor</title>
        <sec id="sec-3-4-1">
          <title>Acceptance</title>
        </sec>
      </sec>
      <sec id="sec-3-5">
        <title>Supplier</title>
      </sec>
      <sec id="sec-3-6">
        <title>Distributor</title>
        <sec id="sec-3-6-1">
          <title>Rejection</title>
          <p>producer produces, noti es the carrier, which picks up the products and delivers
them to the customer.</p>
          <p>
            Besides the split of the interactions into interconnections of send and receive
activities, two internal activities of the supplier and the carrier are shown. In
case of the supplier, the choreography model shows the decision activities and
the produce activity. When it comes to implement a supplier based on the
choreography description, the internal behavior can be used as basis for an
executable BPEL process [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ]. In case the choreography model is detailed enough,
an IT export just has to add concrete WSDL information to the activity to turn
the process into an executable BPEL process.
          </p>
          <p>r
e
m
o
t
s
u</p>
          <p>C
Due
date,
items
tr
o
u
b
iitr
s
D
decide accept
reject</p>
          <p>Supplier</p>
          <p>Carrier
produce
products
are ready
decide accept
reject
accept
accept
supplier accepted</p>
          <p>rejection
carrier accepted
rejection</p>
          <p>rejection
Fig. 3. Drop-dead order scenario modeled in BPMN
pickup
product</p>
          <p>y
delivery</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Support of Internal Actions</title>
      <p>Language
BPEL4Chor
BPMN 1.2
iBPMN
Let's Dance
WS-CDL</p>
      <p>Model Type
interconnection
interconnection
interaction
interaction
interaction</p>
      <p>Constructs for Internal</p>
      <p>Behavior Available?
+
+
{
{
+
In this paper, we gave an overview on the support of modeling internal behavior
in choreography languages. The drop-dead order scenario was introduced and
modeled using Let's Dance and BPMN. Finally, we showed the support of internal
actions in ve choreography languages. All languages supporting interconnection
models also support the modeling of internal behavior. In the case of interaction
models, two of the three languages do not support modeling internal behavior.
WSCDL is the only language based on interaction models, where internal behavior
can be modeled.</p>
      <p>The examples suggest that it depends on the use-case of the choreography
whether internal actions are needed. If the choreography is used to serve a basis
for executable processes, the internal actions can be seen as placeholders for calls
to internal services. Thus, the e ort to build executable BPEL processes seems
less. We are going to describe concrete scenarios and to use them as basis for a
comparison.</p>
      <p>Acknowledgments This work is supported by the BMBF funded project
Tools4BPEL (01ISE08B).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Haugen</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fletcher</surname>
          </string-name>
          , T.:
          <string-name>
            <surname>Multi-Party Electronic Business Transactions</surname>
          </string-name>
          .
          <source>Technical report, UNCEFACT</source>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Sun</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aiello</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Requirements and Evaluation of Protocols and Tools for Transaction Management in Service Centric Systems</article-title>
          .
          <source>In: 31st Annual International Computer Software and Applications Conference (COMPSAC</source>
          <year>2007</year>
          ), IEEE Computer Society (
          <year>2007</year>
          )
          <volume>461</volume>
          {
          <fpage>466</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Zaha</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barros</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>ter Hofstede</surname>
            ,
            <given-names>A.H.M.:</given-names>
          </string-name>
          <article-title>Let's Dance: A Language for Service Behavior Modeling</article-title>
          .
          <source>In: CoopIS 2006: Proceedings 14th International Conference on Cooperative Information Systems</source>
          . Volume
          <volume>4275</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2006</year>
          )
          <volume>145</volume>
          {
          <fpage>162</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopp</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barros</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>An Introduction to Service Choreographies</article-title>
          .
          <source>Information Technology</source>
          <volume>50</volume>
          (
          <issue>2</issue>
          ) (
          <year>2008</year>
          )
          <volume>122</volume>
          {
          <fpage>127</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Object</given-names>
            <surname>Management</surname>
          </string-name>
          <article-title>Group (OMG): Business Process Modeling Notation (BPMN) Version 1</article-title>
          .
          <fpage>2</fpage>
          . (
          <year>2009</year>
          ) http://www.bpmn.org/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <source>OASIS: Web Services Business Process Execution Language Version</source>
          <volume>2</volume>
          .0 {
          <string-name>
            <given-names>OASIS</given-names>
            <surname>Standard.</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopp</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>BPEL4Chor: Extending BPEL for Modeling Choreographies</article-title>
          . In Society, I.C., ed.
          <source>: Proceedings of the IEEE 2007 International Conference on Web Services, IEEE Computer Society</source>
          (
          <year>2007</year>
          )
          <volume>296</volume>
          {
          <fpage>303</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barros</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          :
          <article-title>Interaction Modeling Using BPMN</article-title>
          . In ter Hofstede,
          <string-name>
            <given-names>A.H.M.</given-names>
            ,
            <surname>Benatallah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Paik</surname>
          </string-name>
          , H.Y., eds.
          <source>: CBP: Proceedings of the 1st International Workshop on Collaborative Business Processes</source>
          . Volume
          <volume>4928</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2007</year>
          )
          <volume>208</volume>
          {
          <fpage>219</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kavantzas</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Burdett</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ritzinger</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lafon</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <source>Web Services Choreography Description Language Version 1.0. W3C</source>
          . (
          <year>2005</year>
          ) http://www.w3.org/TR/ws-cdl-
          <volume>10</volume>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>