Skip to main content
Log in

Verification of distributed systems with the axiomatic system of MSVL

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

Since distributed systems are inherently concurrent and asynchronous, it is a challenge for us to verify distributed systems. MSVL is a useful temporal logic programming language and its axiomatic system has been established. However, the axiomatic system of MSVL lacks mechanisms to manage asynchronous communication, which makes it cannot deal with distributed systems. Thus, to verify distributed systems with MSVL in a deductive way, this paper is motivated to extend the axiomatic system of MSVL with new axioms for asynchronous communication. To this end, firstly we formalize state axioms regarding asynchronous communication commands and then prove the soundness and completeness. Further, to demonstrate how the extended axiomatic system of MSVL works for distributed systems, we apply it to the well-known Ricart–Agrawala (RA) algorithm, which is a distributed mutual exclusion algorithm and has an infinite state space. To do this, we model the RA algorithm with MSVL, specify the desired properties and then verify an instance of the RA algorithm with respect to the first-come-first-served property.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Armbrust M, Fox A, Griffith R, Joseph AD, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A, Stoica I, Zaharia M (2010) A view of cloud computing. Commun ACM 53(4): 50–58

    Article  Google Scholar 

  2. Barringer H, Fisher M, Gabbay D, Gough G, Owens R (1990) METATEM: a framework for programming in temporal logic. In: Proceedings on Stepwise refinement of distributed systems: models, formalisms, correctness, REX workshop. Springer-Verlag New York, Inc., New York, pp 94–129

  3. Bledsoe W, Loveland D (1984) Automating theorem proving: after 25 years. American Mathematical Society, Providence

    Book  Google Scholar 

  4. Bruns G (1996) Distributed systems analysis with CCS. Prentice Hall PTR, Englewood Cliffs

    Google Scholar 

  5. Clarke EM, Emerson EA (1981) Design and synthesis of synchronization skeletons using branching timed temporal logic. In: LNCS, vol 131. Springer, Bertin, pp 52–71

  6. Cranen S, Groote J, Keiren JJA, Stappers FPM, Vink EP, Wesselink W, Willemse TA (2013) An overview of the mCRL2 toolset and its recent advances. In: Piterman N, Smolka SA (eds) Tools and algorithms for the construction and analysis of systems, vol 7795. Lecture notes in computer science, Springer, Berlin, pp 199–213

  7. Clarke, EM, Grumberg O, Peled D (2008) Model checking. The MIT Press, Cambridge

  8. Chen B-S, Yeh T (1983) Formal specification and verification of distributed systems. Trans Soft Eng SE- 9(6): 710–722

    Article  MATH  Google Scholar 

  9. Déharbe D (2013) Integration of SMT-solvers in B and Event-B development environment. Sci Comput Progr 78(3): 310–326

    Article  MATH  Google Scholar 

  10. Duan Z, Koutny M, Holt C (1994) Projection in temporal logic programming. In: Proceedings of logic programming and automated reasoning. LNAI, vol 822, pp 333–344

  11. Dong J, Sun J, Liu Y (2013) Build your own model checker in one month. In: Poceedings of ICSE13, pp 1481–1483

  12. Duan Z, Tian C (2008) A unified model checking approach with projection temporal logic. In: Proceedings of ICFEM08, pp 167–186

  13. Duan Z (1996) An extended interval temporal logic and a framing technique for temporal logic programming. PhD thesis, University of Newcastle Upon Tyne, May 1996

  14. Duan Z (2006) Temporal logic and temporal logic programming language. Science Press, Beijing

    Google Scholar 

  15. Fisher M (1994) A survey of concurrent metatem: the language and its applications. In: Temporal logic. Lecture notes in computer science, vol 827. Springer, Berlin, pp 480–505

  16. Hennessy M (2007) A distributed Pi-calculus. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  17. Hoare CAR (1978) Communicating sequential processes. Commun ACM 21: 666–677

    Article  MATH  Google Scholar 

  18. Jensen K (1991) Coloured petri nets: a high level language for system design and analysis. In: Rozenberg G (ed) Advances in petri nets 1990, vol 483. Lecture notes in computer science, Springer, Berlin, pp 342–416

  19. Jones CB (1981) Development methods for computer programs including a notion of interference. PhD thesis, Oxford University

  20. Lamport L (1994) The temporal logic of actions. ACM Trans Program Lang Syst 16(3): 872–923

    Article  Google Scholar 

  21. Lynch NA, Tuttle MR (1987) Hierarchical correctness proofs for distributed algorithms. In: Proceedings of the sixth annual ACM symposium on principles of distributed computing. PODC ’87, pp 137–151

  22. Milner R (1982) A calculus of communicating systems. Springer-Verlag New York, Inc., Secaucus

  23. Milner R (1999) Communicating and mobile systems: the π-calculus. Cambridge University Press, Cambridge

  24. Moszkowski BC (1986) Executing temporal logic programs. PhD thesis, Cambridge Uniersity, Cambridge

  25. Manna Z, Pnueli A (1992) Temporal logic of reactive and concurrent systems. Springer, Berlin

    Book  Google Scholar 

  26. Mo D, Wang X, Duan Z (2011) Asynchronous communication in MSVL. In: Proceeding of ICFEM2011. LNCS, vol 6991, pp 82–97

  27. Peterson JL (1977) Petri nets. ACM Comput Surv 9(3): 223–252

    Article  MATH  Google Scholar 

  28. Pnueli A (1977) The temporal logic of programs. In: Proceedings of the 18th annal IEEE symposium on foudations of computer science. IEEE Computer Society, pp 46–57

  29. Ricart G, Agrawala AK (1981) An optimal algorithm for mutual exclusion in computer networks. Commun ACM 24(1): 9–17

    Article  MathSciNet  Google Scholar 

  30. Rodriguez-Navas G, Proenza J (2013) Using timed automata for modeling distributed systems with clocks: challenges and solutions. IEEE Trans Softw Eng 39(6): 857–868

    Article  Google Scholar 

  31. Tang CS (1983) Toward a unified logic basis for programming languages. In: Proceedings of IFIP congress. Elsevier Science, North Holland, pp 425–429

  32. Tian C, Duan Z (2011) Expressiveness of propositional projection temporal logic with star. Theor Comput Sci 412:1729–1744

  33. Woodcock J, Larsen PG, Bicarregui J, Fitzgerald J (2009) Formal methods: practice and experience. Comput Surv 41(4):19: 1–19:36

  34. Yang X, Duan Z, Ma Q (2010) Axiomatic semantics of projection temporal logic programs. Math Struct Comput Sci 20(5): 865–914

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhenhua Duan.

Additional information

Dong Jin Song

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ma, Q., Duan, Z., Zhang, N. et al. Verification of distributed systems with the axiomatic system of MSVL. Form Asp Comp 27, 103–131 (2015). https://doi.org/10.1007/s00165-014-0303-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-014-0303-1

Keywords

Navigation