Certified Impossibility Results and Analyses in Coq of Some Randomised Distributed Algorithms
Randomised algorithms are generally simple to formulate. However, their analysis can become very complex, especially in the field of distributed computing. In this paper, we formally model in Coq a class of randomised distributed algorithms. We develop some tools to help proving impossibility results about classical problems and analysing this class of algorithms. As case studies, we examine the handshake and maximal matching problems. We show how to use our tools to formally prove properties about algorithms solving those problems.
The authors are grateful to P. Castéran who follows this work all along. We particularly thank him for his first proof in Coq of the impossibility result stated in Sect. 4.1 and for the development of the semantics that is the base of their development. They also thank C. Paulin-Mohring and A. Mahboubi for their help using Alea and ssreflect respectively.
- [CF11]Castéran, P., Filou, V.: Tasks, types and tactics for local computation systems. Studia Informatica Universalis 9(1), 39–86 (2011)Google Scholar
- [DM09]Deng, Y., Monin, J.F.: Verifying self-stabilizing population protocols with Coq. In: TASE, pp. 201–208 (2009)Google Scholar
- [FZ]Fontaine, A., Zemmari, A.: RDA: a Coq Library on Randomised Distributed Algorithms. http://www.allyxfontaine.com/RDA
- [GMT08]Gonthier, G., Mahboubi, A., Tassi, E.: A Small Scale Reflection Extension for the Coq system. Rapport de recherche RR-6455, INRIA (2008)Google Scholar
- [KNP02]Kwiatkowska, M.Z., Norman, G., Parker, D., Prism: probabilistic symbolic model checker. In: Computer Performance Evaluation/TOOLS, pp. 200–204 (2002)Google Scholar
- [PS95]Pogosyants, A., Segala, R.: Formal verification of timed properties for randomized distributed algorithms. In: PODC, pp. 174–183 (1995)Google Scholar
- [Tea]“Coq Development Team”. The Coq Proof Assistant Reference Manual. coq.inria.fr