<!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>Streamlining Pattern Support Assessment for Service Composition Languages</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>J¨org Lenhard</string-name>
          <email>joerg.lenhard@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</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Various process modeling formalisms have been leveraged to specify service compositions. For assessing the expressiveness of similar languages and for providing best practice knowledge, patterns have frequently been proposed. However, the pattern catalogs proposed do not all share and document the criteria that were used for assessing pattern support. Furthermore, the scaling of the support measure frequently is very coarse, only providing a basic level of selectivity. This paper proposes an approach that allows for measuring the pattern support for different catalogs in a uniform manner. The selectivity of the support measure is improved by using the edit distance for calculating its degree. The feasibility of the approach is shown by preliminary results of the analysis of selected patterns and orchestration languages.</p>
      </abstract>
      <kwd-group>
        <kwd>SOA</kwd>
        <kwd>Pattern</kwd>
        <kwd>Service Composition Language</kwd>
        <kwd>Edit Distance</kwd>
        <kwd>Orchestration</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        A powerful property of service-oriented architectures (SOAs) is the service
composition layer [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. This layer covers the construction of composite services from
other services which is often achieved by combining calls to existing services
in a process-based manner. This essentially involves the definition of
controland data-flow dependencies between the different service invocations.
Representations of process-based service composition languages are choreography and
orchestration languages [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Traditional notions such as Turing-completeness are
inappropriate for capturing the suitability of service composition languages. In the
area of workflow systems, describing reasonable aspects of languages in the form
of patterns and analyzing existing languages for their support for those patterns
was proposed. This approach was initiated by the workflow patterns initiative
[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] and was widely used by product vendors and scientific research from its
start on. Today, many different pattern catalogs are available. However, a study
that analyzes a language using multiple pattern catalogs faces several problems.
Differences among the various publications according to what constitutes which
level of support limit comparability. In fact, most authors use different notions
of what counts as support and also do not document clearly what criteria need
to be fulfilled by a candidate solution to offer support for a pattern. This way,
the degree of support determined sometimes seems to be based on personal bias.
      </p>
      <p>
        The intent of the support measure is to describe how directly or easily a
pattern can be implemented in a language using built-in constructs. It does
generally not state whether or not a pattern can be implemented in a language at
all. The degree of support states to what extent the user of a language is aided by
the constructs directly available by or built into the language. Its scaling typically
is trivalent (or in some cases such as [
        <xref ref-type="bibr" rid="ref18 ref8">8, 18</xref>
        ] quadrivalent) and distinguishes
whether a solution provides direct (+), partial (+/-) or no direct support (-) for
a pattern ([
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], p. 50), based on the amount of constructs needed in a solution.
Constructs are the core building-blocks of a language, such as a decision activity
or a fork activity. Adjacent concepts, such as variables or correlation sets do
generally not count as constructs. Usually, a candidate solution that uses only a
single construct provides direct support. A combination of two constructs results
in partial support and if more than two constructs are needed no direct support
is provided. This trivalent degree can be too coarse. For example, consider the
case where a pattern is directly supported in two languages by a single construct.
In language A, the single construct can be used in a straight-forward manner
and the solution to the pattern is complete. In language B, the single construct
needs to be used and a complex configuration of the construct is necessary,
consisting of, say, three changes to the default values of its attributes which may
be interdependent on each other. Furthermore, the creation of a variable in the
process model is also needed. Obviously, the solution in language A is more direct
than the solution in language B. Nevertheless, they are equal concerning their
degree of support.
      </p>
      <p>This paper tackles these problems of comparability and selectivity by
proposing a unified approach for determining the degree of support a given solution
provides for a pattern. This approach is derived from the different methodologies
used by the authors of relevant catalogs. It works in two steps:
1. For a given candidate solution, it is first determined whether it provides a
valid implementation for a given pattern.
2. If so, the degree of support it provides is calculated. This calculation is done
using an alternative scaling of the support measure, the edit distance based
on high level change operations, to enhance the selectivity of the results.
The following section briefly describes relevant pattern catalogs and related
analyses. Section 3 outlines the proposed approach, followed by preliminary
results for the support of two orchestration languages for selected patterns in
Sect. 4. Section 5 concludes.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        The workflow patterns initiative published several pattern catalogs, most notably
the control-flow patterns [
        <xref ref-type="bibr" rid="ref13 ref16">13, 16</xref>
        ]. Other aspects of workflows are covered by the
data patterns [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and the resource patterns [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] also presents mechanisms
for exception handling in the form of a pattern catalog. The service interaction
patterns [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] were the first pattern catalog which is specific for languages focusing
on service-based processes and describe common interaction scenarios. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] followed
this catalog with a set of patterns that capture correlation mechanisms. [
        <xref ref-type="bibr" rid="ref17 ref18">17,
18</xref>
        ] consider patterns for dealing with changes to processes in process-aware
information systems. Like the service interaction patterns, [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] describes functions
that are common to business processes in the form of activity patterns. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] addresses
ways in which process instances can be created in the form of process instantiation
patterns. Recently, also time patterns [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ] for analyzing the support for time
constraints in a language have been proposed.
      </p>
      <p>
        With the exception of the activity patterns, all these publications of pattern
catalogs do also provide an analysis of the support of selected languages for the
patterns of the catalog. They value the validity of possible solutions using criteria
specific for the catalog. [
        <xref ref-type="bibr" rid="ref1 ref13 ref16 ref17 ref18 ref3 ref7 ref8">1,3,7,8,13,16–18</xref>
        ] do present a tri- or quadrivalent scaling
of the support measure. [
        <xref ref-type="bibr" rid="ref14 ref2">2, 14</xref>
        ] simply state whether a pattern can be realized at
all. The edit distance presented here relates to the graph-edit distance [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. This
edit distance is used in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] based on editor operations for demonstrating the
necessity for the support for adaptation patterns. Here, we use a more specific
set of edit operations based on the structure of a language to measure the degree
of pattern support.
      </p>
      <p>
        Based on the pattern catalogs, there are also a variety of studies that perform
additional analyses. In the area of orchestration languages, the Web Services
Business Process Execution Language (BPEL) is analyzed in the context of
the control-flow, data, resource, service interaction, correlation and process
instantiation patterns (cf. above). [
        <xref ref-type="bibr" rid="ref19 ref4">4, 19</xref>
        ] also compare the expressiveness of BPEL
to other Web Services composition languages. Both of the studies use several
pattern catalogs. An alternative orchestration language, Windows Workflow
(WF), is examined for its support of control-flow patterns in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] to provide
initial insights into its control-flow expressiveness and is compared to BPEL.
This paper proposes a two-step approach to improve such analyses comprising
multiple pattern catalogs which increases comparability and provides a higher
level of selectivity.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Approach</title>
      <p>The first step of the approach is to determine whether a given candidate solution
