Design and validation of computer protocols
Design and validation of computer protocols
Finite transition systems: semantics of communicating systems
Finite transition systems: semantics of communicating systems
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
A note on reliable full-duplex transmission over half-duplex links
Communications of the ACM
Tool-supported program abstraction for finite-state verification
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
A Discipline of Programming
Logic Verification of ANSI-C Code with SPIN
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
FORTE XII / PSTV XIX '99 Proceedings of the IFIP TC6 WG6.1 Joint International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols (FORTE XII) and Protocol Specification, Testing and Verification (PSTV XIX)
Hi-index | 0.00 |
One way to improve the reliability of reactive systems is to use formal development methods. Although powerful techniques exist for verifying specifications, a remaining problem is to show that an implementation satisfies its specification.In this paper we describe a development method for improving the reliability of reactive systems, the main idea being to structure specifications as transition systems. In this way flow of control is formally separated from data manipulation which makes it possible to use a standard verification technique to check control flow at the implementation level. At the same time testing is simplified significantly. The alternating bit protocol is used to explain the proposed method. In addition, an implementation of the TCP protocol is discussed to illustrate that the technique is also applicable to reactive systems of realistic size and complexity.