摘要
Communication software is a special class of
software deployed in telecommunication or computer-communication
networks to provide a set of well-defined services. Because communication software is distributed over a network’s nodes, it requires built-in protocols to
govern the communication among the network’s components.
Protocols achieve desired services by coordinating and synchronizing the cooperation of distributed components, which are often implemented as processes. The services that protocols must accomplish are so complex that protocols are often organized as layers: Services are realized gradually, layer by layer. Although most protocols used in communication networks have been standardized and specified in documents such as those published by ITU and ISO, designing and testing the software that implements those protocols is
difficult and error-prone, for several reasons.
+ Many standards still rely more on informal text descriptions than on formal
descriptions. This creates ambiguities and incompleteness in protocol specifications that must be resolved in the communication software’s design.
+ Even when standard protocol specifications are written formally, they may
not have been validated sufficiently.
+ The standards don’t include machine-dependent protocol details, leaving
gaps the software designer must fill in.
To tackle the problem, various disciplines from a number of well-established
fields in computer science are combining to forge a new discipline called protocol engineering. The most notable of these fields are formal methods, software-engineering methodology, and knowledge-based engineering. Protocol engineering seeks to ease the development of communication software by providing engineering solutions to the problem of developing reliable protocols.
software deployed in telecommunication or computer-communication
networks to provide a set of well-defined services. Because communication software is distributed over a network’s nodes, it requires built-in protocols to
govern the communication among the network’s components.
Protocols achieve desired services by coordinating and synchronizing the cooperation of distributed components, which are often implemented as processes. The services that protocols must accomplish are so complex that protocols are often organized as layers: Services are realized gradually, layer by layer. Although most protocols used in communication networks have been standardized and specified in documents such as those published by ITU and ISO, designing and testing the software that implements those protocols is
difficult and error-prone, for several reasons.
+ Many standards still rely more on informal text descriptions than on formal
descriptions. This creates ambiguities and incompleteness in protocol specifications that must be resolved in the communication software’s design.
+ Even when standard protocol specifications are written formally, they may
not have been validated sufficiently.
+ The standards don’t include machine-dependent protocol details, leaving
gaps the software designer must fill in.
To tackle the problem, various disciplines from a number of well-established
fields in computer science are combining to forge a new discipline called protocol engineering. The most notable of these fields are formal methods, software-engineering methodology, and knowledge-based engineering. Protocol engineering seeks to ease the development of communication software by providing engineering solutions to the problem of developing reliable protocols.
原文 | English |
---|---|
頁(從 - 到) | 14-15 |
頁數 | 2 |
期刊 | IEEE Software |
卷 | 9 |
發行號 | 1 |
出版狀態 | Published - 10 1月 1992 |