forms a valid implementation of a given pattern. Only a solution that fulfills this
minimal criterion is able to provide support for a pattern. The decision whether
this is the case is based on the structure and components of a pattern which are
similar for all pattern catalogs at hand, although not all of the catalogs contain
all of the aspects discussed below. Five components of a pattern are essential for
determining the validity of an implementation.</p>
      <p>
        Pattern description: The pattern description specifies the nature of the
pattern and its core aspects. To provide a valid implementation, a candidate
solution must cover all core aspects that are found in the pattern description,
as explicitly stated in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. This minimum component can be found in any
pattern catalog.
      </p>
      <p>
        Pattern context: The context, in some cases called issues [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], describes several
assumptions or criteria about the environment in which a pattern operates.
To provide a valid implementation, at most one of these criteria may not be
met by a candidate solution. This pays tribute to the fact that the support for
a pattern should still be calculated even if minor aspects cannot be covered.
These constraints can be inferred from the evaluation criteria of [
        <xref ref-type="bibr" rid="ref11 ref12 ref13">11–13</xref>
        ].
As an example, the Structured Synchronizing Merge pattern requires the
existence of preceding Multi-Choice construct in a context criterion ([
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], pp.
17 - 19). Context criteria can be found in [
        <xref ref-type="bibr" rid="ref11 ref12 ref13 ref15 ref16 ref2 ref8">2, 8, 11–13, 15, 16</xref>
        ].
      </p>
      <p>
        Execution traces: Closely related to the pattern context is the notion of
execution traces ([
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], p. 98). An execution trace defines the structure of all possible
execution sequences of activities that are valid for a given pattern. Examples
are mathematical expressions, used in [
        <xref ref-type="bibr" rid="ref1 ref17 ref8">1, 8, 17</xref>
        ], or graphical notations such as
Petri Nets, used in [
        <xref ref-type="bibr" rid="ref13 ref15">13, 15</xref>
        ]. If a formalization for execution traces is present,
a candidate solution must also conform to these traces which is explicitly
stated in [
        <xref ref-type="bibr" rid="ref17 ref8">8, 17</xref>
        ].
      </p>
      <p>
        Design choices: In most cases, the definition of a pattern is flexible to some
extent. Certain aspects are left open to the choice of the implementer of
a pattern, which are described as design choices ([
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], p. 97). Each design
choice denotes a list of alternative aspects one of which can be chosen when
implementing a pattern. A combination of different aspects from the design
choices attached to a pattern then forms a pattern variant ([
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], p. 97). A
candidate solution must implement at least one pattern variant (cf. [
        <xref ref-type="bibr" rid="ref18 ref8">8, 18</xref>
        ]),
omitting at most one of the design choices of the variant. As an example,
a solution for the Durations pattern that supports only maximum, but not
minimum durations of activities still forms a valid implementation of the
pattern ([
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], p. 100). Design choices can be found in [
        <xref ref-type="bibr" rid="ref15 ref18 ref2 ref8">2, 8, 15, 18</xref>
        ].
Data types: A pattern might inherently depend on the availability of specific
data types, such as dates or timestamps [
        <xref ref-type="bibr" rid="ref1 ref7 ref8">1, 7, 8</xref>
        ]. To provide support for a
pattern, a corresponding data type must be available in a language.
Additionally, if needed in a candidate solution, necessary operations for comparing or
manipulating these types must be provided, as can be found in the evaluation
contained in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>For a candidate solution that provides a valid implementation, the degree
of support can be calculated. As shown in Sect. 1, the traditional trivalent
degree can be too coarse. This situation can be improved by relying on an
alternative measure. The problem of qualifying the effort needed to realize a
pattern is basically a question of distance between processes. Say process X is
a process stub without specific functionality and process Y is an extension of
X that adds exactly the solution of a pattern. The less distant X is to Y, the
less effort is needed to transform X into Y. So, the support for a pattern in a
language can also be measured by computing the distance between two processes
written in the language, where one of the processes extends the other one with
the implementation of a given pattern. Listing 1 outlines such a process stub
for BPEL. It contains necessary import definitions and the definition of one
partnerLink which is inevitable for a working process. The control-flow of the
minimal process is formed by a receive activity that creates a new process
instance and uses a variable as input embedded in a sequence activity. The
pattern implementation then succeeds the receive activity.</p>
      <p>Listing 1. Process stub for BPEL
&lt; p r o c e s s &gt;
&lt; i m p o r t location=” P r o c e s s I n t e r f a c e . wsdl ” /&gt;
&lt; p a r t n e r L i n k s &gt;</p>
      <p>&lt; p a r t n e r L i n k name=” MyPartnerLink ” myRole=” patternRole ” /&gt;
&lt; / p a r t n e r L i n k s &gt;
&lt; v a r i a b l e s &gt;</p>
      <p>
        &lt; v a r i a b l e name=” S t a r t P r o c e s s I n p u t ” /&gt;
