Some notes on the history of protocol engineering

During the 1970s and 1980s, the first computer communication networks were designed and implemented in the research and commercial sectors. Many of the protocols developed during that time are still in use today. This paper starts by giving an overview of these developments. Then it concentrates on the development of protocol engineering, that is, the methods for the specification of communication protocols and services, the verification of protocols and their implementation and testing. After personal views of the developments in the 1970s, the basic concepts developed at that time are explained. The standardization of Formal Description Techniques in the 1980s is discussed in the following section, as well as the standardization of conformance testing. The purpose of the paper is to show the long way we have come and to suggest that many of the basic concepts have not changed too much during these years, although more detailed aspects have evolved and given rise to new technological developments.

[1]  Louis Pouzin,et al.  Presentation and major design aspects of the CYCLADES computer network , 1973, DATACOMM '73.

[2]  D. Rayner,et al.  Testing Protocol Implementations , 1985 .

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

[4]  Gregor von Bochmann,et al.  Synchronization and Specification Issues in Protocol Testing , 1984, IEEE Trans. Commun..

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

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

[7]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

[8]  Gregor von Bochmann Deriving protocol converters for communications gateways , 1990, IEEE Trans. Commun..

[9]  C.A. Vissers,et al.  Formal description techniques , 1983, Proceedings of the IEEE.

[10]  Gregor von Bochmann,et al.  Videotex Networks , 1980, Computer.

[11]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[12]  Michel Raynal,et al.  Structured Specification of Communicating Systems , 1983, IEEE Transactions on Computers.

[13]  Frank Wm. Tompa,et al.  Special Feature: Data Structuring Facilities for Interactive Videotex Systems , 1981, Computer.

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

[15]  Colin H. West The Challenges Facing Formal Description Techniques , 1993, FORTE.

[16]  Gregor von Bochmann Logical verification and implementation of protocols , 1975 .

[17]  P. A. D. DeMaine,et al.  Integrated Systems , 1991 .

[18]  James P. Gray,et al.  Advanced Program-to-Program Communication in SNA , 1983, IBM Syst. J..

[19]  Gregor von Bochmann,et al.  Using First-Order Logic to Reason about Submodule Construction , 2009, FMOODS/FORTE.

[20]  Alexandre Petrenko,et al.  Protocol testing: review of methods and relevance for software testing , 1994, ISSTA '94.

[21]  Gregor V. Bochmann Communication protocols and error recovery procedures , 1975 .

[22]  Son T. Vuong,et al.  Semiautomatic Implementation of Protocols Using an Estelle-C Compiler , 1988, IEEE Trans. Software Eng..

[23]  Gregor von Bochmann,et al.  Some Experience with Test Sequence Generation for Protocols , 1982, PSTV.

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

[25]  Paul E. Green,et al.  A Perspective on Advanced Peer-to-Peer Networking , 1987, IBM Syst. J..

[26]  Thorsten von Eicken,et al.  技術解説 IEEE Computer , 1999 .

[27]  G. Bochmann Deriving component designs from global requirements , 2008 .

[28]  T. H. Nelson,et al.  Complex information processing: a file structure for the complex, the changing and the indeterminate , 1965, ACM '65.

[29]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[30]  Colin H. West A Validation of the OSI Session Layer Protocol , 1986, Comput. Networks.

[31]  Colin H. West,et al.  Experiences with a Random Test Driver , 1995, Comput. Networks ISDN Syst..

[32]  Gregor von Bochmann,et al.  Semiautomatic Implementation of Communication Protocols , 1987, IEEE Transactions on Software Engineering.

[33]  Daniel Brand,et al.  Towards Analyzing and Synthesizing Protocols , 1980, IEEE Trans. Commun..

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

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

[36]  Hubert Zimmermann,et al.  Design principles for network interconnection , 1979, SIGCOMM '79.

[37]  Carl A. Sunshine Communication protocol modeling , 1981 .

[38]  William C. Lynch,et al.  Computer Systems: Reliable full-duplex file transmission over half-duplex telephone line , 1968, Commun. ACM.

[39]  Tsun S. Chow,et al.  Testing Software Design Modeled by Finite-State Machines , 1978, IEEE Transactions on Software Engineering.

[40]  Vic Stenning,et al.  A Data Transfer Protocol , 1976, Comput. Networks.

[41]  C. H. West,et al.  Protocol Validation - Principles and Applications , 1992, Comput. Networks ISDN Syst..

[42]  C. H. West,et al.  Executable Representation and Validation of SNA , 1982 .

[43]  Thomas P. Blumer,et al.  A Formal Specification Technique and Implementation Method for Protocols , 1982, Comput. Networks.

[44]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[45]  Carl A. Sunshine,et al.  Survey of protocol definition and verification techniques , 1978, CCRV.

[46]  H. WestC.,et al.  Automated validation of a communications protocol , 1978 .

[47]  Mohamed G. Gouda,et al.  Synthesis of Communicating Finite-State Machines with Guaranteed Progress , 1984, IEEE Trans. Commun..

[48]  Gregor von Bochmann,et al.  Design Principles for Communication Gateways , 1990, IEEE J. Sel. Areas Commun..

[49]  Gregor von Bochmann,et al.  Experience with Formal Specifications Using an Extended State Transition Model , 1982, IEEE Trans. Commun..

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

[51]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[52]  Luigi Logrippo,et al.  The importance of the service concept in the design of data communications protocols , 1985, PSTV.

[53]  Gerald W. Neufeld,et al.  The Design and Implementation of an ASN.1-C Compiler , 1990, IEEE Trans. Software Eng..

[54]  Harry Rudin,et al.  A Validation Technique for Tightly Coupled Protocols , 1982, IEEE Transactions on Computers.

[55]  W. J. Chandler,et al.  Interference between communicating parallel processes , 1972, CACM.

[56]  David Rayner,et al.  A System for Testing Protocol Implementations , 1982, Comput. Networks.

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

[58]  Gregor von Bochmann,et al.  Specifications of a Simplified Transport Protocol Using Different Formal Description Techniques , 1990, Comput. Networks ISDN Syst..

[59]  Jr. Paul E. Green Computer Network Architectures and Protocols , 2012 .

[60]  Reinhard Gotzhein,et al.  Deriving protocol specifications from service specifications , 1986, SIGCOMM '86.

[61]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[62]  Paul E. Green Protocol Conversion , 1986, IEEE Trans. Commun..

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

[64]  Gregor von Bochmann,et al.  ASN.1 and Estelle Implementation Support Tools , 1990, FORTE.

[65]  Gregor von Bochmann,et al.  A Unified Method for the Specification and Verification of Protocols , 1977, IFIP Congress.