Formal Methods in Communication Protocol Design
- 1 April 1980
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Communications
- Vol. 28 (4), 624-631
- https://doi.org/10.1109/tcom.1980.1094685
Abstract
While early protocol design efforts had to rely largely on seat-of-the-pants methods, a variety of more rigorous techniques have been developed recently. This paper surveys the formal methods being applied to the problems of protocol specification, verification, and implementation. In the specification area, both the service that a protocol layer provides to its users and the internal operations of the entities that compose the layer must be defined. Verification then consists of a demonstration that the layer will meet its service specification and that each of the components is correctly implemented. Formal methods for accomplishing these tasks are discussed, including state transition models, program verification, symbolic execution, and design rules.Keywords
This publication has 21 references indexed in Scilit:
- Specification and Validation of ProtocolsIEEE Transactions on Communications, 1979
- Development and Structure of an X.25 ImplementationIEEE Transactions on Software Engineering, 1979
- Abstract data types and software validationCommunications of the ACM, 1978
- Verification and evaluation of communication protocolsComputer Networks (1976), 1978
- Some problems with the X.25 packet level protocolACM SIGCOMM Computer Communication Review, 1977
- Datapac X.25 service characteristicsPublished by Association for Computing Machinery (ACM) ,1977
- An approach to describing a data link level protocol with a formal languagePublished by Association for Computing Machinery (ACM) ,1977
- Consistency and correctness of duplicate database systemsPublished by Association for Computing Machinery (ACM) ,1977
- Recoverability of Communication Protocols--Implications of a Theoretical StudyIEEE Transactions on Communications, 1976
- Specification techniques for data abstractionsIEEE Transactions on Software Engineering, 1975