&lt; / v a r i a b l e s &gt;
&lt; s e q u e n c e &gt;
&lt; r e c e i v e createInstance=” yes ” variable=” S t a r t P r o c e s s I n p u t ”
partnerLink=” MyPartnerLink ” operation=” S t a r t P r o c e s s ” /&gt;
&lt;!−−Pattern Implementation−−&gt;
&lt; / s e q u e n c e &gt;
&lt; / p r o c e s s &gt;
[
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] presents several measures for computing the similarity between process
models. A foundation for these similarity measures that seems very applicable
for the problem at hand is the edit distance. This distance measures the smallest
distance between two strings by calculating the minimum number of change
operations, being substitutions, insertions or deletions of characters that are
needed to transform one string into another. For the problem at hand, the basis
are of course process models and not strings. The models to be compared are a
process stub, as demonstrated in List. 1 and a process extending this stub with
the implementation of a pattern. Counting substitutions of characters would
make no sense here, as the distance in concepts and constructs would get lost in
syntactical noise. For example a language could tend to have higher distances
simply because its activities have longer names. Much more applicable in this
case are high level changes to the structure of the process model, as opposed to
changes of characters. The difference is that high level changes comprise larger
structures and satisfy minimalistic semantical constraints. Examples are the
insertion of an activity and the setting of its name, the insertion of a variable and
the setting of its name and type or the setting of a target variable and expression
in an assignment. A concrete example for BPEL would be the configuration of
correlation for a receive activity. This involves the creation of a correlations
and a correlation element, the setting of its name and potentially whether the
correlation set should be initiated. Counting each syntactical modification, instead
of the single high level operation add correlation to receive, adds noise to the final
result. The intent of the edit distance here is after all not to capture differences
in naming, but differences in concepts and constructs, because these differences
better describe the effort needed by the user of a language. The edit distance
can now be calculated by adding up the amount of such high level insertions,
substitutions and deletions needed. Using the same set of high level changes
as basis for the edit distance in the assessment of different catalogs ensures
comparability between the results. Generalizing the set of high level changes and
making it applicable for different languages also provides comparability between
the languages, even for different pattern catalogs.
      </p>
      <p>
        Obviously, such edit operations can be facilitated by using a sophisticated
