<!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 scenario is a behavioral view { Orchestrating services by scenario integration</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Dirk Fahland</string-name>
          <email>fahland@informatik.hu-berlin.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Humboldt-Universitat zu Berlin, Institut fur Informatik</institution>
          ,
          <addr-line>Unter den Linden 6, 10099 Berlin</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The construction of a complex service orchestration is a tedious and error-prone tasks as multiple service interactions with a single orchestrating service must be speci ed and combined. We suggest to specify a service orchestration in terms of behavioral scenarios that capture a speci c aspect of service interaction, a behavioral view in isolation. By synchronizing the di erent scenarios, the views get integrated and dene the behavior of a complex service orchestration. Our formal model for scenarios and their integration is a class of Petri nets called oclets.</p>
      </abstract>
      <kwd-group>
        <kwd>service choreography</kwd>
        <kwd>view</kwd>
        <kwd>scenario</kwd>
        <kwd>Petri nets</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>set of views describes the entire database; hence it can be constructed from its
views. If the set of views is not complete or do not t, they have to be adjusted,
viz. integrated.</p>
      <p>In this paper, we propose the concept of a behavioral view for the construction
of behavioral models. In analogy to databases, a behavioral view is, in
principle, a projection of a complete behavioral model onto a speci c behavior, i.e. a
partial process execution also called scenario. Conversely, a \complete" set of
behavioral views describes the entire behavior. A behavioral view can have
arbitrary structure (as longs as it is a connected partial execution); it may therefore
cut hierarchies and hence is a means to express cross-cutting concerns in
process models. While the de nition of a behavioral view is straight forward, the
converse, their integration to form a complete behavioral model is non-trivial.</p>
      <p>
        We argue that a well-founded approach for behavior modeling by view
integration requires an appropriate formal model. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] we proposed the Petri
net class of oclets as a formal model for scenarios (or behavioral views) on the
basis of a formal, operational semantics [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Intuitively, this formal model
constructs complex behavior by concatenating and merging \ tting" scenarios. This
reduces the problem of behavioral integration to make a given set of scenarios
\ tting" to each other. In general, the solution is to unify the tasks and resources
occurring in the scenarios appropriately.
      </p>
      <p>In the remainder of this paper, we rst substantiate the concept of a
behavioral view in Sect. 2 as we introduce oclets, and their semantics at an intuitive
level. We subsequently explain the problem of behavioral integration and
suggest a procedure for process integration by the help of an example. We conclude
the paper with a discussion of related work and a presentation of open research
problems in Section 4.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Scenario-based service modeling with oclets</title>
      <p>
        For formally modeling services, the Petri net class of open nets has been
established. Open nets allow for a rigorous analysis of behavioral properties of services
while industrial service modeling languages can be translated to open nets [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ],
and vice versa [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The behavior of an open net is de ned by standard Petri net
semantics; this operational semantics de nes the (partially-ordered) runs of the
modeled service. As every service model is nite, these runs are not arbitrary,
but exhibit a certain structure, e.g. transitions always re in a speci c order.
      </p>
      <p>Scenario-based models exploit this regularity of the runs: One can identify
various repeating patterns (scenarios ) that are partial executions of the service.
The entire service behavior is composed of these scenarios. A scenario-based
model makes a scenario a modeling artifact. The entire service behavior is
expressed as a set of scenario; a corresponding formal semantics describes how
scenarios compose to runs.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], we propose the Petri net class of oclets for formally describing
scenarios with an operational formal semantics. An oclet is an acyclic Petri net with
a local precondition describing which requirements must be satis ed in order
PS - passenger standard
await
pass.
to execute the subsequent scenario. We denote service communication by
annotating transitions by incoming arrows (receive a message) and outgoing arrows
(send a message).
dpaatsas. picktaaxviatdirlai.pta t(ah1e)pasTsesrhevenicgeer,rswtchavinicehwsiet(nopdcrloeactepsPsicSeks)ubsppyerpceiiqckueiesnsgtthatanot
taxi available taxi and returning taxi number and
no. arrival time.
saennddatrar.xtiimnoe. tdraipta (2) The second view (oclets TR and TS)
await send trip speci es that an available taxi can register at
pass. details the service at any time. If taxi data is
registered at the service, the service will pick
Fig. 1. Standard service interac- a matching passenger and send the
corretion with passengers and taxis. sponding trip details to the taxi.
      </p>
      <p>Figure 3 depicts a partially ordered run of PR - passenger reset
the oclets PS; TR; TS as an acylic Petri net. The trip
run is constructed by merging (copies of) oclets data
itatutlyiteiqtvuheaamltlyathnlaenbeprea.lesTdsehnneogredurensvoiinefwFthiagen. do3btvshhioeouwtsasxaeinxdvpileiincw-- PpdCaa-tsasp.ass. cancel lceadncel- pictkaaxiv.atdiala.xtia
are not related to each other, while each makes geretqcuaensctel reset
sensWeeoncaintseoawsinl y. extend our view based model lceadncel- paawsasit.
with another view, see Fig. 2: A passenger may
cancel a request at any time (oclet PC); the Fig. 2. Service cancelation by
service resets its processing subsequently (PR). passenger and service reset.
This allows to construct the run depicted in
Fig. 4. Thereby oclet PS of Fig. 1 is not executed completely (transition send taxi no
is not enabled because get cancel request of PC occurred. Instead, oclet PR is
appended by merging transitions pick avail: taxi of PS and PR.</p>
      <p>The run of Fig. 4 shows again that the given behavioral views do not t to
each other; the taxi still gets noti ed about the passenger although the request
has been canceled. The views must be integrated.
3</p>
    </sec>
    <sec id="sec-3">
      <title>View integration with scenarios</title>
      <p>We just have introduced oclets as a modeling language for behavioral views and
show that if behavioral views do not t to each other, they cannot be composed
to a run. In this section, we sketch how behavioral views of services can be
integrated to de ne a consistent orchestrator service.
taxi
data
pick avail.</p>
      <p>pass.
taxi
data
pick avail.</p>
      <p>pass.</p>
      <p>We suggest the following integration procedure depicted in Fig. 5. The
orchestrator's interaction with each of its partner services is speci ed in a behavioral
view. To integrate the di erent views, (1) all views are re ned to the same
granularity of resources and tasks; (2) a modeler identi es points of synchronization
(speci c resources or tasks) and de nes integration options. Finally, (3)
synchronization is made explicit in each scenario by applying the integration options.
This adjusts the di erent scenarios to each other s.t. the formal semantics of
oclets constructs the orchestrator's behavior by concatenating and merging the
now tting scenarios. Possibly, some integration issues are not visible after the
rst integration step, so steps (2) and (3) are iterated until satisfaction. The
grey tasks of Fig. 5 require interaction with a human modeler.</p>
      <p>
        As all oclets of our example process already have equal granularity, the rst
step changes nothing. We now have to de ne integration options for our scenarios
in order to unify the given oclets accordingly. An integration option maps a set
of transitions of the oclets to be integrated to a (possibly new) transition. For
some kinds of integrations like parallel synchronization the resulting integrated
transition is a function of the integration inputs; see [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>In our example, the standard behavior in Fig. 3 suggests to integrate the
views via transitions pick avail: taxi and pick avail: pass by the parallel
composition depicted in Fig 6. Further, the reset oclet pr of Fig. 2 must be extended
to properly handle cancelation also in the service's interaction with the taxi.
Applying this integration on all oclets in the subsequent uni cation step
replaces transitions pick avail: taxi and pick avail: pass each by the integration
result match request; see oclets PS2, TS2, and TCS in Fig. 7.</p>
      <p>
        One can quickly see that this trip trip taxi taxi
integration option alone is insu - req. req. data data
cient: The reset transition of TCS picktaaxviail. rmeqautcehst picpkaassv.ail.
tohnelyprreosceetsss twhheilpeatshseentgaexri tthhrreeaadd oisf tanxoi tnaox.i datrtiap tdraipta
unmodi ed. A human modeler who
inspects the integration result TCS Fig. 6. View integration option
can detect this problem. Hence, an- TS2 - taxi standard synch
other (obvious) integration option trip taxi
tbbhyeasttpheexectiednaedsdhs.etAdrafntdeseriptiteohnnidsreeninscetiteegosrfamFtiuigos.nt7 PS2 - passenger stapaawnsdasait.rd synch rteaqx.i rmeqautcehsdttraipta
step, the passenger view and the get taxi no. data
teaxxisiTtvhiniee wiisnotaleargteriaoitnne.tdegsreartveidce, mbuotdesltiilsl pdaatsas. retrrqierpme.qquauetceshstt tdaaxtia TCS - taxi tcraipncsedelenstydanitclrsihp taxi
now given by oclets PS2, TR, TS2, taxi trip req. data
sPtCa,ndaanrdd rTuCnSo.fFtihgeurinete8grdaetpeidctssera- saennndod.atrar.xtiimnoe. data lceadncel- taxi rmeqautcehst trip
vice while Fig. 9 depicts a run with await no. data
cancelation. Thereby, the match re- pass. reset
aqrueesmt etrragnedsiutipoonns ocfonthstervuacrtiioounsoofctlhetes paawsasit. tdaaxtia
runs as they are now pairwise
compatible in term of enabling condi- Fig. 7. Integrated oclets with uni ed
trantion and e ect. The integration of sitions and enabling conditions.
the di erent scenarios on common transitions is a consequence of our formal
model [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>Fig. 9. A run with service cancelation of
the integrated scenarios ps2; tr; ts2; pc; tcs.</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>We proposed scenarios as behavioral views for modeling complex service
orchestrations. The interaction of an orchestrating service with each of its partner
services is modeled separately in terms of their interaction scenarios. In a
subsequent integration step, the di erent views are rst uni ed in granularity; then
integration options for synchronizing di erent views are de ned by the modeler;
nally, the views are uni ed according to the integration options. We proposed
the Petri net class of oclets as a formal model for scenarios; their operational
semantics allow to construct the behavior of the orchestrator directly from the
uni ed scenarios.</p>
      <p>
        Our proposition is a contribution to the relatively novel eld of service (or
process construction) by view integration [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Currently, there exists no
systematic solution for behavioral process integration. Initial works like [
        <xref ref-type="bibr" rid="ref10 ref4">4, 10</xref>
        ] consider
the problem from an information system perspective where database schema
integration is extended by considering behavior of data processing as well. The
problem of behavioral integration is now also being research in isolation. The
general line of research aims on constructing complex, integrated process models
by merging smaller process models (the views) on synchronization points. In [
        <xref ref-type="bibr" rid="ref11 ref12">11,
12</xref>
        ] di erent behavioral process integration options are considered for
constructing such merged process models. These integration options can be applied when
merging UML activity diagrams for constructing complex process models [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
Similar results are available for Petri net based models [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and EPCs [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>
        One markable observation in all these approaches is that prior to integration,
the process models have to be attened in order to de ne and apply the
integration options. While some sort of task grouping can still be applied [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], the
modeler essentially works on an ever growing complex model. Because process
integration involves frequent human interaction (see Sect. 3), this complexity
becomes a problem. One of the main problems appears to be that in
classical models, behavioral integration is achieved only by model composition. The
notion of behavioral view must essentially be given up in order to integrate.
Because, at the same time, the model must be attened, there are no abstraction
techniques available to support the modeler in reducing the complexity.
      </p>
      <p>We argue that a scenario-based service model, as the one suggested on this
paper, preserves the advantages of view-based service de nitions. We have that
di erent behavioral views can be uni ed in a way that they yields behavioral
integration of the views while preserving each view. Only local changes must be
made to achieve integration. Thus original view, and integrated views can still
be related to each other. This provides smaller modeling artifacts, and hence an
abstraction technique that suits the problem of process integration. The formal
semantics of oclets yields a precise behavioral de nition.</p>
      <p>While the formalization of a scenario as an oclet and its formal semantics are
available, the following questions remain to be answered for actually applying
oclets for service integration: If two oclets specify behavior at di erent levels of
granularity, how can a common granularity be achieved? What are the available
options to integrate two given oclets of same granularity? Can these options
be computed automatically? How does the integration of two oclets a ect the
integration of other oclets? Given a set of integration options, are the uni ed
oclets that realize the integration canonical? Are the integrated oclets consistent?
Can inconsistencies be computed automatically?</p>
      <p>We do not claim this list to be complete, but we consider answers to these
questions to be fundamental for a systematic solution for process integration,
whether using oclets or any other approach.</p>
      <p>Acknowledgements We would like to thank Jan Mendling for bringing this
topic to our attention and for the reviewers' comments and suggestions that
helped improving this paper. D. Fahland is funded by the DFG-Graduiertenkolleg
1324 \METRIK".</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Papazoglou</surname>
            ,
            <given-names>M.P.</given-names>
          </string-name>
          :
          <article-title>Agent-oriented technology in support of e-business</article-title>
          .
          <source>Commun. ACM</source>
          <volume>44</volume>
          (
          <issue>4</issue>
          ) (
          <year>2001</year>
          )
          <volume>71</volume>
          {
          <fpage>77</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <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>
          :
          <article-title>Service-oriented design: A multi-viewpoint approach</article-title>
          .
          <source>Int. J. Cooperative Inf. Syst</source>
          .
          <volume>13</volume>
          (
          <issue>4</issue>
          ) (
          <year>2004</year>
          )
          <volume>337</volume>
          {
          <fpage>368</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Grossmann</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ren</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schre</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stumptner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Behavior based integration of composite business processes</article-title>
          .
          <source>In: BPM'05. Volume 3649 of LNCS</source>
          . (
          <year>2005</year>
          )
          <volume>186</volume>
          {
          <fpage>204</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Schmitt</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saake</surname>
          </string-name>
          , G.:
          <article-title>A comprehensive database schema integration method based on the theory of formal concepts</article-title>
          .
          <source>Acta Inf</source>
          .
          <volume>41</volume>
          (
          <issue>7-8</issue>
          ) (
          <year>2005</year>
          )
          <volume>475</volume>
          {
          <fpage>524</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Fahland</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Woith</surname>
          </string-name>
          , H.:
          <article-title>Towards process models for disaster response</article-title>
          .
          <source>In: Workshops of the BPM'08</source>
          ,
          <string-name>
            <surname>Milan</surname>
          </string-name>
          , Italy (
          <year>September 2008</year>
          )
          <article-title>LNBIP to appear</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Fahland</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Oclets - a formal approach to adaptive systems using scenario-based concepts</article-title>
          .
          <source>Informatik-Berichte</source>
          <volume>223</volume>
          , Humboldt-Universitat zu Berlin (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <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 WSBPEL processes using exible model generation</article-title>
          .
          <source>Data Knowl. Eng</source>
          .
          <volume>64</volume>
          (
          <issue>1</issue>
          ) (
          <year>January 2008</year>
          )
          <volume>38</volume>
          {
          <fpage>54</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kleine</surname>
          </string-name>
          , J.:
          <article-title>Fully-automatic Translation of Open Work ow Net Models into Human-readable Abstract BPEL Processes</article-title>
          .
          <source>In: Modellierung</source>
          <year>2008</year>
          . Volume P-127 of LNI.,
          <source>GI (March</source>
          <year>2008</year>
          )
          <volume>57</volume>
          {
          <fpage>72</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , C.:
          <article-title>Special issue: Developing and integrating enterprise components and services</article-title>
          .
          <source>Commun. ACM</source>
          <volume>45</volume>
          (
          <issue>10</issue>
          ) (Oct.
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Preuner</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Conrad</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schre</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>View integration of behavior in objectoriented design</article-title>
          .
          <source>Data Knowl. Eng</source>
          .
          <volume>36</volume>
          (
          <year>2001</year>
          )
          <volume>153</volume>
          {
          <fpage>183</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Shen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grossmann</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stumptner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schre</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Analysis of business process integration in web service context</article-title>
          .
          <source>Future Generation Comp. Syst</source>
          .
          <volume>23</volume>
          (
          <issue>3</issue>
          ) (
          <year>2007</year>
          )
          <volume>283</volume>
          {
          <fpage>294</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Grossmann</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schre</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stumptner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Classi cation of business process correspondences and associated integration operators</article-title>
          .
          <source>In: ER (Workshops)</source>
          . (
          <year>2004</year>
          )
          <volume>653</volume>
          {
          <fpage>666</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simon</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Business process design by view integration</article-title>
          .
          <source>In: Business Process Management Workshops</source>
          . (
          <year>2006</year>
          )
          <volume>55</volume>
          {
          <fpage>64</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>