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.
Similar content being viewed by others
References
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
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
Bledsoe W, Loveland D (1984) Automating theorem proving: after 25 years. American Mathematical Society, Providence
Bruns G (1996) Distributed systems analysis with CCS. Prentice Hall PTR, Englewood Cliffs
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
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
Clarke, EM, Grumberg O, Peled D (2008) Model checking. The MIT Press, Cambridge
Chen B-S, Yeh T (1983) Formal specification and verification of distributed systems. Trans Soft Eng SE- 9(6): 710–722
Déharbe D (2013) Integration of SMT-solvers in B and Event-B development environment. Sci Comput Progr 78(3): 310–326
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
Dong J, Sun J, Liu Y (2013) Build your own model checker in one month. In: Poceedings of ICSE13, pp 1481–1483
Duan Z, Tian C (2008) A unified model checking approach with projection temporal logic. In: Proceedings of ICFEM08, pp 167–186
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
Duan Z (2006) Temporal logic and temporal logic programming language. Science Press, Beijing
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
Hennessy M (2007) A distributed Pi-calculus. Cambridge University Press, Cambridge
Hoare CAR (1978) Communicating sequential processes. Commun ACM 21: 666–677
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
Jones CB (1981) Development methods for computer programs including a notion of interference. PhD thesis, Oxford University
Lamport L (1994) The temporal logic of actions. ACM Trans Program Lang Syst 16(3): 872–923
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
Milner R (1982) A calculus of communicating systems. Springer-Verlag New York, Inc., Secaucus
Milner R (1999) Communicating and mobile systems: the π-calculus. Cambridge University Press, Cambridge
Moszkowski BC (1986) Executing temporal logic programs. PhD thesis, Cambridge Uniersity, Cambridge
Manna Z, Pnueli A (1992) Temporal logic of reactive and concurrent systems. Springer, Berlin
Mo D, Wang X, Duan Z (2011) Asynchronous communication in MSVL. In: Proceeding of ICFEM2011. LNCS, vol 6991, pp 82–97
Peterson JL (1977) Petri nets. ACM Comput Surv 9(3): 223–252
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
Ricart G, Agrawala AK (1981) An optimal algorithm for mutual exclusion in computer networks. Commun ACM 24(1): 9–17
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
Tang CS (1983) Toward a unified logic basis for programming languages. In: Proceedings of IFIP congress. Elsevier Science, North Holland, pp 425–429
Tian C, Duan Z (2011) Expressiveness of propositional projection temporal logic with star. Theor Comput Sci 412:1729–1744
Woodcock J, Larsen PG, Bicarregui J, Fitzgerald J (2009) Formal methods: practice and experience. Comput Surv 41(4):19: 1–19:36
Yang X, Duan Z, Ma Q (2010) Axiomatic semantics of projection temporal logic programs. Math Struct Comput Sci 20(5): 865–914
Author information
Authors and Affiliations
Corresponding author
Additional information
Dong Jin Song
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-014-0303-1