integrated development environment. The aim of this study however, is to measure
the support provided by a language and not by tools available for the language.
The edit distance as discussed here abstracts from the availability of specific
tools that facilitate edit operations. The same applies to the representation of the
language [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The identification of constructs that add to the edit distance cannot
easily be automated by relying on the syntactical elements of a representation
format such as XML tags or state machine nodes.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Preliminary Results</title>
      <p>the Windows Workflow Foundation in revision 4 (http://msdn.microsoft.com/
en-us/netframework/aa663328.aspx). The analysis is performed using the
approach of the previous section. The process stub used for WF 4 is semantically
identical to the one used for BPEL (cf. List. 1) and consists of a Receive activity
that creates a new process instance embedded in a Sequence activity. There is
currently no study that measures the degree of the pattern support of WS-BPEL
2.0 and WF 4 for these pattern catalogs. For comparison, we computed the degree
of support using the edit distance and the trivalent measure. The edit distance is
shown first followed by the trivalent measure in parentheses. A value of ‘-’ for
the edit distance means that no valid solution could be found in the scope of the
language. As opposed to this, a value of ‘-’ for the trivalent measure means that
either no valid solution could be found or that all possible valid solutions require
the use of more than two constructs. The table shows that the edit distance
allows for a better distinction. In several cases, both languages have the same
degree of support with the traditional measure, while the edit distance unveils
the differences.</p>
      <p>
        As an example, the realization of the Deferred Choice pattern ([
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], pp. 33/34)
is outlined in List. 2. The pattern is realized using two onMessage activities
embedded in a pick activity. The following steps are necessary to realize a valid
implementation: (i) replace receive with pick; (ii) set createInstance attribute
of pick to yes; (iii) create first onMessage; (iv) configure messaging properties
of first onMessage, consisting of the setting of the partnerLink, portType and
operation; (v) embed empty in first onMessage (an onMessage must contain a
child activity); (vi - viii) create and configure the second onMessage similar to
the first one. In summary, the edit distance of the solution amounts to eight.
      </p>
      <p>Listing 2. Realization of Deferred Choice pattern in BPEL
&lt;pick createInstance=” yes ” &gt;
&lt; o n M e s s a g e partnerLink=” MyPartnerLink ” operation=” Choice1 ” &gt;
&lt;empty /&gt;
&lt; / o n M e s s a g e &gt;
&lt; o n M e s s a g e partnerLink=” MyPartnerLink ” operation=” Choice1 ” &gt;
&lt;empty /&gt;
&lt; / o n M e s s a g e &gt;
&lt; / p i c k &gt;
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and Future Work</title>
      <p>This work presents an improvement to the method of pattern-based analysis
aiming at a higher degree of comparability between different pattern catalogs
and a higher level of selectivity of the results. The comparability between pattern
catalogs can be improved by using a unified approach for determining whether
a given candidate solution provides a valid implementation of a pattern. The
approach presented here essentially unites the methodologies used by other
authors and insights gained during own analyses. The level of selectivity can be
increased by using an alternative support measure, the edit distance based on high
level changes. Preliminary results show the applicability of the approach. The
next step is to test the approach in a complete study comparing several languages
and multiple pattern catalogs which is ongoing work. Especially, languages with
a focus on expressiveness such as YAWL might bear interesting results. Also,
a better formalization of several pattern catalogs in terms of execution traces
would be beneficial.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Barros</surname>
          </string-name>
          , G. Decker,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Weber</surname>
          </string-name>
          .
          <article-title>Correlation Patterns in Service-Oriented Architectures</article-title>
          . In FASE, Braga, Portugal, March/April 2007.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Barros</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          , and
          <string-name>
            <surname>A. H. M. ter Hofstede</surname>
          </string-name>
          .
          <article-title>Service Interaction Patterns</article-title>
          .
          <source>In BPM</source>
          , pages
          <fpage>302</fpage>
          -
          <lpage>318</lpage>
          , Nancy, France,
          <year>September 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>G.</given-names>
            <surname>Decker</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. Mendling. Process</given-names>
            <surname>Instantiation</surname>
          </string-name>
          . DKE, Elsevier,
          <volume>68</volume>
          :
          <fpage>777</fpage>
          -
          <lpage>792</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>G.</given-names>
            <surname>Decker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Overdick</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Zaha</surname>
          </string-name>
          .
          <article-title>On the Suitability of WS-CDL for Choreography Modeling</article-title>
          . In EMISA, Hamburg, Germany,
          <year>October 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>R. M. Dijkman</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Dumas</surname>
            , and
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Garc</surname>
          </string-name>
          <article-title>´ıa-Ban˜uelos. Graph Matching Algorithms for Business Process Model Similarity Search</article-title>
          . In BPM, Ulm, Germany,
          <year>September 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>O.</given-names>
            <surname>Kopp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Martin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Wutke</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Leymann</surname>
          </string-name>
          .
          <article-title>The Difference Between GraphBased and Block-Structured Business Process Modelling Languages</article-title>
          . EMISAIJ, GI e.V.,
          <volume>4</volume>
          :
          <fpage>3</fpage>
          -
          <lpage>13</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>A.</given-names>
            <surname>Lanz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Weber</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Reichert</surname>
          </string-name>
          .
          <article-title>Time Patterns in Process-aware Information Systems - A Pattern-based Analysis - Revised version</article-title>
          .
          <source>Technical report</source>
          , University of Ulm, Germany,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>A.</given-names>
            <surname>Lanz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Weber</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Reichert</surname>
          </string-name>
          .
          <article-title>Workflow Time Patterns for Process-Aware Information Systems</article-title>
          .
          <source>In BPMDS and EMMSAD in conjunction with CAiSE</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Papazoglou</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Georgakopoulos</surname>
          </string-name>
          .
          <article-title>Service-oriented Computing</article-title>
          .
          <source>Communications of the ACM</source>
          ,
          <volume>46</volume>
          (
          <issue>10</issue>
          ):
          <fpage>24</fpage>
          -
          <lpage>28</lpage>
          ,
          <year>October 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>C.</given-names>
            <surname>Peltz</surname>
          </string-name>
          .
          <article-title>Web Services Orchestration and Choreography</article-title>
          . IEEE Computer,
          <volume>36</volume>
          (
          <issue>10</issue>
          ):
          <fpage>46</fpage>
          -
          <lpage>52</lpage>
          ,
          <year>October 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>N.</given-names>
            <surname>Russell</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. H. M. ter Hofstede</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Edmond</surname>
            . Workflow Resource Patterns: Identification, Representation and
            <given-names>Tool</given-names>
          </string-name>
          <string-name>
            <surname>Support</surname>
          </string-name>
          . In CAiSE, pages
          <fpage>216</fpage>
          -
          <lpage>232</lpage>
          , Porto, Portugal, June 2005. Springer.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>N.</given-names>
            <surname>Russell</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. H. M. ter Hofstede</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Edmond</surname>
            , and
            <given-names>W. M. P. van der Aalst. Workflow</given-names>
          </string-name>
          <string-name>
            <surname>Data</surname>
          </string-name>
          <article-title>Patterns: Identification, Representation and Tool Support</article-title>
          . In ER, Klagenfurt, Austria,
          <year>October 2005</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>N.</given-names>
            <surname>Russell</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. H. M. ter Hofstede</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
            , and
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Mulyar</surname>
          </string-name>
          . Workflow
          <string-name>
            <surname>Control-Flow Patterns</surname>
            :
            <given-names>A Revised</given-names>
          </string-name>
          <string-name>
            <surname>View</surname>
          </string-name>
          .
          <source>Technical report, BPM Center Report</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>N.</given-names>
            <surname>Russell</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          , and
          <string-name>
            <surname>A. H. M. ter Hofstede</surname>
          </string-name>
          .
          <article-title>Workflow Exception Patterns</article-title>
          . In CAiSE, pages
          <fpage>288</fpage>
          -
          <lpage>302</lpage>
          , Luxembourg, Luxembourg,
          <year>June 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>L. H.</given-names>
            <surname>Thom</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Reichert</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Iochpe</surname>
          </string-name>
          .
          <article-title>Activity Patterns in Process-aware Information Systems: Basic Concepts and Empirical Evidence</article-title>
          .
          <source>IJBPIM</source>
          ,
          <volume>4</volume>
          (
          <issue>2</issue>
          ):
          <fpage>93</fpage>
          -
          <lpage>110</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. H. M. ter Hofstede</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Kiepuszewski</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Barros</surname>
          </string-name>
          . Workflow Patterns.
          <source>Distributed and Parallel Databases</source>
          , Springer,
          <volume>14</volume>
          (
          <issue>1</issue>
          ):
          <fpage>5</fpage>
          -
          <lpage>51</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>B.</given-names>
            <surname>Weber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Rinderle</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Reichert</surname>
          </string-name>
          .
          <article-title>Change Support in Process-Aware Information Systems - A Pattern-Based Analysis</article-title>
          .
          <source>Technical report</source>
          , University of Twente,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>B.</given-names>
            <surname>Weber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Rinderle</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Reichert</surname>
          </string-name>
          .
          <article-title>Change Patterns and Change Support Features - Enhancing Flexibility in Process-Aware Information Systems</article-title>
          . DKE, Elsevier,
          <volume>66</volume>
          :
          <fpage>438</fpage>
          -
          <lpage>466</lpage>
          ,
          <year>July 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>P.</given-names>
            <surname>Wohed</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          , M. Dumas, and
          <string-name>
            <surname>A. H. M. ter Hofstede</surname>
          </string-name>
          .
          <source>Analysis of Web Services Composition Languages: The Case of BPEL4WS</source>
          .
          <string-name>
            <surname>In</surname>
            <given-names>ER</given-names>
          </string-name>
          , Chicago, Illinois, USA,
          <year>October 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>A.</given-names>
            <surname>Wombacher</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <article-title>Alternative approaches for workflow similarity</article-title>
          .
          <source>In IEEE SCC, Miami</source>
          , Florida, USA,
          <year>July 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>M. Zapletal</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
            , N. Russell,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Liegl</surname>
            , and
            <given-names>W. H.</given-names>
          </string-name>
          <article-title>An Analysis of Windows Workflow's Control-Flow Expressiveness</article-title>
          .
          <source>In ECOWS</source>
          , pages
          <fpage>200</fpage>
          -
          <lpage>209</lpage>
          , Eindhoven, The Netherlands,
          <year>November 2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>