Communicating sequential processes
Communicating sequential processes
Parallel program design: a foundation
Parallel program design: a foundation
A lattice-structured proof of a minimum spanning
PODC '88 Proceedings of the seventh annual ACM Symposium on Principles of distributed computing
A toolbox for the verification of LOTOS programs
ICSE '92 Proceedings of the 14th international conference on Software engineering
The concurrency workbench: a semantics-based tool for the verification of concurrent systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Formal Verification of Concurrent Programs Using the Larch Prover
IEEE Transactions on Software Engineering
IFIP TC6/ 6.1 international conference on formal description techniques IX/protocol specification, testing and verification XVI on Formal description techniques IX : theory, application and tools: theory, application and tools
ACM Transactions on Computational Logic (TOCL)
A Distributed Algorithm for Minimum-Weight Spanning Trees
ACM Transactions on Programming Languages and Systems (TOPLAS)
Mobile values, new names, and secure communication
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Distributed Algorithms
Using Formal Description Techniques: An Introduction to Estelle, Lotos, and SDL
Using Formal Description Techniques: An Introduction to Estelle, Lotos, and SDL
Development of Veda, a Prototyping Tool for Distributed Algorithms
IEEE Transactions on Software Engineering
Translation from LOTOS and Estelle Specifications to Extended Transition System and its Verification
FORTE '89 Proceedings of the IFIP TC/WG6.1 Second International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols
Formal Verification of SDL Systems at the Siemens Mobile Phone Department
TACAS '98 Proceedings of the 4th International Conference on Tools and Algorithms for Construction and Analysis of Systems
A HOL Formalisation of the Temporal Logic of Actions
Proceedings of the 7th International Workshop on Higher Order Logic Theorem Proving and Its Applications
A Modular Coding of UNITY in COQ
TPHOLs '96 Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
Circuits as Streams in Coq: Verification of a Sequential Multiplier
TYPES '95 Selected papers from the International Workshop on Types for Proofs and Programs
Proving a Real Time Algorithm for ATM in Coq
TYPES '96 Selected papers from the International Workshop on Types for Proofs and Programs
SDL specification and verification of universal personal computing: with Object GEODE
FORTE XI / PSTV XVIII '98 Proceedings of the FIP TC6 WG6.1 Joint International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols (FORTE XI) and Protocol Specification, Testing and Verification (PSTV XVIII)
Applying SDL Specifications and Tools to the Verification of Procedures
SDL '01 Proceedings of the 10th International SDL Forum Copenhagen on Meeting UML
Experiences with specification and verification in LOTOS: a report on two case studies
WIFT '95 Proceedings of the 1st Workshop on Industrial-Strength Formal Specification Techniques
SDL Specification and Verification of a Distributed Access Generic opticalNetwork Interface for SMDS Networks
Declarative routing: extensible routing with declarative queries
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Formal certification of a compiler back-end or: programming a compiler with a proof assistant
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Declarative networking: language, execution and optimization
Proceedings of the 2006 ACM SIGMOD international conference on Management of data
A declarative perspective on adaptive manet routing
Proceedings of the ACM workshop on Programmable routers for extensible services of tomorrow
Declarative Network Verification
PADL '09 Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages
Automatic verification of correspondences for security protocols
Journal of Computer Security
Verifying Self-stabilizing Population Protocols with Coq
TASE '09 Proceedings of the 2009 Third IEEE International Symposium on Theoretical Aspects of Software Engineering
Netlog, a rule-based language for distributed programming
PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
A new proof of the GHS minimum spanning tree algorithm
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Declarative distributed computing
Correct Reasoning
Messages with implicit destinations as mobile agents
Proceedings of the 2nd edition on Programming systems, languages and applications based on actors, agents, and decentralized control abstractions
Hi-index | 0.00 |
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.