Analysis of message sequence charts
This presentation is the property of its rightful owner.
Sponsored Links
1 / 42

Analysis of Message Sequence Charts PowerPoint PPT Presentation


  • 51 Views
  • Uploaded on
  • Presentation posted in: General

Analysis of Message Sequence Charts. Doron Peled Univ. of Warwick Bar Ilan University. Department of Computer Science University of Warwick. MSCs. An ITU standard notation (Z120). Visual + Textual forms. Specifies behaviors of communication protocols. Existing algorithms + tools.

Download Presentation

Analysis of Message Sequence Charts

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Analysis of message sequence charts

Analysis ofMessage Sequence Charts

Doron Peled

Univ. of Warwick

Bar Ilan University

Department of Computer ScienceUniversity of Warwick


Analysis of message sequence charts

MSCs

  • An ITU standard notation (Z120).

  • Visual + Textual forms.

  • Specifies behaviors of communication protocols.

  • Existing algorithms + tools.


Msc visual notation

MSC visual notation

P1

P2

P3

M1

M2

M3

M4

M5

M6


Msc textual form

msc MSC;

inst P1: process Root,

P2: process Root,

P3: process Root;

instance P1;

out M1 to P2;

in M5 from P2;

in M6 from P3;

endinstance;

instance P2;

in M1 from P1;

out M2 to P3;

out M3 to P3;

in M4 from P3;

out M5 to P1;

endinstance;

MSC Textual form

instance P3;

in M2 from P2;

in M3 from P2;

out M4 to P2;

out M6 to P1;

endinstance;

endmsc;

P1

P2

P3

M1

M2

M3

M4

M5

M6


Partial order semantics

Partial order semantics

M1

s

r

M2

s

r

P1

P2

P3

M1

M2

M3

s

M3

r

M4

s

M4

M5

r

M6

s

s

M5

M6

r

r


Hmscs

HMSCs

P1

P2

P3

P1

P2

P3

approve

connect

P1

P2

P3

P1

P2

P3

fail

req_service

report


Analysis of message sequence charts

An execution: infinite or maximal

A

B

Execution: ACACD

approve

connect

connect

fail

report

connect

fail

fail

Req_service

report

report

Req_service

C

D


Visual semantics

Visual semantics

  • Sends before corresponding receives.

  • Events on the same process line execute in order of appearance, from top to bottom.


Visual order wysiwyg

Visual order (wysiwyg)

  • If some event (send, receive) is higher on the line than another, it comes first.

  • Sends precede matching receives.

P1

P2

P3

M1

M2

M3

M4

M5

M6


Visual order wysiwyg1

Visual order (wysiwyg)

M1

s

r

M2

s

P1

P2

P3

r

M1

M2

M3

M3

s

M4

r

M5

s

M4

M6

r

s

s

M5

M6

r

r


Causal order and races

Causal Order and Races

P1

P2

P3

M1

  • Sends before matching receive.

  • Receive or sends before sends of same process.

  • Two receives on the same process sent from the same process.

M2

M3

M4

M5

M6

Races: check if every pair of events ordered by the visual order appears in the transitive closure of the causal order.


Races

Races

P1

P2

P3

P1

P2

P3

M1

M1

M2

M2

M3

M3

M4

M4

M5

M6

M6

M5


Analysis of message sequence charts

P1

P2

P3

M1

M2

M3

M4

M5

M6

Finding races:

P1

P2

P3

M1

M2

M3

M4

M5

Rules: order between

- receive and a later send.

- two sends from same process.

- send and corresponding receive.

-fifo order.

M6


Causal order

Causal Order

M1

s

r

M2

s

r

P1

P2

P3

M1

M2

M3

s

M3

M4

r

M5

s

M4

M6

r

s

s

M5

M6

r

r


Calculating the transitive closure

Calculating the transitive closure

  • Structure (E, R).

  • E – Events, R  E  E.

  • R* The transitive closure. Defined asfollows:a R*b if there is a sequencex1 x2 … xn where a=x1, b=xn,and xi R xi+1 for 1i<n.

  • Complexity: cubic. In our case: quadratic (every event has 1 or 2 successors).


Can also deal with time

P1

P2

[2,4]

[3,5]

[7,10]

[2,3]

Can also deal with time

Use time differencematrices.


Races in hmscs definition

Races in HMSCs. Definition

For each HMSC M execution Ex, define thelinearizations according to the visual orderlinvis(Ex) and the linearizations according to the causal order lincaus(Ex). Extend to all executions: linvis(Ex) and lincaus(Ex).

  • Always linvis(Ex)  lincaus(Ex).

  • Races: when linvis(Ex)  lincaus(Ex).


Mazurkiewicz traces

Mazurkiewicz Traces

Alphabet {a,b,c}

Independence: aIb, bIc

Equivalence classes of words (denoted usingrepresentatives):[aabb]=[abba]

Regular trace language: can be defined usingconcatenation, star, union, intersection.

Note: [ab]* is not recognizable (by automata).


Visual concatenation

P1

P2

P3

connect

fail

report

connect

fail

report

connect

approve

Visual concatenation

A

B

P1

P2

P3

P1

P2

P3

approve

connect

P1

P2

P3

P1

P2

P3

fail

req_service

report

Execution: concatenation of a maximal path in the HMSC.

C

D


Other problems global decision

P1

P2

Other problems…Global decision

M1

M2

P1

P2

+

=?

What if one process will start to behave according to M1 and the other will start according to M2?


