l13 - CS 290C: Formal Models for Web Software Lectures 13:...

Info iconThis preview shows pages 1–12. Sign up to view the full content.

View Full Document Right Arrow Icon
CS 290C: Formal Models for Web Software Lectures 13: Choreography Modeling with Message Sequence Charts and Collaboration Diagrams Instructor: Tevfik Bultan
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Formal Models for Choreography and Orchestration Existing modeling formalisms for behavior and interaction modeling have been applied to modeling of choreography and orchestration Some examples are: Use of message sequence charts (UML sequence diagrams) for choreography modeling Use of UML collaboration diagrams for choreography modeling Use of process algebras for orchestration modeling Use of Petri nets for orchestration modeling
Background image of page 2
Modeling and Analysis Typically this type of modeling languages are supported by analysis and verification tools So using these modeling languages for choreography or orchestration specification also leads to analysis and verification tools
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Using Message Sequence Charts for Choreography An MSC shows a particular sequence of messages exchanged between a number of processes (or objects) MSCs show behavior by showing the ordering of message exchanges This is also what we expect a choreography specification to do
Background image of page 4
MSCs An MSC shows the ordering of message send and receive events The lifeline represents the time flow and time progresses from top of the page to the bottom of the page MarketPlace Buyer Seller offerProduct requireProduct Lifeline Message send Message receive
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
MSC extensions MSCs can be extended with more constructs to specify conditional or iterative behavior
Background image of page 6
Sequence Diagrams Focus of control (or activation) can be shown in sequence diagrams as a thin rectangle put on top of the lifeline of an object Shows the period of time during which the given object is in control of the flow From an implementation point of view, you can think of it as showing how long an activation record stays in the control stack It is optional to use focus of control rectangles in a sequence diagram use it when it adds to clarity :ProductOrder :StockItem check() :Order *prepare() Iteration [check=“true”] remove() message condition focus of control or activation lifeline
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
MSC Frames Bank AccountDB Client withdrawal requestBalance balance alt [balance>=withdrawal] [else] updateAccount insufficientFund Frames can be used to specify conditional behavior (as seen in the example), loops, optional behavior etc. in sequence diagrams
Background image of page 8
MSC Realizability The realizability problem we mentioned for conversation protocols also exist for MSCs An MSC may not be realizable, There may not be any possible implementation for the peers that strictly conform to the event orderings given by the MSC specification
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
α β A B D C MSC Realizability An unrealizable MSC
Background image of page 10
MSC Realizability There are some results that show that Realizability of MSCs can be determined For unrealizable MSCs one can determine the implied scenarios when added to the MSC specfication, makes the set of MSCs realizable
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 12
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 42

l13 - CS 290C: Formal Models for Web Software Lectures 13:...

This preview shows document pages 1 - 12. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online