Advertisement

Formal Derivation of a Distributed Program in Event B

  • Alexei Iliasov
  • Linas Laibinis
  • Elena Troubitsyna
  • Alexander Romanovsky
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6991)

Abstract

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abrial, J.R.: The B-Book. Cambridge University Press, Cambridge (1996)CrossRefzbMATHGoogle Scholar
  2. 2.
    Abrial, J.R.: Modelling in Event-B. Cambridge University Press, Cambridge (2010)CrossRefzbMATHGoogle Scholar
  3. 3.
    Abrial, J.R., Cansell, D., Mery, D.: A mechanically proved and incremental development of IEEE 1394. Formal Aspects of Computing 14, 215–227 (2003)CrossRefzbMATHGoogle Scholar
  4. 4.
    Back, R., Sere, K.: Superposition refinement of reactive systems. Formal Aspects of Computing 8(3), 1–23 (1996)CrossRefzbMATHGoogle Scholar
  5. 5.
    Cansell, D., Méry, D.: Formal and incremental construction of distributed algorithms: on the distributed reference counting algorithm. Theoretical Computer Science 364, 318–337 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 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
  7. 7.
    Dijkstra, E.: A Discipline of Programming. Prentice-Hall International, Englewood Cliffs (1976)zbMATHGoogle Scholar
  8. 8.
    Fathabadi, S., Butler, M.: Applying Event-B Atomicity Decomposition to a Multi Media Protocol. In: de Boer, F.S., Bonsangue, M.M., Hallerstede, S., Leuschel, M. (eds.) FMCO 2009. LNCS, vol. 6286, pp. 89–104. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  9. 9.
    Garcia-Molina, H.: Elections in distributed computing systems. IEEE Transactions on Computers 31(1) (1982)Google Scholar
  10. 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. 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. 12.
    IST FP7 project DEPLOY, http://www.deploy-project.eu/
  13. 13.
    Butler, M., Yadav, D.: An incremental development of the Mondex system in Event B. Formal Aspects of Computing 20, 61–77 (2008)CrossRefGoogle Scholar
  14. 14.
    Protocol, L.E.: Event B specification (2011), http://iliasov.org/modplugin/leaderel2commented.zip
  15. 15.
    Protocol, L.E.: Java implementation (2011), http://iliasov.org/modplugin/leaderel_program.zip
  16. 16.
    Rigorous Open Development Environment for Complex Systems (RODIN): Deliverable D7, Event B Language, http://rodin.cs.ncl.ac.uk/
  17. 17.
    RODIN modularisation plug-in: Documentation, http://wiki.event-b.org/index.php/Modularisation_Plug-in
  18. 18.
  19. 19.
    Walden, M.: Formal Reasoning About Distributed Algorithms. Åbo Akademi University, Finland, ph.D. Thesis (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Alexei Iliasov
    • 1
  • Linas Laibinis
    • 2
  • Elena Troubitsyna
    • 2
  • Alexander Romanovsky
    • 1
  1. 1.Newcastle UniversityUK
  2. 2.Åbo Akademi UniversityFinland

Personalised recommendations