Races for hmscs

Races for HMSCs

  • Undecidable [MP99]

    • Translate to language theory of traces, which are closed w.r.t. commuting certain pairs of letters.

    • Intuition: moving from visual to causal semantic introduces more commutations:Two receives on the same process line (from different processes) are dependent on visual and independent on causal order.

    • Reduction to universality of trace languages (things are independent with causal semantics).

Independent

Language L

Independent


Quantifying the discord order discrepancies in mscs

Quantifying the Discord: Order discrepancies in MSCs

Doron Peled (Bar Ilan, Warwick)

Joint work with:

  • Edith Elkind, Jerusalem

  • Blaise Genest, Rennes

  • Paola Spoletini (Milano)


What is the order between red and orange messages

What is the order between red and orange messages?

P1

P2

P3

P1

P2

P3

approve

connect

P1

P2

P3

P1

P2

P3

fail

req_service

report


Lsc style assumes sequentiality between occurrences

LSC style: assumes sequentiality between occurrences(!?!)

P1

P2

P3

P1

P2

P3

approve

connect

Repeat 3 times

P1

P2

P3

P1

P2

P3

fail

req_service

report


Harel concatenation

P1

P2

P3

connect

fail

A

report

P1

P2

P3

connect

fail

connect

report

connect

approve

P1

P2

P3

fail

report

C

“Harel” Concatenation

B

P1

P2

P3

approve

P1

P2

P3

req_service

Execution: concatenation of a maximal path in the HMSC.

D


Allen s logic describes order between intervals

Allen’s logic describes order between intervals

Timeline

A

B

… (3 more)


We assume only cases where no two points coincide 6 cases

We assume only cases where no two points coincide: 6 cases

Timeline

ApB

We can express \/ by juxtapositioning:

A pod B

)No need for conjunction)

o

d-1

o-1

p-1

d


What is the temporal relationship between two messages in an h msc

What is the temporal relationship between two messages in an (H)MSC?

s1

A

r1

B

s2

r2

Chain of messages between points A and B:Alternating sequence of send/receive events where receive and subsequent send are on same process.


What kinds of diagrams do we have certainly not the next one

What kinds of diagrams do we have?Certainly not the next one.

(Causal cycle)


A ll the allowed diagrams up to symmetry 1 st 11 th are symmetric

All the allowed diagrams up to symmetry (1st+11th are symmetric)


Added implied orders

Added implied orders


Projections of message duration on a global time line

Projections of message duration on a global time line:

pp-1oo-1dd-1

o


Cases when left red message is in one hmsc and right orange message is in later msc

P1

P2

P3

P1

P2

P3

Cases when left (red) message is in one HMSC and right (orange) message is in later MSC

Cannot have an edge from right to left!

Cannot have a chain of messages from orange to red message


Cases when left red message is in one hmsc and right orange message is in left msc

Cases when left (red) message is in one HMSC and right (orange) message is in left MSC

pp-1oo-1dd-1

p

pod-1

po

poo-1dd-1

opd


Intuition worst case when pp 1 oo 1 dd 1 best case when p

Intuition: worst case when pp-1oo-1dd-1best case when p,

pp-1oo-1dd-1

p

pod-1

po

Can easily determine case:Calculate transitive closure O(n2), then check the order between points.

poo-1dd-1

opd


Qualify the worst out of order messages

Qualify the “worst” out of order messages

p

<

o

<

d-1

<

d

<

o-1

<

p-1

P1

P2

P3

0

1

2

2

3

4

P1

P2

P3

Best

worst

Intuition: Red is assumed to appear before green. Count the number of inversions between end events of (s1,r1)(s2,r2).

When equal: based on who starts first


For the 6 patters based on pessimistic worst among possibilities order

po

pp-1oo-1dd-1

p

pod-1

poo-1dd-1

opd

For the 6 patters: based on pessimistic (worst among possibilities) order

<

<

<

<

<


Discord measuring the worst unordering

Discord: measuring the “worst” unordering

  • For a pair of messages m1, m2 in HMSCpath: the worst “out of order” measure along the path.

  • For a pair of messages in HMSC (in different MSCs, of course): the worst discord along any path.

  • For an HMSC: the worst discord for any pair of messages.


Example

poo-1dd-1

Example

For path M1;M2, discord is p.

For path M1;M3;M1 discord is o-1 due to messages report and 2ndconnect.

For M3;M4 discord is d.

M2

M1

P1

P2

P3

P1

P2

P3

approve

connect

M3

M4

P1

P2

P3

P1

P2

P3

fail

req_service

report


Results

Results

  • Calculating a discord between messages in HMSC is in CoNP-Complete.(Reduction from 3SAT).

  • Calculating the discord of an HMSC is polynomial (nontrivial algorithm).


Application

Application

  • Write a specification.

  • Convert into MSC or LSC (e.g., Play in-Play out tool).

  • Specify essential orders between certain messages.

  • Check discords.

  • Add synchronization messages to force unachieved order or

  • Make objects of problematic message orders in same process.

  • Parallelize the system according to the constraints in 5 and 6.


Conclusions

Visual notation have advantages over textual representation.

MSCs is a standard for describing concurrent interactions.

MSCs are based on partial order semantics.

MSCs raise many interesting research problems, e.g., race condition.

Discords allow expressing the migration order between messages.

Discords can be calculated to check for violation between intuitive order and actual order in LSC,HMSC.

Discords provides framework for synthesizing, then parallelizing algorithms.

Conclusions


  • Login