Skip to main content

A Systematic Approach to Programming and Verifying Attribute-Based Communication Systems

  • Chapter
  • First Online:
From Software Engineering to Formal Methods and Tools, and Back

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

Abstract

A methodology is presented for the systematic development of systems of many components, that interact by relying on predicates over attributes that they themselves mutually expose. The starting point is a novel process calculus AbC (for Attribute-based Communication) introduced for modelling collective-adaptive systems. It is shown how to refine the model by introducing a translator from AbC into UML-like state machines that can be analyzed by UMC. In order to execute the specification, another translator is introduced that maps AbC terms into ABEL, a domain-specific framework that offers faithful AbC-style programming constructs built on top of Erlang. It is also shown how the proposed methodology can be used to assess relevant properties of systems and to automatically obtain an executable program for a non-trivial case study.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://doi.org/10.5281/zenodo.3234713.

References

  1. De Nicola, R., Fantechi, A., Gnesi, S., Ristori, G.: An action-based framework for verifying logical and behavioural properties of concurrent systems. Comput. Networks ISDN Syst. 25(7), 761–778 (1993)

    Article  MATH  Google Scholar 

  2. De Nicola, R., Vaandrager, F.: Action versus state based logics for transition systems. In: Guessarian, I. (ed.) LITP 1990. LNCS, vol. 469, pp. 407–419. Springer, Heidelberg (1990). https://doi.org/10.1007/3-540-53479-2_17

    Chapter  Google Scholar 

  3. Gnesi, S., Mazzanti, F.: On the fly verification of network of automata. In: Arabnia, H.R. (Ed) Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications, PDPTA, CSREA Press, Georgia, pp. 1040–1046 (1999)

    Google Scholar 

  4. ter Beek, M.H., Fantechi, A., Gnesi, S., Mazzanti, F.: A state/event-based model-checking approach for the analysis of abstract system properties. Sci. Comput. Program. 76(2), 119–135 (2011)

    Article  MATH  Google Scholar 

  5. Abd Alrahman, Y., De Nicola, R., Loreti, M.: On the power of attribute-based communication. In: Albert, E., Lanese, I. (eds.) FORTE 2016. LNCS, vol. 9688, pp. 1–18. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-39570-8_1

    Chapter  Google Scholar 

  6. Abd Alrahman, Y., De Nicola, R., Loreti, M.: A behavioural theory for interactions in collective-adaptive systems. CoRR, vol. abs/1711.09762 (2017). http://arxiv.org/abs/1711.09762

  7. De Nicola, R., Ferrari, G.L., Pugliese, R., Tiezzi, F.: A formal approach to the engineering of domain-specific distributed systems. In: Di Marzo Serugendo, G., Loreti, M. (eds.) COORDINATION 2018. LNCS, vol. 10852, pp. 110–141. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-92408-3_5

    Chapter  Google Scholar 

  8. Armstrong, J.: Making reliable distributed systems in the presence of software errors. Ph.D. dissertation, The Royal Institute of Technology, Stockholm (2003)

    Google Scholar 

  9. De Nicola, R., Duong, T., Loreti, M.: ABEL - a domain specific framework for programming with attribute-based communication. In: Riis Nielson, H., Tuosto, E. (eds.) COORDINATION 2019. LNCS, vol. 11533, pp. 111–128. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-22397-7_7

    Chapter  Google Scholar 

  10. De Nicola, R., Duong, T., Inverso, O., Mazzanti, F.: Verifying properties of systems relying on attribute-based communication. In: Katoen, J.-P., Langerak, R., Rensink, A. (eds.) ModelEd, TestEd, TrustEd. LNCS, vol. 10500, pp. 169–190. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-68270-9_9

    Chapter  Google Scholar 

  11. Calzolai, F., De Nicola, R., Loreti, M., Tiezzi, F.: TAPAs: a tool for the analysis of process algebras. In: Jensen, K., van der Aalst, W.M.P., Billington, J. (eds.) Transactions on Petri Nets and Other Models of Concurrency I. LNCS, vol. 5100, pp. 54–70. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-89287-8_4

    Chapter  Google Scholar 

  12. Abd Alrahman, Y., De Nicola, Loreti, R.: Programming the interactions of collective-adaptive systems by relying on attribute-based communication. CoRR, vol. abs/1711.06092 (2017). http://arxiv.org/abs/1711.06092

  13. ter Beek, M.H., Gnesi, S., Mazzanti, F.: From EU projects to a family of model checkers. In: De Nicola, R., Hennicker, R. (eds.) Software, Services, and Systems. LNCS, vol. 8950, pp. 312–328. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-15545-6_20

    Chapter  Google Scholar 

  14. De Nicola, R., Vaandrager, F.W.: Three logics for branching bisimulation. J. ACM, 42(2), 458–487 (1995). http://doi.acm.org/10.1145/201019.201032

  15. Fantechi, A., Gnesi, S., Lapadula, A., Mazzanti, F., Pugliese, R., Tiezzi, F.: A logical verification methodology for service-oriented computing. ACM Trans. Software Eng. Methodol. (TOSEM) 21(3), 16 (2012)

    Article  Google Scholar 

  16. Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. Program. Lang. Syst. (TOPLAS) 8(2), 244–263 (1986)

    Article  MATH  Google Scholar 

  17. OMG, “Unified modeling language version 2.5 - behavioral statemachines,” Object Management Group, Technical Report (2015). https://www.omg.org/spec/UML/2.5/PDF

  18. The UMC verification framework. http://fmt.isti.cnr.it/umc

  19. Alrahman, Y.A., De Nicola, R., Garbi, G., Loreti, M.: A distributed coordination infrastructure for attribute-based interaction. In: Baier, C., Caires, L. (eds.) FORTE 2018. LNCS, vol. 10854, pp. 1–20. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-92612-4_1

    Chapter  Google Scholar 

  20. Brinkmann, G., Coolsaet, K., Goedgebeur, J., Mélot, H.: House of graphs: a database of interesting graphs. Discrete Appl. Math. 161(1–2), 311–314 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  21. De Nicola, R., et al.: Programming and verifying component ensembles. In: Bensalem, S., Lakhneck, Y., Legay, A. (eds.) ETAPS 2014. LNCS, vol. 8415, pp. 69–83. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54848-2_5

    Chapter  Google Scholar 

  22. Mazzanti, F., Ferrari, A., Spagnolo, G.O.: Towards formal methods diversity in railways: an experience report with seven frameworks. STTT 20(3), 263–288 (2018). https://doi.org/10.1007/s10009-018-0488-3

    Article  Google Scholar 

  23. Mazzanti, F., Ferrari, A.: Ten diverse formal models for a CBTC automatic train supervision system. In: Proceedings Third Workshop on Models for Formal Analysis of Real Systems MARS/VPT@ETAPS 2018, Thessaloniki, Greece, pp. 104–149, 20 April 2018. https://doi.org/10.4204/EPTCS.268.4

  24. De Nicola, R., Duong, T., Inverso, O., Trubiani, C.: AErlang: empowering erlang with attribute-based communication. In: Jacquet, J.-M., Massink, M. (eds.) COORDINATION 2017. LNCS, vol. 10319, pp. 21–39. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-59746-1_2

    Chapter  Google Scholar 

  25. Abd Alrahman, Y., De Nicola, R., Garbi, G.: \(\cal{G}o\cal{A}t\): Attribute-based interaction in google go. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11246, pp. 288–303. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03424-5_19

    Chapter  Google Scholar 

  26. Abd Alrahman, Y., De Nicola, R., Loreti, M.: Programming of CAS systems by relying on attribute-based communication. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016. LNCS, vol. 9952, pp. 539–553. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47166-2_38

    Chapter  Google Scholar 

  27. Pironti, A., Sisto, R.: Provably correct java implementations of spi calculus security protocols specifications. Comput. Secur. 29(3), 302–314 (2010)

    Article  Google Scholar 

  28. Desai, A., Gupta, V., Jackson, E., Qadeer, S., Rajamani, S., Zufferey, D.: P: safe asynchronous event-driven programming. ACM SIGPLAN Not. 48(6), 321–332 (2013)

    Article  Google Scholar 

  29. Cassar, I., Francalanza, A., Aceto, L., Ingólfsdóttir, A.: A survey of runtime monitoring instrumentation techniques. In: Francalanza, A., Pace, G.J. (Eds.) Proceedings Second International Workshop on Pre- and Post-Deployment Verification Techniques, PrePost@iFM 2017, series EPTCS, vol. 254, pp. 15–28 (2017)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Rocco De Nicola , Tan Duong , Omar Inverso or Franco Mazzanti .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

De Nicola, R., Duong, T., Inverso, O., Mazzanti, F. (2019). A Systematic Approach to Programming and Verifying Attribute-Based Communication Systems. In: ter Beek, M., Fantechi, A., Semini, L. (eds) From Software Engineering to Formal Methods and Tools, and Back. Lecture Notes in Computer Science(), vol 11865. Springer, Cham. https://doi.org/10.1007/978-3-030-30985-5_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-30985-5_22

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-30984-8

  • Online ISBN: 978-3-030-30985-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics