ing more on what services do in a composition than
on how they do it. As consequence, interactions be-
tween system’s components or peers should be more
precisely described than in “interconnected interface
models”, within which the interactions are defined in-
ternally to each peer and the description of interfaces
between system components becomes of paramount
importance. On the other hand, “interaction–based
models” consider the “conversations” between peers
as the basic building blocks of any system design,
whereas the specification of interfaces then becomes
secondary to the system’s properties analysis.
Figure 2: Example of a BPMN diagram.
BPMN 2.0 advocates for the Service Choreogra-
phy Description Language (WS–CDL), which better
fulfills the requirements of choreography specifica-
tions due to their global perspective of the system.
BPMN 2.0 Choreography Diagrams describe one–
way and two–way interactions between peers. In Fig-
ure 1, the peers A and B represented by the upper and
lower bands, respectively, in the participants tasks ex-
change messages. In the second task, there is a two
way interaction: peer A receives a message and peer
B sends a return message.
2.1 Example
Consider, for instance, the simple example of an Hos-
pital Pharmacy logistic process shown in Figure 2.
The BPD depicts the message flows between two par-
ticipants, the Ward and the Pharmacy, which are in-
dependent BP and may have been constructed sepa-
rately. Clearly, the synchronization between both par-
ticipants is a necessary behavioural property for suc-
cessful collaboration.
For example, from the pharmacy participant’s
perspective, drugs delivering should be guaran-
teed by sending a message to the ward partici-
pant prior a purchase order would be made or
sent; while from the ward participant’s perspec-
tive, by sending a message to the pharmacy partic-
ipant with enough time in advance to have the re-
quired drugs to begin medical treatment. The spec-
ification in Figure 3 shows the interaction between
the peers(customer, ward, pharmacy, db) translated
from the business process Hospital Pharmacy diagram
in Figure 2, which represent the behaviour of tasks
within the pools Ward and Pharmacy. In this spec-
ification, we can see that first the customer interacts
with the
ward
(
connect
), then sends the prescription
to the
pharmacy
(
request
) and eventually receives
a response if the drug is available. On the contrary,
the
pharmacy
makes a order (
purchase order
) and
when the drug is available, it delivers the drug to
the
ward
(
receives
). In this last case, the pre-
scription will be prepared and given to the customer
(
delivered
), which terminates the complete proto-
col.
Search
drug
Customer
Send internal
order
Ward
Ward
Pharmacy
request
Ward
Pharmacy
DB
Pharmacy
Ward
Customer
Prepare
drug
Ward
Pharmacy
Ward
Pharmacy
Search
drug
Prepare
order
Deliver
drug
Make purch.
order
received
purchase
order
placed
delivered
connect
Figure 3: BPMN 2.9 Choreography Diagram–Ward-
Pharmacy Example.
2.2 CSP+T
CSP+T (Zic, 1994) is a real–time specification lan-
guage which extends Communicating Sequential Pro-
cesses (CSP) allowing the description of complex
event timings, within a single sequential process, for
use in the behavioural specification of any critical
communicating process. A CSP+T process term P is
defined as a tuple (αP, P), where αP = Comm act(P)∪
Interface(P) is the communication alphabet of P.
CSP+T is a superset of CSP, the latter being
changed by the fact that traces of events become pairs
denoted as t.a, where t is the time at which event a is
observed.
The event enabling interval I(T, t
a
) = {t ∈ T |
rel(t
a
, v) ≤ t ≤ rel(t
a
+ T, v)} indicates the time span
where any event is accepted. rel(x, v) = x+ v − t
0
, t
0
corresponds to the preceding instantiation event (⋆),
occurred at some absolute time t
0
, and x is the value
held in the marker variable v at that time. The time
interval expression can be simplified to I(T, t
a
) =
[t
a
, t
a
+ T] if the instantiation event, after which the
event a can occur, corresponds to the origin (t
0
= 0)
of the rt-clock.
CLOSER2013-3rdInternationalConferenceonCloudComputingandServicesScience
136