Fostering Reuse in Choreography Modeling Through Choreography
Fragments
Andreas Weiß, Vasilios Andrikopoulos, Michael Hahn and Dimka Karastoyanova
Institute of Architecture of Application Systems (IAAS),
University of Stuttgart, Universit¨atsstraße 38, 70569 Stuttgart, Germany
Keywords:
Choreography, Choreography Fragment, Choreography Fragment Pattern, Choreography Modeling, Reuse.
Abstract:
The concept of reuse in process models is extensively studied in the literature. Sub-processes, process tem-
plates, process variants, and process reference models are employed as reusable elements for process mod-
eling. Additionally, the notion of process fragments has been introduced to capture parts of a process model
and store them for later reuse. In contrast, concepts for reuse of processes that cross the boundaries of orga-
nizations, i.e., choreographies, have not yet been studied in the appropriate level of detail. In this paper, we
introduce the concept of choreography fragments as reusable elements for choreography modeling. Choreog-
raphy fragments can be extracted from choreography models, adapted, stored, and inserted into new models.
We provide a formal model for choreography fragments and identify a set of patterns constituting frequently
occurring meaningful choreography fragments.
1 INTRODUCTION
Reuse on the level of the modeling of executable
business processes, also known as workflows or ser-
vice orchestrations, is a well documented area of re-
search that has introduced many interesting concepts
and techniques. For example, frequently used orches-
tration logic can be sourced to sub-processes during
modeling time to be invoked later from parent process
models (Leymann and Roller, 2000). Process tem-
plates, process variants, and process reference mod-
els (Gottschalk et al., 2007) are employed as reusable
elements for process modeling. Furthermore, the no-
tion of process fragments has already been introduced
to capture parts of a process model and store them
for later reuse (Schumm et al., 2011). However, in
contrast to individual workflow models, concepts for
reuse of workflows that cross the boundaries of orga-
nizations, so-called choreographies, have not yet been
studied in sucient detail. Choreographies model
the interconnection of independent business organi-
zations or units by showing only the publicly visible
communication behavior of the choreography partic-
ipants. The participants are implemented by services
or orchestrations of services, i.e., workflows. Chore-
ographies can be described with two modeling ap-
proaches: interaction models, or interconnected in-
terface behavior models (Decker et al., 2008a). For
the purposes of this work, we refer to interconnected
interface behavior models when using the term chore-
ography model.
In this paper we introduce the notion of chore-
ography fragments in order to provide the means for
reuse in choreography modeling. Choreography frag-
ments can be used to capture and extract modeling
best practices and recurring patterns in choreography
models, store them in a library, and insert them into
new choreography models to foster reuse for chore-
ography modeling. Furthermore, and in particular for
partially defined choreography models with abstract
constructs as discussed in (Weiß et al., 2014), chore-
ography fragments can also be used for the refinement
of the abstract constructs into concrete choreography
model elements. Similar to process fragments, chore-
ography fragments can be created in either a top-down
or bottom-up manner (Schumm et al., 2010). Top-
down means the creation of fragments through ex-
traction from choreography models or mining of audit
trails of interconnected workflows, whereas bottom-
up refers to the manual creation of choreography frag-
ments from scratch. In this work, we concentrate
on the top-down approach, based on a formal model
that abstracts from the underlying modeling language
used.
An additional benefit of the use of choreogra-
phy fragments arises by looking across dierent types
28
Weiß A., Andrikopoulos V., Hahn M. and Karastoyanova D..
Fostering Reuse in Choreography Modeling Through Choreography Fragments.
DOI: 10.5220/0005342000280036
In Proceedings of the 17th International Conference on Enterprise Information Systems (ICEIS-2015), pages 28-36
ISBN: 978-989-758-097-0
Copyright
c
2015 SCITEPRESS (Science and Technology Publications, Lda.)
Customer PizzaOrdering
Kitchen
DeliveryCars
Place Order Receive Order
Notify Kitchen
Receive Status
Get Nearby
Car
Get available
Car
Send Delivery
Details
Reply Deliv.
Details
Receive
Order
Reply
Cooking Time
Receive
Order Details
Rec. Status
Request
Reply Status
Receive
Cooking Time
Get Status of
Delivery Cars
Rec. Delivery
Details
Customer TaxiOrdering
Taxis
Place Order
Receive
Order
Receive
Status
Get Nearby
Taxi
Get available
Taxi
Send Trip
Details
Reply Trip
Details
Receive Trip
Details
Recei. Status
Request
Reply Status
Get Status of
Taxis
Receive Trip
Details
a
b
Control Flow Connector
Message Link
Legend
Activity
Figure 1: Motivating scenario: (a) Pizza Company. (b) Taxi Company. Adopted from (Schilling, 2014).
of choreography fragments from dierent domains.
This allows the identification of reusable choreog-
raphy fragment patterns that appear frequently dur-
ing the extraction of fragments in choreographies.
These patterns help identifying meaningful choreog-
raphy fragments and thus further promote the concept
of reusability in modeling.
The contribution of this work is therefore twofold.
On the one hand, we provide a formal model for
choreography fragments that is independent of a par-
ticular choreography modeling language and there-
fore reusable across technologies. On the other hand,
based on this formal model we discuss an (initial) list
of fragment patterns that represent commonly appear-
ing constructs in choreography fragments.
The rest of this paper is structured as follows.
We first show a motivating scenario (Sec. 2), and
then provide a formal model defining the concept of
choreography fragments (Sec. 3). In Sec. 4, we iden-
tify choreography fragment patterns that constitute
meaningful choreography fragments. An evaluation
of the concepts is conducted by analyzing choreogra-
phy models from literature (Sec. 5). Sec. 6 compares
our work to related ones. Finally, we conclude our
paper with a summary and an outlook to future work
in Sec. 7.
2 MOTIVATION
In this section, we introduce a scenario to motivate
the concept of choreography fragments. The exam-
ple in Fig. 1 is based on the one from (Schilling,
2014). Fig 1a shows the interconnected workflows
of a pizza company forming a choreography. A cus-
tomer can order a pizza using a smartphone app. The
PizzaOrdering participant notifies the kitchen system
about the incoming order and requests the status of
the delivery personnel and their cars via a process
on a mobile device. Depending on the statuses of
the delivery personnel either the nearest or any avail-
able car is chosen to deliver the pizza. The customer
and the chosen car are subsequently notified about
the delivery details. Let’s assume now that the pizza
company discovers that their delivery cars can also
be used to transport customers in a shared economy
service model. Its IT department or an external con-
sultant now has to model and implement the relevant
business processes rapidly to seize this business op-
portunity before the competition. When looking at
the new taxi company choreography in Fig. 1b, it be-
comes apparent that the overall structure of the chore-
ography is similar to the pizza company choreogra-
phy. If a human modeler had the means to extract the
similarities from the existing pizza company chore-
ography such as the communication between the cus-
tomer process and the order process, store them as
reusable fragments, and insert them when modeling
a new choreography spanning several systems, over-
all time-to-market would decrease and choreography
models would no longer need to be created from
scratch. Therefore, even in small-scale choreography
models like the ones discussed in Fig. 1 there exists
a potential for reusability of modeling constructs that
the rest of this work builds upon.
3 FORMAL MODEL
Our notion of executable process models is oriented
FosteringReuseinChoreographyModelingThroughChoreographyFragments
29
on the work of (Sonntag and Karastoyanova, 2012),
which is itself based on the formal model introduced
in (Leymann and Roller, 2000). Our definition of pro-
cess fragments adopts the formal model of (Eberle
et al., 2010). Subsequently, we extend these defini-
tions to introduce the concepts of choreography mod-
els and fragments. A choreography model consists of
at least two participants, i.e., process models, mes-
sage links, and explicit control flow and implicit data
flow via the manipulation of variables. Choreography
models typically only show the publicly visible com-
munication behavior, because the details of the work-
flows implementing the choreography participants are
considered sensitive information providing a compet-
itive advantage to business organizations. The usually
non-executable choreography models are defined col-
laboratively and used to generate abstract representa-
tions of the choreography participants in a workflow
language. The collaborating business organizations
then refine their workflow models with business logic.
In addition to control and data flow for communica-
tion purposes, our definition of choreography model
and choreography fragment also allows for the ex-
istence of business logic related activities, variables,
and links. This allows us to use process fragments as
elements of reuse in the context of choreographies.
Definition 1 formally specifies our understanding
of process models, which are then used as choreogra-
phy participants in a choreography model. Note that
we use the projection operator π
n
to access the n
th
el-
ement of a tuple starting from index 1. P(X) denotes
the power set of the set X including the empty set .
p
y
.X accesses element X (potentially a set) of element
p
y
.
Definition 1 (Process Model, G). A process model
is a directed acyclic graph represented by the tuple
G = (m, V, i, o, A, L), where m M is the name of the
process model, V M × S (M = set of names; S =
set of data structures) is the set of variables, i is the
map of input variables, o is the map of output vari-
ables, A is the set of activities, and L is the set of con-
trol connectors (control flow links). Input variables
providing data to activities can be assigned using an
input variable map i : A P(V). Output variables to
which activities may write data to are described by
the output variable map o : A P(V). Finally, the set
of control connectors is L A × A × C. A link l L
is a triple l = (a
source
, a
target
, t | a
source
, a
target
A, t
C a
source
, a
target
) connecting a source and a tar-
get activity, while its transition condition (where C
is the set of all conditions) is evaluated during run
time. An evaluation to true means that the link is
followed. An activity a
start
A is called start ac-
tivity if it is not the target of a control flow link:
A
start
A := {a | a A l L, a , π
2
(l)}. The set
G
all
is the set of all process model graphs.
Definition 2 (Process Fragment, F). A process frag-
ment is a directed, acyclic graph F
F
G represented
by a tuple F = (m, V, i, o, A, L). The
F
operator
means, that the components of the tuple F are a sub-
set or equal to the their corresponding components in
the process model tuple G. The definition of a control
connector l L is extended by the concept of dangling
control connectors. A dangling control connector is a
triple l = (, a
target
, t) or l = (a
source
, , t), where is
a missing (undefined) source or target activity. There-
fore, the set L of control connectors is now defined as
L (A ) × (A ) × C, where C is the set of transi-
tion conditions (see Definition 1).
In the following, Definitions 1 and 2 are used
as a basis for the definitions of choreography model
and choreography fragment. We adopt the concept
of typed participants and so-called participant sets
from (Decker et al., 2007):
Definition 3 (Choreography Model, C). A choreogra-
phy model is a directed, acyclic graph denoted by the
tuple C = (m, P, P
set
, ML), where m M is the name of
the choreography model, P is the set of choreography
participants, P
set
is the set containing participant sets,
ML is the set containing all message links between
the choreography participants. A choreography par-
ticipant p P is a triple p = (m, type, G), where m M
is the name of the participant, type : P T is the func-
tion assigning a type t
p
T to the participant, and G
is a process model graph as defined in Definition 1.
Typing the participant allows to express if several
participants of the same type participate in the same
choreography. The set of all participants is denoted
by P
all
. A participant set p
set
P
set
is described by
p
set
P
all
. This modeling construct is used to model
a set of choreography participants whose number can
be determined only during execution.We define a con-
tainment relation R
con
as R
con
: P
set
P(P
all
). R
con
indicates the participants contained in a participant
set p
set
. Contained participants in a participant set
must be of the same type and have the same pro-
cess model graph: p
x
, p
y
R
con
(p
set
) : type(p
x
) =
type(p
y
) p
x
.G = p
y
.G.
The set of message links ML is denoted as
ML (P P
set
) × P × A × A ×C. A message link is a
tuple ml ML = (p
s
, p
r
, a
s
, a
r
, t), where p
s
, p
r
are the
sending and receiving participants. Furthermore, p
s
can be a participant set if any contained participant p
in p
s
: p R
con
(p
s
), p
s
π
3
(C) may send something.
For the sending and receiving participants the follow-
ing holds: p
s
, p
r
, i.e., the sender and the receiver
must not be identical; a
s
π
5
(p
s
.G) and a
r
π
5
(p
r
.G)
are the sending and receiving activities for which the
ICEIS2015-17thInternationalConferenceonEnterpriseInformationSystems
30
following holds: a
s
, a
r
. Sending and receiving activ-
ities must have only one outgoing or incoming mes-
sage link. These activities are denoted as commu-
nication activities. The transition condition t C is
evaluated during run time. Choreography participants
and participant sets are only connected via message
links. However, a choreography model graph may
have disconnected components because there may be
participants or participant sets that are not connected
to other participants or participant sets via message
links. Note that the disconnection is only allowed be-
tween participants but not between activities of a par-
ticipant’s process graph.
The defined concepts can be illustrated by means
of the motivating example in Fig. 1. The participants
are the workflows Customer, Pizza/TaxiOrdering,
Kitchen, and DeliveryCar/Taxi. Message links exist
between the participants. An example is the mes-
sage link between the Customer and the PizzaOrder-
ing workflow. Customer is the sending participant
and Place Order the sending activity of the mes-
sage link. PizzaOrdering is the receiving participant
and Receive Order the receiving activity. The Deliv-
eryCar/Taxi workflow can be modeled as participant
set as the number of instances may be only known at
run time. However, the type of the instances will al-
ways be the same.
Definition 4 (Choreography Fragment, F
c
). A chore-
ography fragment F
c
F
c
C is a directed, acyclic
graph with possibly disconnected components and
is represented by a tuple F
c
= (m, P
f
, P
set
, ML).
That means that the choreography fragment tuple
components are a subset or equal to the corre-
sponding choreography model tuple components.
A participant p
f
P
f
is defined dierently com-
pared to the participant in a choreography model:
p
f
= (m, type, F), where F is a process fragment.
That means, in a choreography fragment a participant
contains a process fragment, which can also be a
process model (cf. Definition 2). The definition of a
message link ml ML is extended with the concept
of dangling message links. A dangling message link
is a tuple ml = (, p
r
, , a
r
, t) or ml = (p
s
, , a
s
, , t),
where is a missing sending participant and
sending activity or a missing receiving participant
and receiving activity. The set of message links
ML in a choreography fragment F
c
is defined as
ML (P P
set
) × (P ) × (A ) × (A ) ×C,
where C is the set of (transition) conditions. Distinct
participants may be disconnected, i.e., without
message links to or from any other participant in the
choreography fragment. Depending on the selection
of elements that should belong to a choreography
fragment, activities inside participants may become
disconnected. To represent a valid choreography
fragment these disconnections must be repaired,
either manually or automatically. The only exception
are activities from parallel paths that were not
connected in the original model.
As an example, the choreography fragment
involving the Customer and the PizzaOrder-
ing participant in Fig. 1a can be expressed
using our formal model in the following way:
F
c
= {CustomerOderingFragment, {Customer, Piz-
zaOrdering}, , {ml
1
, ml
2
}}. The set of participant
sets is empty in this example. The participant
Customer is the tuple Customer = {Customer,
customerType, customer
process
} and the partici-
pant PizzaOrdering is the tuple {PizzaOrdering,
pizzaOrderingType,pizzaOrdering
process
}. The
process graph customer
process
is the tuple
{CustomerProcess, , , , {PlaceOrder, Receive-
OrderDetails}, {PlaceOrder, ReceiveOrderDetails,
true}}. The process graph pizzaOrdering
process
is the
tuple {PizzaOrderingProcess, , , , {ReceiveOrder,
ReplyDeliveryDetails}, {ReceiveOrder, ReplyDeliv-
eryDetails, true}}. Since we have not introduced
variables in our example in Fig. 1, the corresponding
sets are empty. The control flow links in each of
the two process graphs have the condition true
by default. In the pizzaOrdering
process
process
graph the included activities have been reconnected
with a control flow link in order to obtain a valid
choreography fragment. The message links ml
1
and
ml
2
contain the following elements: ml
1
={Customer,
PizzaOrdering, PlaceOrder, ReceiveOrder, true},
ml
2
={PizzaOrdering, Customer, ReplyDeliveryDe-
tails, ReceiveOrderDetails, true}.
Our formal model expresses data flow via implicit
data connectors, i.e., the manipulations of variables
by activities. When creating a process/choreography
fragment, the “dangling” data references must also be
included into the fragment. These are all variables
an activity inside a participant reads from or writes
to. Therefore, all participants from the sets of par-
ticipants have to be considered: p π
2
(F
c
), a
π
5
(p.F) : V
f
π
2
(p.F) {v | i(a) o(a)}. The same
holds for all the participants contained in participant
sets: p
set
π
3
(F
c
), p R
con
(p
set
), a π
5
(p.F) :
V
f
π
2
(p.F) {v | i(a) o(a)}.
4 CHOREOGRAPHY FRAGMENT
PATTERNS
Previous work (Andrikopoulos et al., 2014) has in-
troduced the notion of Collaborative, Dynamic &
FosteringReuseinChoreographyModelingThroughChoreographyFragments
31
Participant 1
b
1
c
1
a
1
Participant 2
b
2
c
2
a
2
d
2
Participant 3
c
3
e
1
Process Logic (P6)
Dangling Message Link (P4)
Message Link Connector (P1)
Process Model (P7)
More than one participant (P5)
var x
1
Communication with
intermediate logic (P2)
Participant 4
c
4
a
4
h
4
var y
3
e
4
g
4
f
4
b
3
d
3
Communication without intermediate logic (P3)
P6
P7
P2
P5
P3
d
4
b
4
e
2
g
2
h
2
var x
2
d
1
var y
1
P1
f
2
var z
3
e
3
P4
var x
4
var x
3
a
3
a
1
Activity
Control Flow Connector
var x
1
Variable
Message Link
Read From/Write
To Variable
Legend
Figure 2: Examples of the choreography fragment patterns.
Complex (CDC) systems that provide unified con-
cepts and tools for dierent application domains with
overlapping requirements but so far divergent solu-
tion. CDC systems propose to model and enact prob-
lems of application domains such as scientific exper-
iments (Weiß and Karastoyanova, 2014) and Collec-
tive Adaptive Systems (CAS) (Andrikopoulos et al.,
2013) as choreographies. When working with chore-
ography models from dierent application domains
we observed that they share common elements that
can be expressed by a pattern. Some of these patterns
have already been described by the service interaction
patterns of Barros et al. (Barros et al., 2005). How-
ever, service interaction patterns can be subsumed
into more general choreography fragment patterns.
In the following, we discuss some choreography
fragment patterns that we identified and their prop-
erties, while relating to the examples in Fig. 2. For
the rest of the discussion we refer to the act of copy-
ing parts of a choreography model to other models as
extraction. For this purpose, model elements in the
original choreography model must be selected either
manually with the help of a graphical tool, or auto-
matically to indicate what has to be copied. The copy-
ing of model elements should always result again in a
valid choreography model. Our patterns are meant to
show human modelers which parts of a choreography
model can be extracted to form a valid fragment that
can be reused in another choreography model.
Message Link Connector (P1). A
message link connector is a tuple
ml
c
= (a
s
, i(a
s
), o(a
s
), ml, a
r
, i(a
r
), o(a
r
)), where
ml ML and a
s
= π
3
(ml), a
r
= π
4
(ml) and a
s
, a
r
,,
with i(a
s
), o(a
s
), i(a
r
), o(a
r
) the input and output
variable maps of the activities a
s
and a
r
, respectively.
This means that the sending activity in tuple ml
c
is
equal to the sending activity in the contained message
link ml and the receiving activity in the tuple ml
c
is equal to the receiving activity in the contained
message link ml, and the message link ml must not be
a dangling message link. Furthermore, the message
link connector contains the input and output variables
of the sending and receiving activities. Message
link connectors can be used to ease the modeling
of a connection between two participants, which
typically involves the separate definition of a sending
and receiving activity as well as a message link
connecting both activities. In Fig. 2, the message
link connector is represented by the activities h
2
and
d
1
in the participants 2 and 1, respectively, and the
message link from activity h
2
to d
1
. Variables x
2
and
y
1
are also part of the message link connector.
ICEIS2015-17thInternationalConferenceonEnterpriseInformationSystems
32
Communication with Intermediate Logic (P2).
The message link connector described in P1 is a
special case of a choreography fragment distributed
among several choreography participants. The gener-
alization of this pattern can have parts of the chore-
ography logic distributed among several participants
with message links between them. The logic inside
the participants between the sending and receiving ac-
tivities (communication activities b
1
, d
1
and b
2
, h
2
in
Fig. 2) is completely selected. In our example, be-
sides the already enumerated communication activi-
ties, the activities c
1
and c
2
, d
2
as well as the message
links b
1
b
2
and h
2
d
1
belong to this choreography
fragment pattern. The cardinality of participants in
the fragment is |π
2
(F
c
)| > 1 or the cardinality of par-
ticipant sets in the fragment is |π
3
(F
c
)| > 1. Moreover,
the participants must be connected by message links
and there must be at least two message links in the
choreography fragment: p
f
π
2
(F
c
) : ml π
4
(F
c
),
where p
f
= π
1
(ml) p
f
= π
2
(ml)}. For participant sets
the following holds: p
set
π
3
(F
c
), p
f
R
con
(p
set
) :
ml π
4
(F
c
), where p
f
= π
1
(ml) p
f
= π
2
(ml) or in-
stead p
set
= π
1
(ml). That means, for all participants
contained in each participant set there exists a mes-
sage link such that each participant is either a send-
ing or receiving participant or the whole participant
set is the sender of a message link instead. In any
case, the cardinality of ML must be |ML| 2. Fur-
thermore, the number of activities in the participants
of a choreography fragment has to be smaller than in
the choreography model the fragment originates from.
This is expressed using the origin function
1
: p
f
π
2
(F
c
) : |π
5
(p
f
.F)| < |π
5
(origin
P
(p
f
, C).G)|. This also
holds for the participants contained in each partici-
pant set. P2 subsumes the service interaction pat-
terns (Barros et al., 2005) and message exchange pat-
terns (MEP). That means, choreography modelers can
extract choreography fragments that represent these
known patterns from literature and reuse them in a
new choreography model.
Communication without Intermediate Logic (P3):
This pattern is a restriction of P2, and also subsumes
the service interaction patterns (Barros et al., 2005)
from literature. In contrast to P2, here (domain-
specific) model elements including variables between
the communication activities realizing these patterns
are completely omitted when creating a new choreog-
raphy fragment. In our example, the activities c
3
and
c
4
and the variable y
3
are not part of P3. Input vari-
ables to aected communication activities, however,
may be included in the fragment (here variable x
3
).
Note that the communication activities such as send
1
The origin function is defined as origin
P
: P
f
× C P.
and receive are disconnected after extraction. The
extraction algorithm should try to preserve this con-
nection by providing re-connection suggestions to the
modeler extracting the fragment or by placing abstract
activities (Weiß et al., 2014) in between. The formal-
ization presented for P2 is extended by the (tempo-
rary) disconnection between the communication ac-
tivities when extracting a choreography fragment de-
scribed by this pattern: a π
5
(p
f
.F), p
f
π
2
(F
c
)
p
f
R
con
(p
set
), p
set
π
3
(F
c
), for which @l π
6
(p
f
),
where a = π
2
(l) and additionally: origin
A
(a, C) <
A
start
. That means, there exists a disconnection if
the activities in question are not target of a control
connector and were not a start activity in the original
choreography model. The origin function here returns
the activity of the original choreography model for an
activity of a choreography fragment.
Dangling Message Link (P4). In this pattern, a
message link ml π
4
(F
c
) is not connected to activities
and participants on both ends but rather it is dangling
on one side (cf. Definition 4). The non-dangling side
of the message link is connected to other elements in
a choreography fragment.
More than One Choreography Participant (P5).
A choreography fragment can comprise several par-
ticipants and/or participant sets of a choreography
model. Ultimately, the choreography fragment can
contain a completely specified choreography model.
This pattern is an extension to P2 (communication
with intermediate logic), however, here the complete
choreography participants are attributed to a choreog-
raphy fragment. The formalization is identical to P2,
except that the constraint on the number of activities
in the participants of the choreography fragment is re-
moved.
Process Logic (P6). The logic inside a participant
can be seen as a process fragment as specified in Def-
inition 2. This logic can be extracted as a choreog-
raphy fragment. This includes control and data flow
via variable manipulation as well as dangling control
connectors.
Process Model (P7). A complete process model
as defined in Definition 1 can be a choreography
fragment. Inserting a process model into a choreogra-
phy model converts it into a choreography participant.
These patterns represent a (not necessarily com-
plete) list of reusable fragment patterns that can be
FosteringReuseinChoreographyModelingThroughChoreographyFragments
33
used for the extraction and further insertion of chore-
ography fragments from and to choreography models,
respectively. In the next section, the identified pat-
terns will be evaluated by analyzing existing chore-
ography models from literature.
5 EVALUATION
For purposes of evaluating our proposal, we ana-
lyzed a set of choreography models from the literature
that cover dierent domains from business scenarios
to scientific experiments. Table 1 shows how often
choreography fragments described by a particular pat-
tern occurred in a particular choreography model. Ev-
ery choreography model naturally has some message
links and corresponding sending and receiving com-
munication activities. Thus, for each choreography
model a set of message link connectors can be identi-
fied (P1). The number of identified message link con-
nectors typically corresponds to the number of mes-
sage links in the choreography model. However, some
models contain black box participants that do not re-
veal any internal logic, thus, the number of message
link connectors is smaller than the number of mes-
sage links for those choreography models. The num-
ber of dangling message links (P5) typically is twice
the number of message links in the analyzed choreog-
raphy model, with the exception of the models con-
taining black box participants. The communication
with intermediate logic pattern (P2) also occurs in al-
most every choreography model we analyzed. An ex-
ception is the scientific choreography, which contains
a strictly sequential invocation between the two par-
ticipants, thus, P2 is not observed. For each analyzed
choreography model, P3 contains the same number of
occurrences as P2. This is due to the fact that P3 is a
restriction of P2 that omits the logic between the com-
munication activities, but specifies identical service
interaction patterns. Again, the scientific choreogra-
phy is an exception here. P5 shows the number com-
binations of complete participants and the message
links between them that can be included in a choreog-
raphy fragment for each of the analyzed models. The
number of process models (P7) corresponds to the
number of participants in a choreography model. The
counting of the possible 2
n1
process fragments (P6)
per choreography participant, where n = |π
5
(p.G)| is
the number of activities in choreography participant,
is out of scope of this paper. However, it is still a valid
choreography fragment pattern because it can be com-
bined with the other patterns to form more complex
choreography fragments.
The evaluation shows that all choreography frag-
ment patterns introduced in Sec. 4 can be found in the
analyzed choreography models in a sucient num-
ber. However, it is clear that this initial evaluation
does not provide any evidence towards the complete-
ness of this list. More comprehensive evaluations are
necessary to clarify this. Furthermore, the occurrence
of a pattern depends on the structure of the choreog-
raphy model. For example, the choreography model
for scientific experiments is sequential in nature due
to domain-specific requirements, thus, choreography
fragments implementing P2 and P3 can not be found
in this model.
6 RELATED WORK
The concept of process fragments as an element
of reuse in developing process based applications
has been covered in several works (Markovic and
Pereira, 2008; Weber et al., 2008; Eberle et al.,
2010; Schumm et al., 2011). For example, Markovic
and Pereira (Markovic and Pereira, 2008) introduce
a π-calculus based approach for process fragments.
Process fragments can be semantically annotated
for querying or autocompletion of process models.
In (Weber et al., 2008), the concept of process frag-
ments is used to describe change patterns and change
reuse for process-aware information systems. How-
ever, these works lack a discussion of modeling ele-
ments that only exist on the level of choreographies
such as participant sets or explicit message links con-
necting participants. This gap is closed with our no-
tion of choreography fragments. Eberle et al. (Eberle
et al., 2010) introduce a formal model for process
fragments and corresponding composition operations.
We have adopted the formal model for process frag-
ments and extended it to also consider choreography
fragments. In (Schumm et al., 2011), the authors pro-
pose the concept of a process fragment choreography
by using process fragments to describe a collabora-
tion scenario. This concept corresponds to the pattern
described in P2.
The WS-CDL choreography language (Kavantzas
et al., 2005) has the Perform Activity construct that
allows the recursive composition of existing chore-
ographies into more complex choreographies. While
the composition is also a method of reuse, our defini-
tion of choreography fragments not only comprises
completely specified choreography models but also
parts of a choreography model such as a message
link connector to ease modeling for human users.
Furthermore, our concept of choreography fragments
is not tied to a specific choreography modeling lan-
guage. Reuse of choreography models is also pro-
ICEIS2015-17thInternationalConferenceonEnterpriseInformationSystems
34
Table 1: Number of pattern occurrences in the analyzed choreography models.
Patterns
Choreography Models P1 P2 P3 P4 P5 P6 P7
Pizza Company (Section 2) 7 5 5 14 5 * 4
Taxi Company (Section 2) 5 3 3 10 3 * 3
Travel Scenario (Decker et al., 2007) 7 8 8 14 4 * 3
Auctioning Scenario (Decker et al., 2009) 11 8 8 22 4 * 3
Taxi Company (Andrikopoulos et al., 2014) 5 4 4 10 4 * 4
Logistics Scenario (Object Management Group, 2011b) 13 11 11 26 6 * 4
Scientific Choreography (Weiß and Karastoyanova, 2014) 1 0 0 2 2 * 2
Book Purchase (Weske, 2012) 5 5 5 10 3 * 3
Incident Management I (Object Management Group, 2011a) 6 6 6 16 5 * 4
Incident Management II (Object Management Group, 2011a) 8 8 8 20 8 * 5
Nobel Price Process (Object Management Group, 2011a) 5 3 3 11 7 * 4
Delivery Scenario (Decker et al., 2008b) 6 6 6 12 3 * 3
Car Development (Wagner et al., 2011) 4 3 3 8 1 * 2
posed by (Eder et al., 2006), who introduce federated
choreographies, which are shared between partners
and may support other choreographies. The chore-
ographies are realized by private orchestrations possi-
bly contributing to more than one choreography. The
main dierence to our work is the specification of
choreographies with interaction models.
So-called partial choreographies allowing the def-
inition of choreographies where the implementation
of roles can be left open until run time are proposed
in (Montesi and Yoshida, 2013). At run time, the par-
tial choreographies are composed. The authors aim
for the programming of choreographies using calcu-
lus, while we want to support modeling with reusable
elements extracted from choreography models.
The capabilities of choreography languages can be
compared using the service interaction patterns (Bar-
ros et al., 2005). The service interaction patterns in-
clude for example the send/receive or one-to-many
send pattern. Our work builds on these patterns
and subsumes them into more general ones. More-
over, when analyzing choreography models addi-
tional patterns constituting meaningful choreography
fragments can be identified. These patterns can be
used to support the work of choreography modelers.
Our patterns in conjunction with the service interac-
tion patterns can be used to select meaningful chore-
ographies fragments for extraction.
7 CONCLUSIONS AND FUTURE
WORK
In this work, we have introduced the concept of chore-
ography fragments as elements of reuse in chore-
ography modeling. Based on the formal definitions
of process models and fragments we have provided
a formal model for choreography models and frag-
ments. Choreography fragments represent parts of
choreographies that can be reused across dierent
choreography models in dierent domains. Based on
this formalization and on existing work we identified
a set of fragment patterns that constitute frequently
appearing fragment constructs that can be used as the
basis for fragment extraction in choreography models.
Our next step in the context of choreography frag-
ments is the definition of a method to support human
choreography modelers with the (semi-)automatic ex-
traction of choreography fragments from choreogra-
phy models, the storing the fragments in a fragment
library, and the insertion of choreography fragments
into a new or existing choreography model. This in-
cludes the definition of algorithms that support the
extraction of selected elements from a choreogra-
phy model based on user input and the creation of
valid choreography fragments from these selected el-
ements. Furthermore, we are working on the devel-
opment of algorithms supporting a fragment insertion
method. An additional aspect is the automatic discov-
ery and extraction of choreography fragments based
on the identified patterns. Besides the reuse during
modeling, there are other use cases where choreog-
FosteringReuseinChoreographyModelingThroughChoreographyFragments
35
raphy fragments can also be applied. This includes
the configurability of choreographies in multi-tenancy
scenarios (Hahn et al., 2014) or the refinement of par-
tially specified/defined choreography models (Weiß
et al., 2014). In multi-tenancy scenarios, tenants and
users register choreography fragments to configure a
template choreography model according to their re-
quirements. Furthermore, individual process models
not related to a choreography scenario could be con-
nected using a choreography fragment implementing
an appropriate service interaction pattern.
ACKNOWLEDGEMENTS
This work is funded by the projects FP7 EU-FET
600792 ALLOW Ensembles and the German DFG
within the Cluster of Excellence (EXC310) Simula-
tion Technology.
REFERENCES
Andrikopoulos, V., Bucchiarone, A., G
´
omez S
´
aez, S.,
Karastoyanova, D., and Antares Mezzina, C. (2013).
Towards Modeling and Execution of Collective Adap-
tive Systems. In Proceedings of WESOA’13, pages
69–81. Springer.
Andrikopoulos, V., G
´
omez S
´
aez, S., Karastoyanova, D., and
Weiß, A. (2014). Collaborative, Dynamic & Com-
plex Systems: Modeling, Provision & Execution. In
CLOSER’14, pages 276–286. SciTePress.
Barros, A., Dumas, M., and ter Hofstede, A. H. (2005). Ser-
vice interaction patterns. In Business Process Man-
agement, pages 302–318. Springer.
Decker, G., Kopp, O., and Barros, A. (2008a). An Introduc-
tion to Service Choreographies. Information Technol-
ogy, 50(2):122–127.
Decker, G., Kopp, O., Leymann, F., Pfitzner, K., and Weske,
M. (2008b). Modeling Service Choreographies using
BPMN and BPEL4Chor. In Proceedings of CAiSE
’08, pages 79–93. Springer.
Decker, G., Kopp, O., Leymann, F., and Weske, M. (2007).
BPEL4Chor: Extending BPEL for Modeling Chore-
ographies. In Proceedings of ICWS ’07, pages 296–
303. IEEE.
Decker, G., Kopp, O., Leymann, F., and Weske, M. (2009).
Interacting services: from specification to execution.
Data & Knowledge Engineering, 68(10):946–972.
Eberle, H., Leymann, F., Schleicher, D., Schumm, D., and
Unger, T. (2010). Process Fragment Composition Op-
erations. In Proceedings of APSCC’10, pages 1–7.
IEEE.
Eder, J., Lehmann, M., and Tahamtan, A. (2006). Chore-
ographies as federations of choreographies and or-
chestrations. In Advances in Conceptual Modeling-
Theory and Practice, pages 183–192. Springer.
Gottschalk, F., van der Aalst, W. M. P., and Jansen-Vullers,
M. H. (2007). Configurable Process Models - A Foun-
dational Approach. In Reference Modeling, pages 59–
77. Physica-Verlag HD.
Hahn, M., G
´
omez S
´
aez, S., Andrikopoulos, V., Karastoy-
anova, D., and Leymann, F. (2014). SCE
MT
: A Multi-
tenant Service Composition Engine. In Proceedings of
SOCA’14, pages 89–96. IEEE.
Kavantzas, N., Burdett, D., Ritzinger, G., Fletcher, T., La-
fon, Y., and Barreto, C. (2005). Web services chore-
ography description language version 1.0.
Leymann, F. and Roller, D. (2000). Production Workflow -
Concepts and Techniques. PTR Prentice Hall.
Markovic, I. and Pereira, A. C. (2008). Towards a formal
framework for reuse in business process modeling. In
BPM Workshops, pages 484–495. Springer.
Montesi, F. and Yoshida, N. (2013). Compositional chore-
ographies. In CONCUR’13 Concurrency Theory,
pages 425–439. Springer.
Object Management Group (2011a). BPMN 2.0 by Exam-
ple Version 1.0 (non-normative).
Object Management Group (2011b). Business Process
Model and Notation (BPMN) Version 2.0.
Schilling, J. (2014). Specification and Development of
Choreography Fragments for a Choreography De-
signer. Diploma thesis, University of Stuttgart.
Schumm, D., Karastoyanova, D., Kopp, O., Leymann, F.,
Sonntag, M., and Strauch, S. (2011). Process Frag-
ment Libraries for Easier and Faster Development of
Process-based Applications. J. of Sys. Integration,
2(1):39–55.
Schumm, D., Leymann, F., Ma, Z., Scheibler, T., and
Strauch, S. (2010). Integrating Compliance into Busi-
ness Processes: Process Fragments as Reusable Com-
pliance Controls. In Proceedings of MKWI’10, pages
2125–2137. Universit
¨
atsverlag G
¨
ottingen.
Sonntag, M. and Karastoyanova, D. (2012). Ad hoc Itera-
tion and Re-execution of Activities in Workflows. Int.
J. On Advances in Software, 5(1 & 2):91–109.
Wagner, S., Kopp, O., and Leymann, F. (2011). To-
wards Choreography-based Process Distribution In
The Cloud. In Proceedings of CCIS’11, pages 490–
494. IEEE.
Weber, B., Reichert, M., and Rinderle-Ma, S. (2008).
Change patterns and change support features - enhanc-
ing flexibility in process-aware information systems.
Data Knowl. Eng., 66(3):438–466.
Weiß, A., G
´
omez S
´
aez, S., Hahn, M., and Karastoyanova,
D. (2014). Approach and Refinement Strategies for
Flexible Choreography Enactment. In Proceedings of
OTM’14, pages 93–111. Springer.
Weiß, A. and Karastoyanova, D. (2014). Enabling coupled
multi-scale, multi-field experiments through chore-
ographies of data-driven scientific simulations. Com-
puting, pages 1–29.
Weske, M. (2012). Business Process Management -
Concepts, Languages, Architectures, 2nd Edition.
Springer.
ICEIS2015-17thInternationalConferenceonEnterpriseInformationSystems
36