Title: Specification%20of%20Realizable%20Service%20Conversations%20Using%20Collaboration%20Diagrams
1Specification of Realizable Service
Conversations Using Collaboration Diagrams
- Tevfik Bultan
- Department of Computer Science
- University of California, Santa Barbara
- bultan_at_cs.ucsb.edu
Xiang Fu School of Computer and Information
Science Georgia Southwestern State
University xfu_at_canes.gsw.edu
2Outline
- Modeling Service Interactions as Conversations
- Specification of Conversations Using
Collaboration Diagrams - Realizability of Collaboration Diagrams
3Characteristics of Web Services
- Loosely coupled, interaction through standardized
interfaces - Standardized data transmission via XML
- Asynchronous messaging
- Platform independent (.NET, J2EE)
WS-CDL
Interaction (Choreography)
BPEL4WS
Behavior (Orchestration)
Interface
WSDL
Implementation Platforms
Microsoft .Net, Sun J2EE
SOAP
Message
XML Schema
Type
XML
Data
Web Service Standards
4Service Interactions
- One of the main goals of service oriented
computing is to facilitate integration and
composition of services - Modeling, specifying and analyzing interactions
among services are crucial problems that need to
be addressed in order to achieve this goal - Different service developers that want their
services to take part in a composition have to
agree on how services will interact with each
other - Web Service-Choreography Description Language
(WS-CDL) - WS-CDL specifications describe peer-to-peer
collaborations of Web Services participants by
defining, from a global viewpoint, their common
and complementary observable behavior where
ordered message exchanges result in accomplishing
a common business goal.
5An Example
- Assume four peers (individual services)
- Customer, Store, CDSupplier, BookSupplier
- Workflow
- Customer sends an order to the Store
- Store checks the availability of the CDs and the
books in the order by sending a cdInquiry message
to CDSupplier and a book Inquiry message to
BookSupplier - CDSupplier and BookSupplier send the
cdAvailability and bookAvailibility back to the
Store - Store sends orderReply to the Customer
6A Model for Composite Web Services
- A composite web service consists of
- a finite set of peers
- Customer, Store, CDSupplier, BookSupplier
- and a finite set of messages
- Customer ? Store order
- Store ? CDSupplier cdInquiry
- Store ? BookSupplier bookInquiry
- CDSupplier ? Store cdAvailability
- BookSupplier ? Store bookAvailability
- Store ? Customer orderReply
7Communication Model
- We assume that the messages among the peers are
exchanged using reliable and asynchronous
messaging - FIFO and unbounded message queues
Customer
Store
order
order
- This model is similar to industry efforts such as
- JMS (Java Message Service)
- MSMQ (Microsoft Message Queuing Service)
8Questions and Challenges
- Questions
- How do we model the global interaction behavior?
- How do we make sure that the global behavior is
implemented faithfully by the services that
participate to the composition? - Challenges
- Distributed nature, no central control
- Asynchronous communication
9Modeling Interactions as Conversations
- A conversation is the global sequence of messages
recorded in the order they are sent Bultan, Fu,
Hull, Su WWW03
Customer
Store
cdInquiry
cdAvailability
CDStore
Conversation
cdInquiry
order
cdAvailability
10Specifying Conversations
- There are lots of allowable conversations for our
simple example - There are also lots of unallowable conversations
cdInq
order
cdAvail
bookInq
order
bookAvail
bookInq
order
cdInq
cdInq
order
bookInq
cdAvail
order
cdInq
bookInq
order
cdAvail
cdInq
bookInq
cdAvail
11Specifying Conversations via Collaboration
Diagrams
sequence label
must precede
Customer
message
1/A1cdInquiry
CDSupplier
1order
A2,B2/2orderReply
A2cdAvailability
Store
1/B1bookInquiry
BookSupplier
B2bookAvailability
12More On Collaboration Diagrams
sequence label
must precede
message
A2, B2 / 2 orderReply
asynchronous communication
conditional send
cdInquiry has CD
synchronous communication
iterative send
order
13Dependency Among Message Send Events
- Message send events are ordered based on two
rules - Implicit The sequence labels that have the same
prefix must be ordered based on their sequence
number - Explicit The events listed before / must
precede the current event
initial event
1order
1/A1cdInquiry
1/B1bookInquiry
A2cdAvailability
B2bookAvailability
A2,B2/2orderReply
final event
14Implementing a Conversation Specification
- Given a conversation specification in the form of
a collaboration diagram - we would like to implement a composite service
which generates exactly the set of conversations
specified by the collaboration diagram - The composite web service that generates the
exact set of conversations specified by the
collaboration diagram realizes the collaboration
diagram - We use finite state machines as the computational
model for peers - Note that, each peer has an unbounded input queue
for the incoming messages - This is similar to Communicating Finite State
Machines model
15Implementation with Finite State Machines
Store
Customer
?order
?orderReply
!cdInquiry
!bookInquiry
!order
!bookInquiry
!cdInquiry
CDSupplier
?cdAvailability
?bookAvailability
!cdAvailability
!bookInquiry
!cdInquiry
?cdInquiry
?cdAvailability
?bookAvailability
?bookAvailability
BookSupplier
?cdAvailability
!bookAvailability
!orderReply
?bookInquiry
16Realizability of Collaboration Diagrams
- Not all collaboration diagrams are realizable!
- It is possible to specify interactions that
cannot be realized by any peer implementation - This is a problem!
- Assume that we want to specify how several
services should interact with each other - If we write a specification that is not
realizable - the implementation will not be faithful to the
specification no matter what we do
17Realizability of Collaboration Diagrams
Realizable
Not Realizable
1order
1order
Customer
Store
Customer
Store
2orderInfo
2ship
Shipping
Depot
3ship
Shipping
Depot
18Realizability of Collaboration Diagrams
Realizable
Not Realizable
1order
1order
Customer
Store
Customer
Store
2bill
3bill
2orderInfo
Accounting
Accounting
19A Sufficient Condition for Realizability
- We call a send event e well informed
- If e is an initial event
- Otherwise, let e be an immediate predecessor of
e - If e is a synchronous send and not conditional
or iterative - sender for e should be either the receiver or
sender for e - If e is an asynchronous send or conditional or
iterative - sender for e should be the sender for e, e
should not be conditional or iterative, e and e
should not send the same message - A separated collaboration diagram is realizable
if all its events are well-informed
20Separated Collaboration Diagrams
- A collaboration diagram is separated if two
different message send events send the same
message only if their sequence labels have the
same prefix
A1x
A2y
B3z
P
Q
R
B1y
B2x
A collaboration diagram with well-informed
events that is not separated and not realizable
21Realizability of Collaboration Diagrams
Realizable
Not Realizable
1order
1order
Customer
Store
Customer
Store
2orderInfo
2ship
Shipping
Depot
3ship
Shipping
Depot
this send event is not well-informed
22Realizability of Collaboration Diagrams
Realizable
Not Realizable
1order
1order
Customer
Store
Customer
Store
this send event is not well-informed
2bill
3bill
2orderInfo
Accounting
Accounting
23Related Work
- Message Sequence Charts (MSC)
- Realizability Alur, Etassami, Yannakakis ICSE
00, ICALP 01 - Implied scenarios Uchitel, Kramer, Magee ACM
TOSEM 04 - Modeling agent conversations with Dooley graphs
Parunak, ICMAS 96 - Conversation protocols Fu, Bultan, Hull, Su WWW
03 Fu, Bultan, Su, TCS 04, IEEE TSE 05 - Modeling services using UML diagrams
- Benatallah, Sheng, Dumas, IEEE IC 03
- Skogan, Gronmo, Solheim IEEE EDOCC 04
- Blake ICWS 06
24Conclusions and Future Work
- Collaboration diagrams are an appropriate
specification mechanism for service conversations - We gave a realizability condition for a
restricted class of collaboration diagrams - We are currently working on
- investigating the relationship between
conversation protocols and collaboration diagrams - investigating extensions of collaboration
diagrams - synthesizing implementations from realizable
collaboration diagrams automatically
25THE END