1 / 28

Applying Petri Net Unfoldings for Verification of Mobile Systems

Applying Petri Net Unfoldings for Verification of Mobile Systems. Apostolos Niaouris Joint work with V. Khomenko, M. Koutny MOCA ‘06. Outline. Mobility and π -calculus Model checking π- calculus p-nets Translation from π- calculus to p-nets Implementation issues

cynara
Download Presentation

Applying Petri Net Unfoldings for Verification of Mobile Systems

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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. 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. π-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. Representing π-calculus • Context-based expressions • set of restricted channels • set of channel holders • partial mapping

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

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

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

  9. p-nets • Transitions • Places

  10. p-nets • Transitions • Places

  11. p-nets • Transitions • Places

  12. p-nets • Transitions • Places

  13. p-nets • Transitions • Places • Tag-place

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

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

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

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

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

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

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

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

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

  23. Example NESS a T ness h1 h4 h2 h3 ness ness ness ness

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

  25. Experiments

  26. Experiments

  27. Experiments

  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

More Related