Modelling and Formal Verification of the NEO Protocol
In order to manage very large distributed databases such as those used for banking and e-government applications, and thus to handle sensitive data, an original peer-to-peer transaction protocol, called NEO, was proposed. To ensure its effective operation, it is necessary to check a set of critical properties. The most important ones are related to availability of data that must be guaranteed by the system. Thus, our objective aims at verifying critical properties of the NEO protocol so as to guarantee such properties are satisfied. The model is obtained by reverse-engineering from the source code and then formal verification is performed. We focus in this article on the two phases of the NEO protocol occurring at the initialisation of the system. The first one, the election phase, aims at designating a special node that will pilot the overall system. The bootstrap protocol, triggered at the end of the election, ensures that the system will enter its operational state in a coherent way. Therefore, the correctness of these two phases is mandatory for the reliability of the system.
KeywordsMaster Node Storage Node Reachability Graph Partial Order Reduction Election Phase
Unable to display preview. Download preview PDF.
- 1.The Coloane tool Homepage, https://coloane.lip6.fr/
- 2.The GreatSPN tool Homepage, http://www.di.unito.it/~greatspn
- 3.The ZODB Homepage, http://wiki.zope.org/ZODB/FrontPage
- 4.Bertrand, O., Calonne, A., Choppy, C., Hong, S., Klai, K., Kordon, F., Okuji, Y., Paviot-Adet, E., Petrucci, L., Smets, J.-P.: Verification of Large-Scale Distributed Database Systems in the NEOPPOD Project. In: PNSE 2009, pp. 315–317 (2009)Google Scholar
- 6.Choppy, C., Dedova, A., Evangelista, S., Hong, S., Klai, K., Petrucci, L.: The NEO Protocol for Large-Scale Distributed Database Systems: Modelling and Initial Verification. In: Lilius, J., Penczek, W. (eds.) PETRI NETS 2010. LNCS, vol. 6128, pp. 145–164. Springer, Heidelberg (2010)CrossRefGoogle Scholar
- 8.ERP5. Central Bank Implements Open Source ERP5 in Eight Countries after Proprietary System Failed, http://www.erp5.com/news-central.bank
- 10.Haddad, S., Pradat-Peyre, J.-F.: New Efficient Petri Nets Reductions for Parallel Programs Verification. Parallel Processing Letters 1, 16 (2006)Google Scholar
- 11.Hamez, A., Hillah, L., Kordon, F., Linard, A., Paviot-Adet, E., Renault, X., Thierry-Mieg, Y.: New Features in CPN-AMI 3: Focusing on the Analysis of Complex Distributed Systems. In: ACSD 2006, pp. 273–275. IEEE Computer Society (2006), http://move.lip6.fr/software/CPNAMI/
- 13.Jensen, K., Kristensen, L.M.: Coloured Petri Nets, Modelling and Validation of Concurrent Systems. Springer Verlag Monograph (2009)Google Scholar
- 16.University of Hamburg. The Petri Nets Tool Database, http://www.informatik.uni-hamburg.de/TGI/PetriNets/tools/db.html