Formal Derivation of a Distributed Program in Event B
Achieving high dependability of distributed systems remains a major challenge due to complexity arising from concurrency and communication. There are a number of formal approaches to verification of properties of distributed algorithms. However, there is still a lack of methods that enable a transition from a verified formal model of communication to a program that faithfully implements it. In this paper we aim at bridging this gap by proposing a state-based formal approach to correct-by-construction development of distributed programs. In our approach we take a systems view, i.e., formally model not only application but also its environment – the middleware that supports it. We decompose such an integrated specification to obtain the distributed program that should be deployed on the targeted network infrastructure. To illustrate our approach, we present a development of a distributed leader election protocol.
Unable to display preview. Download preview PDF.
- 6.Degerlund, F., Walden, M., Sere, K.: Implementation issues concerning the action systems formalism. In: Proceedings of the Eighth International Conference on Parallel and Distributed Computing Applications and Technologies (PDCAT 2007). IEEE Computer Society, Los Alamitos (2007)Google Scholar
- 9.Garcia-Molina, H.: Elections in distributed computing systems. IEEE Transactions on Computers 31(1) (1982)Google Scholar
- 10.Hoang, T., Kuruma, H., Basin, D., Abrial, J.R.: Developing topology discovery in Event B. Science of Computer Programming 74 (2009)Google Scholar
- 11.Iliasov, A., Troubitsyna, E., Laibinis, L., Romanovsky, A., Varpaaniemi, K., Ilic, D., Latvala, T.: Supporting Reuse in Event B Development: Modularisation Approach. In: Frappier, M., Glässer, U., Khurshid, S., Laleau, R., Reeves, S. (eds.) ABZ 2010. LNCS, vol. 5977, pp. 174–188. Springer, Heidelberg (2010)CrossRefGoogle Scholar
- 12.IST FP7 project DEPLOY, http://www.deploy-project.eu/
- 14.Protocol, L.E.: Event B specification (2011), http://iliasov.org/modplugin/leaderel2commented.zip
- 15.Protocol, L.E.: Java implementation (2011), http://iliasov.org/modplugin/leaderel_program.zip
- 16.Rigorous Open Development Environment for Complex Systems (RODIN): Deliverable D7, Event B Language, http://rodin.cs.ncl.ac.uk/
- 17.RODIN modularisation plug-in: Documentation, http://wiki.event-b.org/index.php/Modularisation_Plug-in
- 18.The RODIN platform, http://rodin-b-sharp.sourceforge.net/
- 19.Walden, M.: Formal Reasoning About Distributed Algorithms. Åbo Akademi University, Finland, ph.D. Thesis (1998)Google Scholar