Skip to main content

ABCD: A User-Friendly Language for Formal Modelling and Analysis

  • Conference paper
  • First Online:
Application and Theory of Petri Nets and Concurrency (PETRI NETS 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9698))

Abstract

This paper presents an algebra of coloured Petri nets called the Asynchronous Box Calculus with Data, or abcd for short. abcd allows to model complex systems using a user-friendly and high-level syntax. In particular, parts of the model can be directly programmed in Python [21], which allows to embed complex computation and data values within a model. A compiler for abcd is shipped with the toolkit snakes [16, 18] and abcd has been used for years, which is quickly surveyed. This paper is the first complete and formal presentation of the language and its semantics. It also presents uses cases of abcd for the modelling and analysis of various systems.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Notes

  1. 1.

    Which is not valid pnml in the case of the coloured models obtained from abcd [18].

References

  1. Armando, A., et al.: The AVISPA tool for the automated validation of internet security protocols and applications. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 281–285. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  2. Best, E., Devillers, R., Hall, J.G.: The box calculus: a new causal algebra with multi-label communication. In: Rozenberg, G. (ed.) Advances in Petri Nets 1992. LNCS, vol. 609, pp. 21–69. Springer, Heidelberg (1992)

    Chapter  Google Scholar 

  3. Best, E., Devillers, R., Koutny, M.: Petri Net Algebra. Springer, Heidelberg (2001)

    Book  MATH  Google Scholar 

  4. Best, E., Hopkins, R.P.: \(B(PN)^2\) - a basic Petri net programming notation. In: Bode, A., Reeve, M., Wolf, G. (eds.) PARLE 1993 Parallel Architectures and Languages Europe. LNCS, vol. 694, pp. 379–390. Springer, Heidelberg (1993)

    Google Scholar 

  5. Chaou, S., Utard, G., Pommereau, F.: Evaluating a peer-to-peer storage system in presence of malicious peers. In: Proceedings of HPCS 2011. IEEE Computer Society (2011)

    Google Scholar 

  6. Delaplace, F., Di Giusto, C., Giavitto, J.L., Klaudel, H., Spicher, A.: Activity networks with delays application to toxicity analysis. Technical report hal-01152719, I3S, Univ. Nice Sophia Antipolis (2015)

    Google Scholar 

  7. Di Guisto, C., Klaudel, H., Delaplace, F.: Systemic approach for toxicity analysis. In: Proceedings of BioPPN 2014. CEUR Workshop Proceedings, vol. 1159 (2014)

    Google Scholar 

  8. Dolev, D., Yao, A.C.: On the security of public key protocols. IEEE Trans. Inf. Theory 29(2), 198–208 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  9. Fronc, Ł., Duret-Lutz, A.: LTL model checking with Neco. In: Van Hung, D., Ogawa, M. (eds.) ATVA 2013. LNCS, vol. 8172, pp. 451–454. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  10. Gava, F., Pommereau, F., Guedj, M.: A BSP algorithm for on-the-fly checking CTL* formulas on security protocols. J. Supercomput. 69, 629–672 (2014)

    Article  Google Scholar 

  11. Kordon, F., Buchs, D., Garavel, H., Hillah, L.: MCC 2016 - models. http://mcc.lip6.fr/models.php

  12. Kordon, F., Linard, A., Buchs, D., Colange, M., Evangelista, S., Fronc, Ł., Hillah, L.M., Lohmann, N., Paviot-Adet, E., Pommereau, F., Rohr, C., Thierry-Mieg, Y., Wimmel, H., Wolf, K. (eds.): Raw report on the model-checking contest at Petri nets 2012. CoRR arXiv:1209.2382, September 2012

  13. Needham, R.M., Schroeder, M.D.: Using encryption for authentication in large networks of computers. Commun. ACM 21(12), 993–999 (1978)

    Article  MATH  Google Scholar 

  14. Parallel Systems Group, University of Oldenburg: The PEP tool. http://peptool.sourceforge.net

  15. Pommereau, F.: Model-checking with ABCD and Neco. https://goo.gl/FLVItx

  16. Pommereau, F.: The SNAKES toolkit. http://www.ibisc.univ-evry.fr/ fpommereau/SNAKES/ with sources at http://github.com/fpom/snakes

  17. Pommereau, F.: Algebras of Coloured Petri Nets. Lambert Academic Publishing, Germany (2010)

    Google Scholar 

  18. Pommereau, F.: SNAKES: a flexible high-level Petri nets library. In: Devillers, R., Valmari, A. (eds.) PETRI NETS 20115. LNCS, vol. 9115, pp. 254–265. Springer, Switzerland (2015)

    Chapter  MATH  Google Scholar 

  19. Sanjabi, S., Pommereau, F.: Modelling, verification, and formal analysis of security properties in a P2P system. In: Proceedings of COLSEC 2010. IEEE Digital Library, IEEE Computer Society (2010)

    Google Scholar 

  20. The Python Software Foundation: The Python tutorial. http://docs.python.org/tutorial

  21. The Python Software Foundation: Python website. http://www.python.org

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Franck Pommereau .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Pommereau, F. (2016). ABCD: A User-Friendly Language for Formal Modelling and Analysis. In: Kordon, F., Moldt, D. (eds) Application and Theory of Petri Nets and Concurrency. PETRI NETS 2016. Lecture Notes in Computer Science(), vol 9698. Springer, Cham. https://doi.org/10.1007/978-3-319-39086-4_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-39086-4_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-39085-7

  • Online ISBN: 978-3-319-39086-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics