skip to main content
10.5555/2022067.2022074guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

A framework for verifying data-centric protocols

Published: 06 June 2011 Publication History

Abstract

Data centric languages, such as recursive rule based languages, have been proposed to program distributed applications over networks. They simplify greatly the code, while still admitting efficient distributed execution. We show that they also provide a promising approach to the verification of distributed protocols, thanks to their data centric orientation, which allows us to explicitly handle global structures such as the topology of the network. We consider a framework using an original formalization in the Coq proof assistant of a distributed computation model based on message passing with either synchronous or asynchronous behavior. The declarative rules of the Netlog language for specifying distributed protocols and the virtual machines for evaluating these rules are encoded in Coq as well. We consider as a case study tree protocols, and show how this framework enables us to formally verify them in both the asynchronous and synchronous setting.

References

[1]
Abadi, M., Fournet, C.: Mobile values, new names, and secure communication. In: POPL 2001, vol. 36, pp. 104-115. ACM, New York (2001).
[2]
Blanchet, B.: Automatic Verification of Correspondences for Security Protocols. Journal of Computer Security 17(4), 363-434 (2009).
[3]
Castéran, P., Filou, V.: Tasks, Types and Tactics for Local Computation Systems. Studia Informatica Universalis (to appear, 2011).
[4]
Chandy, K.M.: Parallel program design: a foundation. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (1988).
[5]
Chetali, B.: Formal Verification of Concurrent Programs Using the Larch Prover. IEEE Transactions on Software Engineering 24, 46-62 (1998).
[6]
Cleaveland, R., Parrow, J., Steffen, B.: The Concurrency Workbench: A semantics-based tool for the verification of concurrency systems. ACM Transactions on Programming Languages and Systems 15(1), 36-72 (1993).
[7]
Deng, Y., Grumbach, S., Monin, J.-F.: Coq Script for Netlog Protocols, http://www-verimag.imag.fr/~monin/Proof/NetlogCoq/netlogcoq.tar.gz
[8]
Deng, Y., Grumbach, S., Monin, J.-F.: Verifying Declarative Netlog Protocols with Coq: a First Experiment. Research Report 7511, INRIA (2011).
[9]
Deng, Y., Monin, J.-F.: Verifying Self-stabilizing Population Protocols with Coq. In: TASE 2009, pp. 201-208. IEEE Computer Society, Los Alamitos (2009).
[10]
Fernandez, J.-C., Garavel, H., Mounier, L., Rasse, A., Rodriguez, C., Sifakis, J.: A toolbox for the verification of LOTOS programs. In: ICSE 1992, pp. 246-259. ACM, New York (1992).
[11]
Gallager, R.G., Humblet, P.A., Spira, P.M.: A Distributed Algorithm for Minimum-Weight Spanning Trees. ACM Trans. Program. Lang. Syst. 5(1), 66-77 (1983).
[12]
Giménez, E.: A Calculus of Infinite Constructions and its application to the verification of communicating systems. PhD thesis, ENS Lyon (1996).
[13]
Gotzhein, R., Bredereke, J. (eds.): Formal Description Techniques IX: Theory, application and tools, IFIP TC6 WG6.1, IFIP Conference Proceedings, vol. 69. Chapman and Hall, Boca Raton (1996).
[14]
Grumbach, S., Wang, F.: Netlog, a Rule-Based Language for Distributed Programming. In: Carro, M., Peña, R. (eds.) PADL 2010. LNCS, vol. 5937, pp. 88-103. Springer, Heidelberg (2010).
[15]
Hesselink, W.H.: The Verified Incremental Design of a Distributed Spanning Tree Algorithm: Extended Abstract. Formal Asp. Comput. 11(1), 45-55 (1999).
[16]
Heyd, B., Crégut, P.: A Modular Coding of UNITY in COQ. In: von Wright, J., Harrison, J., Grundy, J. (eds.) TPHOLs 1996. LNCS, vol. 1125, pp. 251-266. Springer, Heidelberg (1996).
[17]
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985).
[18]
Jard, C., Monin, J.F., Groz, R.: Development of Veda, a Prototyping Tool for Distributed Algorithms. IEEE Trans. Softw. Eng. 14(3), 339-352 (1988).
[19]
Kirkwood, C., Thomas, M.: Experiences with specification and verification in LOTOS: a report on two case studies. In: WIFT 1995, p. 159. IEEE Computer Society Press, Los Alamitos (1995).
[20]
Lamport, L.: The temporal logic of actions. ACM Trans. Program. Lang. Syst. 16(3), 872-923 (1994).
[21]
Långbacka, T.: A HOL Formalisation of the Temporal Logic of Actions. In: TPHOL 1994, pp. 332-345. Springer, Heidelberg (1994).
[22]
Leroy, X.: Formal certification of a compiler back-end or: programming a compiler with a proof assistant. In: POPL 2006, pp. 42-54. ACM, New York (2006).
[23]
Liu, C., Mao, Y., Oprea, M., Basu, P., Loo, B.T.: A declarative perspective on adaptive manet routing. In: PRESTO 2008, pp. 63-68. ACM, New York (2008).
[24]
Loo, B.T., Condie, T., Garofalakis, M.N., Gay, D.E., Hellerstein, J.M., Maniatis, P., Ramakrishnan, R., Roscoe, T., Stoica, I.: Declarative networking: language, execution and optimization. In: ACM SIGMOD 2006 (2006).
[25]
Loo, B.T., Hellerstein, J.M., Stoica, I., Ramakrishnan, R.: Declarative routing: extensible routing with declarative queries. In: ACM SIGCOMM 2005 (2005).
[26]
Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann Publishers Inc., San Francisco (1996).
[27]
Lynch, N.A., Tuttle, M.R.: An introduction to input/output automata. CWI Quarterly 2, 219-246 (1989).
[28]
Monin, J.-F.: Proving a real time algorithm for ATM in Coq. In: Giménez, E. (ed.) TYPES 1996. LNCS, vol. 1512, pp. 277-293. Springer, Heidelberg (1998).
[29]
Moses, Y., Shimony, B.: A New Proof of the GHS Minimum Spanning Tree Algorithm. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 120-135. Springer, Heidelberg (2006).
[30]
Paulin-Mohring, C.: Circuits as Streams in Coq: Verification of a Sequential Multiplier. In: Berardi, S., Coppo, M. (eds.) TYPES 1995. LNCS, vol. 1158, pp. 216-230. Springer, Heidelberg (1996).
[31]
Paulson, L.C.: Mechanizing UNITY in Isabelle. ACM Trans. Comput. Logic 1(1), 3-32 (2000).
[32]
Regensburger, F., Barnard, A.: Formal Verification of SDL Systems at the Siemens Mobile Phone Department. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 439-455. Springer, Heidelberg (1998).
[33]
Roscoe, A.W.: Model-checking CSP, ch. 21. Prentice-Hall, Englewood Cliffs (1994).
[34]
Shahrier, S.M., Jenevein, R.M.: SDL Specification and Verification of a Distributed Access Generic optical Network Interface for SMDS Networks. Technical report, University of Texas at Austin (1997).
[35]
Törö, M., Zhu, J., Leung, V.C.M.: SDL specification and verification of universal personal computing: with Object GEODE. In: FORTE XI / PSTV XVIII 1998, pp. 267-282. Kluwer, B.V., Dordrecht (1998).
[36]
Turner, K.J.: Using Formal Description Techniques: An Introduction to Estelle, Lotos, and SDL. John Wiley & Sons, Inc., Chichester (1993).
[37]
Wang, A., Basu, P., Loo, B.T., Sokolsky, O.: Declarative Network Verification. In: Gill, A., Swift, T. (eds.) PADL 2009. LNCS, vol. 5418, pp. 61-75. Springer, Heidelberg (2008).
[38]
Welch, J.L., Lamport, L., Lynch, N.: A lattice-structured proof of a minimum spanning. In: Proceedings of the seventh annual ACM Symposium on Principles of distributed computing, PODC 1988, pp. 28-43. ACM, New York (1988).
[39]
Wu, J.-P., Chanson, S.T.: Translation from LOTOS and Estelle Specifications to Extended Transition System and its Verification. In: FORTE 1989, pp. 533-549. North-Holland Publishing Co., Amsterdam (1990).
[40]
Zhang, W.: Applying SDL Specifications and Tools to the Verification of Procedures. In: Reed, R., Reed, J. (eds.) SDL 2001. LNCS, vol. 2078, pp. 421-438. Springer, Heidelberg (2001).

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
FMOODS'11/FORTE'11: Proceedings of the joint 13th IFIP WG 6.1 and 30th IFIP WG 6.1 international conference on Formal techniques for distributed systems
June 2011
349 pages
ISBN:9783642214608
  • Editors:
  • Roberto Bruni,
  • Juergen Dingel

Sponsors

  • Reykjavik University
  • CCP GAMES: CCP Games Iceland
  • IFIP: International Federation for Information Processing

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 06 June 2011

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media