A Tool for Choreography Analysis Using Collaboration Diagrams PowerPoint PPT Presentation

presentation player overlay
About This Presentation
Transcript and Presenter's Notes

Title: A Tool for Choreography Analysis Using Collaboration Diagrams


1
A 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
2
Outline
  • Modeling Service Interactions as Conversations
  • Specification of Conversations Using
    Collaboration Diagrams
  • Analyzing Collaboration Diagrams
  • Collaboration Diagram Extensions
  • Tool Architecture and Experiments

3
Web 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
4
Service 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.

5
Web 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
6
An 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

7
A 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

8
Asynchronous 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
9
Modeling 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
10
Specifying 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
11
Specifying Conversations via Collaboration
Diagrams
sequence label
must precede
Customer
message
1/A1cdInquiry
CDSupplier
1order
A2,B2/2orderReply
A2cdAvailability
Store
1/B1bookInquiry
BookSupplier
B2bookAvailability
12
More On Collaboration Diagrams
sequence label
must precede
message
A2, B2 / 2 orderReply
asynchronous communication
conditional send
cdInquiry has CD
synchronous communication
iterative send
order
13
Dependency 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
14
Automata (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
15
Implementation 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
16
Realizability 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

17
Realizability of Collaboration Diagrams
Realizable
Not Realizable
1order
1order
Customer
Store
Customer
Store
2orderInfo
2ship
Shipping
Depot
3ship
Shipping
Depot
18
Realizability of Collaboration Diagrams
Realizable
Not Realizable
1order
1order
Customer
Store
Customer
Store
2bill
3bill
2orderInfo
Accounting
Accounting
19
A 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

20
Realizability 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
21
Realizability of Collaboration Diagrams
Realizable
Not Realizable
1order
1order
Customer
Store
Customer
Store
this send event is not well-informed
2bill
3bill
2orderInfo
Accounting
Accounting
22
Collaboration 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

23
Collaboration 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
24
Collaboration 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
25
Analyzing 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

26
A 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

27
Experiments
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
28
Order Item Example
orderWindow OrderEntryWindow
1prepareOrder
orderOrder
2prepareOrderLine
5needToReorder
3check
macallanLine OrderLine
macallanStock StockItem
4remove?
6newReOrder
7newDelivery?
deliveryItem DeliveryItem
reorderItem ReOrderItem
29
Conclusions
  • 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

30
THE END
31
Related 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

32
1x
1y
P
Q
P
Q
2y
2x
3z
R
R
An unrealizable Collaboration Diagram Set which
consists of realizable collaboration diagrams.
33
1y
3z
1x
P
Q
R
P
Q
R
2x
2y
An unrealizable Collaboration Diagram Set which
consists of realizable collaboration diagrams.
34
1x
2x
P
Q
P
Q
2y
1y
R
S
R
S
A realizable Collaboration diagram set which
consists of unrealizable collaboration diagrams
Write a Comment
User Comments (0)
About PowerShow.com