Title: A Tool for Choreography Analysis Using Collaboration Diagrams
1A Tool for Choreography Analysis Using
Collaboration Diagrams
- Tevfik Bultan
- University of California
- Santa Barbara
Xiang Fu Hofstra University
Chris Ferguson University of California Santa
Barbara
2Outline
- Modeling Service Interactions as Conversations
- Specification of Conversations Using
Collaboration Diagrams - Analyzing Collaboration Diagrams
- Collaboration Diagram Extensions
- Tool Architecture and Experiments
3Web Services
- The World Wide Web Consortium (W3C) defines a Web
service as - "a software system designed to support
interoperable machine-to-machine interaction over
a network - Web services support basic client/server style
interactions
WSDL
Request
Service Requester
Service Provider
SOAP
Response
Server
Client
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.
5Web Services Standards Stack
Web Services Choreography Description Language
(WS-CDL)
Choreography
Web Services Business Process Execution Language
(WS-BPEL)
Orchestration
Service
Web Services Description Language (WSDL)
Protocol
Simple Object Access Protocol (SOAP)
Type
XML Schema (XSD)
Extensible Markup Language (XML)
Data
WSDL
WS-BPEL
SOAP
Atomic Service
Orchestrated Service
WS-CDL
SOAP
SOAP
WS-BPEL
WSDL
Orchestrated Service
SOAP
Atomic Service
SOAP
6An 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 bookInquiry message to
BookSupplier - CDSupplier and BookSupplier send the
cdAvailability and bookAvailibility back to the
Store - Store sends orderReply to the Customer
7A 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
8Asynchronous Communication 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
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 allowed conversations for our
simple example - There are also lots of un-allowed 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
14Automata (Conversation Protocol) Construction
1order
1,2,A1,A2,B1,B2
1/A1cdInquiry
1/B1bookInquiry
1order
A2cdAvailability
B2bookAvailability
2,A1,A2,B1,B2
A1cdInquiry
B1bookInquiry
A2,B2/2orderReply
2,A2,B1,B2
2,A1,A2,B2
B2bookAvailabililty
A2cdAvailability
B1bookAvailability
A1cdInquiry
2,B1,B2
2,A1,A2
2,A2,B2
A2cdAvailability
B2bookAvailability
B1bookInquiry
A1cdInquiry
2,B2
2,A2
Customer
A2cdAvailability
B2bookAvailability
1order
A2,B2/2orderReply
2
1/A1cdInquiry
A2cdAvailability
CDSupplier
2 orderReply
Store
?
BookSupplier
1/B1bookInquiry
B2bookAvailability
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 or not conditional or
iterative - sender for e should be either the receiver or
sender for e - If e is an asynchronous send and conditional or
iterative - sender for e should be the sender for e and the
receiver for e should be the receiver for e - e should not be conditional or iterative,
- e and e should not send the same message
- A collaboration diagram is realizable if all its
events are well-informed
20Realizability 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
21Realizability of Collaboration Diagrams
Realizable
Not Realizable
1order
1order
Customer
Store
Customer
Store
this send event is not well-informed
2bill
3bill
2orderInfo
Accounting
Accounting
22Collaboration Diagram Extensions
- Collaboration Diagram Sets
- The conversation set if the union of the
conversation sets of each collaboration diagram
in the collaboration diagram set - Collaboration Diagram Graphs
- Conversation set is obtained by concatenating the
conversation sets of different collaboration
diagrams according to the collaboration diagram
graph
23Collaboration Diagram Sets
- Collaboration diagram sets are more expressive
than individual collaboration diagrams
1x
2y
P
Q
P?Q x
P?Q z
3z
P?Q y
P?Q x
2x
3y
P?Q z
P?Q y
P
Q
1z
Corresponding conversation protocol
This collaboration diagram set specifies a set
of interactions that cannot be specified by any
single collaboration diagram
24Collaboration Diagram Graphs
- Collaboration diagram graphs are more expressive
than collaboration diagram sets
P?Q x
1x
P
Q
?
2y
Q?P y
Corresponding conversation protocol
This collaboration diagram graph specifies a set
of interactions that cannot be specified by any
collaboration diagram set
25Analyzing Collaboration Diagram Extensions
- Realizability of collaboration diagram sets and
collaboration diagram graphs cannot be determined
using the well-informed event rule we discussed
earlier - However, collaboration diagram sets and
collaboration diagram graphs can be converted to
conversation protocols - We can use the earlier results on realizability
of conversation protocols to determine
realizability of collaboration diagram sets and
collaboration diagram graphs
26A Tool for Analyzing Collaboration Diagrams
Promela Translator
LTL Model Checking with SPIN
Dependency Graph Constructor
Automata Constructor
Peer Synthesizer
Collaboration Diagrams
Realizability Analyzer
Conversation Protocol Translator
Realizability Analysis with WSAT
- The tool is implemented as an Add-In to Sparx
Systems Enterprise Architect UML Editor
27Experiments
Problem Instance Realizability 1 Realizability 2 States
Factory Manager YES NO 383
Order Item NO NO 42 (after fix)
Purchase Order YES NO 246
Company Store YES YES 22
Information Exchange YES YES 50
Voting Booth NO NO 59 (after fix)
Causality Model YES NO 116
28Order Item Example
orderWindow OrderEntryWindow
1prepareOrder
orderOrder
2prepareOrderLine
5needToReorder
3check
macallanLine OrderLine
macallanStock StockItem
4remove?
6newReOrder
7newDelivery?
deliveryItem DeliveryItem
reorderItem ReOrderItem
29Conclusions
- Collaboration diagrams are an appropriate
specification mechanism for service conversations - There are conditions which guarantee
realizability of collaboration diagrams - Collaboration diagrams can be generalized to
collaboration diagram sets and collaboration
diagram graphs - Results on realizability of conversation
protocols can be used to determine realizability
of collaboration diagram sets and collaboration
diagram graphs - We implemented these results in a collaboration
diagram development tool
30THE END
31Related 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
321x
1y
P
Q
P
Q
2y
2x
3z
R
R
An unrealizable Collaboration Diagram Set which
consists of realizable collaboration diagrams.
331y
3z
1x
P
Q
R
P
Q
R
2x
2y
An unrealizable Collaboration Diagram Set which
consists of realizable collaboration diagrams.
341x
2x
P
Q
P
Q
2y
1y
R
S
R
S
A realizable Collaboration diagram set which
consists of unrealizable collaboration diagrams