towards formal manipulations of scenarios represented by high-level message sequence charts

37
1 Towards formal manipulations of scenarios represented by High-level Message Sequence Charts Loïc Hélouet Claude Jard Benoît Caillaud IRISA/PAMPA (INRIA/CNRS/Univ. Rennes) Campus de Beaulieu, F-35042 RENNES, France. http://www.irisa.fr/pampa [email protected]

Upload: leona

Post on 08-Jan-2016

27 views

Category:

Documents


0 download

DESCRIPTION

Towards formal manipulations of scenarios represented by High-level Message Sequence Charts. Loïc Hélouet Claude Jard Benoît Caillaud. IRISA/PAMPA (INRIA/CNRS/Univ. Rennes) Campus de Beaulieu, F-35042 RENNES, France. http://www.irisa.fr/pampa [email protected]. Motivations. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

1

Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

Loïc Hélouet

Claude Jard

Benoît Caillaud

IRISA/PAMPA (INRIA/CNRS/Univ. Rennes)Campus de Beaulieu, F-35042 RENNES,France.

http://www.irisa.fr/[email protected]

Page 2: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

2

Motivations

Formal methods and tools to improve the development process of (distributed) software

Need to instrument at early stages of the development Interest of graphical scenario languages like Message

Sequence Charts in the SDL framework or Sequence Diagrams of the popular Unified Modelling Language

Problems with their formal semantics Problems with their declarative (high-level) nature :

Normal forms ? State-finiteness ? Executability ?

Page 3: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

3

Contributions

Partial-order semantics of the High-level Message Sequence Charts (HMSC is the ITU/Z.120 standard)

Effective notion of equivalence based on event-structures and graph-grammars

Normal form of HMSCs Towards new efficient methods :

to decide divergence, to simulate and to check properties

Page 4: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

4

Outline

MSC et HMSC Event structures Partial order semantics of HMSC Covering graphs of event structures Graph grammars Regularity of graph grammars Equivalence Applications Conclusion and perspectives

Page 5: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

5

Basic Message Sequence Charts (BMSC)

Instances, events and messages

Ordering of events : due to sequentiality of

instances due to message causality

Partial order M= ( E,<,,A,I ) E : events < : causal ordering : labelling of events

: E -> A x I A : action names I : instance names

Page 6: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

6

High-level Message Sequence Charts (HMSC)

Hierarchical graph of MSCs

Sequence, choice and loop operators

Non-deterministic choice

Sequence is communication-closed but without synchronization

Page 7: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

7

Sequencing

Instance by instance, maximal events of the first HMSC are linked to the minimal events of the second HMSC

Page 8: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

8

Choice : union of scenarios

Page 9: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

9

Recursion (unfolding)

Page 10: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

10

Specifications which are not implementable

Non-local choices Divergence

Page 11: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

11

Infinite family of partial orders

Paths of the HMSC graph form (generally) an infinite family of partial orders

This family can be uniquely represented by an event structure (communication closed assumption)

Page 12: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

12

Event structures

Compact representation of partial order families. Used in concurrency theory

ES = (E, <, #, , A , I ) E : events < : partial order (causality) # : conflict relation

(symmetric, inherited by causality)

: labelling

Page 13: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

13

Reduction to minimal conflicts

Page 14: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

14

From HMSCs to event structures

Sequencing : as for partial orders; conflicts are inherited

Choice : creates new conflicts

Recursion : unfolding

Page 15: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

15

HMSC partial order semantics

HMSC Semantics = the corresponding event structure

Strong notion of equivalence given by isomorphism of event structures

Isomorphism of (infinite) graphs can be computed using graph grammars [Caucal 92] such that :

the graph is regular the graph is finitely branching

Based on the computation of normal forms of the grammars

Page 16: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

16

Non regular specifications

Page 17: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

17

Irregular graphs

Cannot be represented by a graph grammar

Page 18: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

18

Covering graphs with conflict inheritance edges

Page 19: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

19

Transformation into a regular graph

Page 20: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

20

Graph grammar

Hyperarc :

s1. . . .sn

Hypergraph :

Graph + hyperarcs Rule : (Hyperarc,

Hypergraph) Graph grammar =

G = (Axiom,Rules)

Page 21: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

21

Graph rewriting

Page 22: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

22

From HMSCs to graph grammars (ends)

Page 23: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

23

From HMSCs to graph grammars (sequence)

Page 24: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

24

From HMSCs to graph grammars (choice)

Page 25: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

25

From HMSCs to graph grammars (recursion)

Page 26: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

26

From HMSCs to graph grammars (conflict inheritance arcs)

Context management

Page 27: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

27

Example (HMSC)

Page 28: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

28

Example (graph grammar)

Page 29: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

29

Example (graph grammar)

Page 30: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

30

Properties of covering graphs

Covering graphs with inheritance edges are regular (can be finitely described by graph grammars)

Branching of conflicts is finite Branching of causality is generally infinite But ignoring them preserves the isomorphism of the

event structures (the infinite branching can be reconstructed from the simplified graph)

Page 31: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

31

Decision of equivalence

Let us consider two HMSCs H1 and H2 Compute their graph grammars G1 and G2 Replace the inheritance edges that are not made from choice to

choice by the corresponding conflicts (minimization of basic event structures)

Compute grammars G’1 and G’2 by eliminating redundancies (to avoid global optimization)

Compute FBG1 and FBG2 by eliminating infinite branchings within G’1 and G’2

Compute FNG1 and FNG2, the normal forms of FBG1 and FBG2 If FBG1 and FBG2 have the same normal forms up to a

renaming, then H1 and H2 are equivalent

Page 32: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

32

Normal forms

Global transformation to ensure a certain distance between the hyperarcs

PolynomialA rule which is not normalized

Page 33: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

33

Example of two equivalent HMSCs

Page 34: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

34

Their covering graph

Page 35: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

35

Decision of divergence

An HMSC is not divergent iff the communication graph of each simple loop is symmetricCan be computed on the graph grammar by finite rewriting

Page 36: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

36

Summary

Towards formal manipulations of scenario languages Partial order semantics of the HMSC standard Equivalence defined as a structure isomorphism Use of graph grammars and of recent decision

algorithms

ftp://ftp.inria.fr/INRIA/publication/RR/RR-3499.ps.gz

Page 37: Towards formal manipulations of scenarios represented by High-level Message Sequence Charts

37

Perspectives

Short term : Implementation Weaker notions of equivalence Animation (using normal forms)

Middle term : HMSCs with values Parallel composition Integration in the UML meta-model

Long term : Decision of properties Quantitative analysis using Max + techniques Generation of squeletons, protocol synthesis