Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
TCP/IP illustrated (vol. 1): the protocols
TCP/IP illustrated (vol. 1): the protocols
Forward and backward simulations II.: timing-based systems
Information and Computation
Formal verification of communication protocols
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
Liveness in timed and untimed systems
Information and Computation
Theoretical Computer Science
What packets may come: automata for network monitoring
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
UNIX Network Programming: Networking APIs: Sockets and XTI
UNIX Network Programming: Networking APIs: Sockets and XTI
The UDP Calculus: Rigorous Semantics for Real Networking
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
An Object Calculus for Asynchronous Communication
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
CCS + Time = An Interleaving Model for Real Time Systems
ICALP '91 Proceedings of the 18th International Colloquium on Automata, Languages and Programming
Verifying a Distributed Database Lookup Manager Written in Erlang
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume I - Volume I
The machine-assisted proof of programming language properties
The machine-assisted proof of programming language properties
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Stenning's protocol implemented in UDP and verified in Isabelle
CATS '05 Proceedings of the 2005 Australasian symposium on Theory of computing - Volume 41
Engineering with logic: HOL specification and symbolic-evaluation testing for TCP implementations
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Rigour is good for you and feasible: reflections on formal treatments of C and UDP sockets
EW 10 Proceedings of the 10th workshop on ACM SIGOPS European workshop
A Rigorous Approach to Networking: TCP, from Implementation to Protocol to Service
FM '08 Proceedings of the 15th international symposium on Formal Methods
ACM Transactions on Programming Languages and Systems (TOPLAS)
Specification and Verification of Concurrent Programs Through Refinements
Journal of Automated Reasoning
Hi-index | 0.00 |
This paper studies the semantics of failure in distributed programming. We present a semantic model for distributed programs that use the standard sockets interface; it covers message loss, host failure and temporary disconnection and supports reasoning about distributed infrastructure. We consider interaction via the UDP and ICMP protocols. To do this, it has been necessary to: 驴 construct an experimentally-validated post-hoc specification of the UDP/ICMP sockets interface; 驴 develop a timed operational semantics with threads, as such programs are typically multithreaded and depend on timeouts; 驴 model the behaviour of partial systems, making explicit the interactions that the infrastructure offers to applications; 驴 integrate the above with semantics for an executable fragment of a programming language (OCaml) with OS library primitives; and 驴 use tool support to manage complexity, mechanizing the model with the HOL theorem prover. We illustrate the whole with a module providing naive heartbeat failure detection.