Skip to main content

Verifying Parallel Algorithms and Programs Using Coloured Petri Nets

  • Chapter

Part of the Lecture Notes in Computer Science book series (TOPNOC,volume 7400)

Abstract

Coloured Petri nets have proved to be a useful formalism for modeling distributed algorithms, i.e., algorithms where nodes communicate via message passing. Here we describe an approach for automatic extraction of models of parallel algorithms and programs, i.e., algorithms and programs where processes communicate via shared memory. The models can be verified for correctness, here to prove absence of mutual exclusion violations and to find dead- and live-locks. This makes it possible to verify software using a model-extraction approach using coloured Petri nets, where a formal model is extracted from runnable code. We extract models in a manner so we can also support a model-driven development approach, where code is generated from a model, enabling a combined approach, supporting extracting a model from an abstract description and generation of correct implementation code. We illustrate our idea by applying the technique to a parallel implementation of explicit state-space exploration.

Our approach builds on having a coloured Petri net model corresponding to the program and using the model to verify properties. We have already treated generation of code from coloured Petri nets, so in this paper we focus on the translation the other way around. We have an implementation of the translation from code to coloured Petri nets.

Keywords

  • Parallel Algorithm
  • Process Place
  • Dead State
  • Shared Place
  • Substitution Transition

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-642-35179-2_7
  • Chapter length: 23 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   69.99
Price excludes VAT (USA)
  • ISBN: 978-3-642-35179-2
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   89.99
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Billington, J., Wilbur-Ham, M., Bearman, M.: Automated protocol Verification. In: Proc. of IFIP WG 6.1 5th International Workshop on Protocol Specification, Testing, and Verification, pp. 59–70. Elsevier (1985)

    Google Scholar 

  2. Kristensen, L.M., Jørgensen, J.B., Jensen, K.: Application of Coloured Petri Nets in System Development. In: Desel, J., Reisig, W., Rozenberg, G. (eds.) ACPN 2003. LNCS, vol. 3098, pp. 626–685. Springer, Heidelberg (2004)

    CrossRef  Google Scholar 

  3. Kristensen, L.M., Jensen, K.: Specification and Validation of an Edge Router Discovery Protocol for Mobile Ad Hoc Networks. In: Ehrig, H., Damm, W., Desel, J., Große-Rhode, M., Reif, W., Schnieder, E., Westkämper, E. (eds.) INT 2004. LNCS, vol. 3147, pp. 248–269. Springer, Heidelberg (2004)

    CrossRef  Google Scholar 

  4. Espensen, K., Kjeldsen, M., Kristensen, L.: Modelling and Initial Validation of the DYMO Routing Protocol for Mobile Ad-Hoc Networks. In: van Hee, K.M., Valk, R. (eds.) PETRI NETS 2008. LNCS, vol. 5062, pp. 152–170. Springer, Heidelberg (2008)

    CrossRef  Google Scholar 

  5. Jensen, K., Kristensen, L.: Coloured Petri Nets – Modelling and Validation of Concurrent Systems. Springer (2009)

    Google Scholar 

  6. Westergaard, M., Maggi, F.M.: Modeling and Verification of a Protocol for Operational Support Using Coloured Petri Nets. In: Kristensen, L.M., Petrucci, L. (eds.) PETRI NETS 2011. LNCS, vol. 6709, pp. 169–188. Springer, Heidelberg (2011)

    CrossRef  Google Scholar 

  7. Yakovlev, A., Gomes, L., Lavagno, L.: Hardware Design and Petri Nets. Kluwer Academic Publishers (2000)

    Google Scholar 

  8. IEEE Standard System C Language Reference Manual. IEEE-1666

    Google Scholar 

  9. Rasmussen, J.L., Singh, M.: Designing a Security System by Means of Coloured Petri Nets. In: Billington, J., Reisig, W. (eds.) ICATPN 1996. LNCS, vol. 1091, pp. 400–419. Springer, Heidelberg (1996)

    CrossRef  Google Scholar 

  10. Kristensen, L.M., Westergaard, M.: Automatic Structure-Based Code Generation from Coloured Petri Nets: A Proof of Concept. In: Kowalewski, S., Roveri, M. (eds.) FMICS 2010. LNCS, vol. 6371, pp. 215–230. Springer, Heidelberg (2010)

    CrossRef  Google Scholar 

  11. The FeaVer Feature Verification System webpage, http://cm.bell-labs.com/cm/cs/what/feaver/

  12. Holzmann, G.: The SPIN Model Checker. Addison-Wesley (2003)

    Google Scholar 

  13. Havelund, K., Presburger, T.: Model Checking Java Programs Using Java PathFinder. STTT 2(4), 366–381 (2000)

    MATH  CrossRef  Google Scholar 

  14. Ball, T., Rajamani, S.: The SLAM project: debugging system software via static analysis. In: Proc. of POPL, pp. 1–3. ACM Press (2002)

    Google Scholar 

  15. Beyer, D., Henzinger, T., Jhala, R., Majumdar, R.: The Software Model Checker BLAST: Applications to Software Engineering. STTT 7(5), 505–525 (2007)

    CrossRef  Google Scholar 

  16. Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-Guided Abstraction Refinement for Symbolic Model Checking. J. ACM 50, 752–794 (2003)

    MathSciNet  CrossRef  Google Scholar 

  17. Westergaard, M.: Towards Verifying Parallel Algorithms and Programs using Coloured Petri Nets. In: Proc. of PNSE. CEUR Workshop Proceedings, vol. 723, pp. 57–71. CEUR-WS.org (2011)

    Google Scholar 

  18. van der Aalst, W., van Hee, K.: Workflow Management: Models, Methods, and Systems. MIT Press (2002)

    Google Scholar 

  19. Westergaard, M., Maggi, F.: Modelling and Verification of a Protocol for Operational Support using Coloured Petri Nets. Submitted to Fundamenta Informaticae

    Google Scholar 

  20. Peled, D.: All from One, One for All: On Model Checking Using Representatives. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 409–423. Springer, Heidelberg (1993)

    CrossRef  Google Scholar 

  21. Valmari, A.: Stubborn Sets for Reduced State Space Generation. In: Rozenberg, G. (ed.) APN 1990. LNCS, vol. 483, pp. 491–515. Springer, Heidelberg (1991)

    CrossRef  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Westergaard, M. (2012). Verifying Parallel Algorithms and Programs Using Coloured Petri Nets. In: Jensen, K., van der Aalst, W.M., Ajmone Marsan, M., Franceschinis, G., Kleijn, J., Kristensen, L.M. (eds) Transactions on Petri Nets and Other Models of Concurrency VI. Lecture Notes in Computer Science, vol 7400. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35179-2_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35179-2_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35178-5

  • Online ISBN: 978-3-642-35179-2

  • eBook Packages: Computer ScienceComputer Science (R0)