Adequate proof principles for invariance and liveness properties of concurrent programs
Science of Computer Programming
Executable description of the OSI transport service in Prolog
Proc. of IFIP WG 6.1 4th Int'l Workshop on Protocol specification, testing, and verification, IV
A verified sliding window protocol with variable flow control
SIGCOMM '86 Proceedings of the ACM SIGCOMM conference on Communications architectures & protocols
A verified connection management protocol for the transport layer
SIGCOMM '87 Proceedings of the ACM workshop on Frontiers in computer communications technology
A stepwise refinement heuristic for protocol construction
A stepwise refinement heuristic for protocol construction
A Discipline of Programming
Executable logic specifications for protocol service interfaces
IEEE Transactions on Software Engineering
Specification of the Transport Service Using Numerical Petri Nets
Proceedings of the IFIP WG6.1 Second International Workshop on Protocol Specification, Testing and Verification
Formal protocol specification based on attribute grammars
Proceedings of the IFIP WG6.1 Fifth International Conference on Protocol Specification, Testing and Verification V
The importance of the service concept in the design of data communications protocols
Proceedings of the IFIP WG6.1 Fifth International Conference on Protocol Specification, Testing and Verification V
Verified data transfer protocols with variable flow control
ACM Transactions on Computer Systems (TOCS)
A Relational Notation for State Transition Systems
IEEE Transactions on Software Engineering
Specifying modules to satisfy interfaces: a state transition system approach
Distributed Computing - Special issue: Specification of concurrent systems
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
A Rigorous Approach to Networking: TCP, from Implementation to Protocol to Service
FM '08 Proceedings of the 15th international symposium on Formal Methods
Hi-index | 0.00 |
In a computer network, the transport layer uses the service offered by the network layer and in turn offers its users the transport service of reliable connection management and data transfer. We provide a formal specification of the transport service in terms of an event-driven system and safety and progress properties. We construct three verified transport protocols that offer the transport service. The first transport protocol assumes a perfect network service, the second assumes loss-only network service, and the third assumes loss, reordering and duplication network service.Our transport service specifications are very realistic. Each user can be closed, listening, active opening, passive opening, open, or closing. A local incarnation number uniquely identifies every active opening and listening duration. Users can issue requests for connection, listening, closing, data send, etc. The transport layer issues indications for successful or unsuccessful connection, closing, data reception, etc. A connection is established only if one user requested the connection and the other was listening, or both requested the connection. A user receives data only from the appropriate incarnation of the distant user, and receives it insequence, without loss or duplication. Progress properties ensure that every outstanding user request is eventually responded to by an appropriate transport indication.Our protocols are constructed by stepwise refinement of the transport service. The construction method automatically generates a verification that the protocols satisfy the transport service. One distinctive feature of our protocol construction is that the events and verification of the data transfer function is directly obtained from any one of the numerous verified single-incarnation data transfer protocols already presented in the literature.