Download presentation

Presentation is loading. Please wait.

Published byDerek Bigg Modified over 2 years ago

1
Applying Petri Net Unfoldings for Verification of Mobile Systems Apostolos Niaouris Joint work with V. Khomenko, M. Koutny MOCA ‘06

2
2 Outline Mobility and π-calculus Model checking π-calculus p-nets Translation from π-calculus to p-nets Implementation issues Examples and experimental results Next steps

3
3 Mobility and π-calculus Mobility – one of the main features of many crucial modern distributed computing systems of ever growing complexity Formal analysis and verification using process algebras like π-calculus π-calculus can express dynamic changes in a process ability to communicate with the external environment, by passing references (channels) through interactions on previously known channels

4
4 π-calculus Syntax of π-calculus countably infinite set of channels Free channels of P: fn(P) Agent obtained from P by replacing all free occurrences of c by b: {b/c}P Well-formed π-calculus expression

5
5 Representing π-calculus Context-based expressions set of restricted channels set of channel holders partial mapping

6
6 Representing π-calculus Context-based expressions set of restricted channels set of channel holders partial mapping type-I type-K type-R

7
7 Model checking π-calculus Pi-calculus expression At the moment, only finite pi-calculus is supported

8
8 Model checking π-calculus Pi-calculus expression Safe High-level PN (p-nets) Automatic translation

9
9 p-nets Transitions Places

10
10 p-nets Transitions Places

11
11 p-nets Transitions Places

12
12 p-nets Transitions Places

13
13 p-nets Transitions Places Tag-place

14
14 Operators for p-nets Operators for choice, parallel composition and restriction

15
15 From π-calculus to p-nets 1.Translation of base process 0 and the three prefixes

16
16 From π-calculus to p-nets 2.For compound sub-expressions 3.Restriction operator 4.Tokens

17
17 Model checking π-calculus Pi-calculus expression Safe High-level PN (p-nets) PN unfolding Property Checking PUNF MPSat

18
18 Implementation issues Infinity of new channels Read arcs Non-safeness Partial-transition expansion Reducing the number of holder places

19
19 Example Classroom example Scalable specification 1 teacher process 3,4 student processes Check for proper termination

20
20 Example T ness NESS a h1 h2 h3 h4 a?ness

21
21 Example T ness NESS a h1 h2 h3 h4 h1!ness | h2!ness | h3!ness | h4!ness ness

22
22 Example T ness NESS a h1 h2 h3 h4 h1?addr1 | h2?addr2 | h3?addr3 | h4?addr4 ness

23
23 Example T ness NESS a h1 h2 h3 h4

24
24 Example T NESS a h1 h2 h3 h4 h h h!h1. h1!done. STOP + h?another1.addr1!h1. addr1!another1. h1!done.STOP ness

25
25 Experiments

26
26 Experiments

27
27 Experiments Problem Net Prefix |B| |E| Time Punf MPSat Time MWB |P| |T| Ness(2):III 157 200 1413 127 <1 Ness(3):III 319 415 5458 366 1 <1 Ness(4):III 537 72424561 1299 6 <1 7 Ness(5):III 811113993546 4078 46 <1 - Ness(6):III1141167228122110431 411 311 - Ness(7):III15272335701898226622904 8 -

28
28 Next steps We need efficient extensions of the unfolding approach for read arcs Introduce a restricted form of recursion still allowing one to use model-checking Deal with the state space explosion caused by aspects other than high level of concurrency Further performance comparisons of this model with other approaches

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google