Towards Analyzing and Synthesizing Protocols

The production of error-free protocols or complex process interactions is essential to reliable communications. This paper presents techniques for both the detection of errors in protocols and for prevention of errors in their design. The methods have been used successfully to detect and correct errors in existing protocols. A technique based on a reachability analysis is described which detects errors m a design. This "perturbation technique" has been implemented and has successfully detected inconsistencies or errors in existing protocol designs including both X.21 and X.25. The types of errors handled are state deadlocks, unspecified receptions, nonexecutable interactions, and state smbiguities. These errors are discussed and their effects considered. An interactive design technique is then described that prevents design errors. The technique is based on a set of production rules which guarantee that complete reception capability is provided in the interacting processes. These rules have been implemented in the form of a tracking algorithm that prevents a designer from creating unspecified receptions and nonexecutable interactions and monitors for the presence of state deadlocks and ambiguities.

[1]  Pitro Zafiropulo,et al.  Design rules for producing logically complete two-process interactions and communications protocols , 1978, COMPSAC.

[2]  Pitro Alois Zafiropulo,et al.  Protocol Validation by Duologue-Matrix Analysis , 1978, IEEE Trans. Commun..

[3]  Keith A. Bartlett,et al.  A note on reliable full-duplex transmission over half-duplex links , 1969, Commun. ACM.

[4]  Gregor von Bochmann,et al.  Formal Methods in Communication Protocol Design , 1980, IEEE Trans. Commun..

[5]  C. H. West,et al.  General technique for communications protocol validation , 1978 .

[6]  Harry Rudin,et al.  Automated Protocol Validation: One Chain of Development , 1978, Comput. Networks.

[7]  Gregor von Bochmann,et al.  Finite State Description of Communication Protocols , 1978, Comput. Networks.

[8]  Gregor von Bochmann A General Transition Model for Protocols and Communication Services , 1980, IEEE Trans. Commun..

[9]  A. Danthine,et al.  Protocol Representation with Finite-State Models , 1980, IEEE Trans. Commun..

[10]  C. H. West,et al.  Executable Description and Validation of SNA , 1980, IEEE Trans. Commun..

[11]  Dag Belsnes,et al.  Some problems with the X.25 packet level protocol , 1977, CCRV.

[12]  C. H. West,et al.  Automated validation of a communications protocol: the CCITT X.21 recommendation , 1978 .

[13]  Jan Hajek Protocols verified by APPROVER , 1979, CCRV.

[14]  Carl A. Sunshine Survey of Protocol Definition and Verification Techniques , 1978, Comput. Networks.

[15]  Donald D. Cowan,et al.  Some Thoughts on the Construction of Programs - A Data-Directed Approach , 1978, Jerusalem Conference on Information Technology.

[16]  Donald D. Cowan,et al.  A data‐directed approach to program construction , 1980, Softw. Pract. Exp..

[17]  Colin H. West An Automated Technique of Communications Protocol Validation , 1978, IEEE Trans. Commun..

[18]  Carl Allan Sunshine,et al.  Interprocess communication protocols for computer networks , 1975 .

[19]  P. Merlin,et al.  Specification and Validation of Protocols , 1979, IEEE Trans. Commun..

[20]  Jonathan Bruce Postel A graph-model analysis of computer communications protocols. , 1974 .