Formal Aspects of Computing

, Volume 27, Issue 1, pp 103–131 | Cite as

Verification of distributed systems with the axiomatic system of MSVL

  • Qian Ma
  • Zhenhua Duan
  • Nan Zhang
  • Xiaobing Wang
Original Article


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.


Distributed systems Temporal logic Temporal logic programming MSVL Theorem proving 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. AFG+10.
    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–58CrossRefGoogle Scholar
  2. BFG+90.
    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–129Google Scholar
  3. BL84.
    Bledsoe W, Loveland D (1984) Automating theorem proving: after 25 years. American Mathematical Society, ProvidenceCrossRefGoogle Scholar
  4. Bru96.
    Bruns G (1996) Distributed systems analysis with CCS. Prentice Hall PTR, Englewood CliffsGoogle Scholar
  5. CE81.
    Clarke EM, Emerson EA (1981) Design and synthesis of synchronization skeletons using branching timed temporal logic. In: LNCS, vol 131. Springer, Bertin, pp 52–71Google Scholar
  6. CGK+13.
    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–213Google Scholar
  7. CGP08.
    Clarke, EM, Grumberg O, Peled D (2008) Model checking. The MIT Press, CambridgeGoogle Scholar
  8. CY83.
    Chen B-S, Yeh T (1983) Formal specification and verification of distributed systems. Trans Soft Eng SE- 9(6): 710–722CrossRefzbMATHGoogle Scholar
  9. D13.
    Déharbe D (2013) Integration of SMT-solvers in B and Event-B development environment. Sci Comput Progr 78(3): 310–326CrossRefzbMATHGoogle Scholar
  10. DKH94.
    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–344Google Scholar
  11. DSL13.
    Dong J, Sun J, Liu Y (2013) Build your own model checker in one month. In: Poceedings of ICSE13, pp 1481–1483Google Scholar
  12. DT08.
    Duan Z, Tian C (2008) A unified model checking approach with projection temporal logic. In: Proceedings of ICFEM08, pp 167–186Google Scholar
  13. Dua96.
    Duan Z (1996) An extended interval temporal logic and a framing technique for temporal logic programming. PhD thesis, University of Newcastle Upon Tyne, May 1996Google Scholar
  14. Dua06.
    Duan Z (2006) Temporal logic and temporal logic programming language. Science Press, BeijingGoogle Scholar
  15. Fis94.
    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–505Google Scholar
  16. Hen07.
    Hennessy M (2007) A distributed Pi-calculus. Cambridge University Press, CambridgeCrossRefzbMATHGoogle Scholar
  17. Hoa78.
    Hoare CAR (1978) Communicating sequential processes. Commun ACM 21: 666–677CrossRefzbMATHGoogle Scholar
  18. Jen91.
    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–416Google Scholar
  19. Jon81.
    Jones CB (1981) Development methods for computer programs including a notion of interference. PhD thesis, Oxford UniversityGoogle Scholar
  20. Lam94.
    Lamport L (1994) The temporal logic of actions. ACM Trans Program Lang Syst 16(3): 872–923CrossRefGoogle Scholar
  21. LT87.
    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–151Google Scholar
  22. Mil82.
    Milner R (1982) A calculus of communicating systems. Springer-Verlag New York, Inc., SecaucusGoogle Scholar
  23. Mil99.
    Milner R (1999) Communicating and mobile systems: the π-calculus. Cambridge University Press, CambridgeGoogle Scholar
  24. Mos86.
    Moszkowski BC (1986) Executing temporal logic programs. PhD thesis, Cambridge Uniersity, CambridgeGoogle Scholar
  25. MP92.
    Manna Z, Pnueli A (1992) Temporal logic of reactive and concurrent systems. Springer, BerlinCrossRefGoogle Scholar
  26. MWD11.
    Mo D, Wang X, Duan Z (2011) Asynchronous communication in MSVL. In: Proceeding of ICFEM2011. LNCS, vol 6991, pp 82–97Google Scholar
  27. Pet77.
    Peterson JL (1977) Petri nets. ACM Comput Surv 9(3): 223–252CrossRefzbMATHGoogle Scholar
  28. Pnu77.
    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–57Google Scholar
  29. RA81.
    Ricart G, Agrawala AK (1981) An optimal algorithm for mutual exclusion in computer networks. Commun ACM 24(1): 9–17CrossRefMathSciNetGoogle Scholar
  30. RNP13.
    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–868CrossRefGoogle Scholar
  31. Tan83.
    Tang CS (1983) Toward a unified logic basis for programming languages. In: Proceedings of IFIP congress. Elsevier Science, North Holland, pp 425–429Google Scholar
  32. TD11.
    Tian C, Duan Z (2011) Expressiveness of propositional projection temporal logic with star. Theor Comput Sci 412:1729–1744Google Scholar
  33. WLBF09.
    Woodcock J, Larsen PG, Bicarregui J, Fitzgerald J (2009) Formal methods: practice and experience. Comput Surv 41(4):19: 1–19:36Google Scholar
  34. YDM10.
    Yang X, Duan Z, Ma Q (2010) Axiomatic semantics of projection temporal logic programs. Math Struct Comput Sci 20(5): 865–914CrossRefMathSciNetzbMATHGoogle Scholar

Copyright information

© British Computer Society 2014

Authors and Affiliations

  • Qian Ma
    • 1
  • Zhenhua Duan
    • 1
  • Nan Zhang
    • 1
  • Xiaobing Wang
    • 1
  1. 1.Institute of Computing Theory and TechnologyXidian UniversityXi’anChina

Personalised recommendations