A protocol design system is a collection of software tools for assisting protocol designers to specify, validate, and implement communication protocols. In this paper, we propose a computer-aided protocol design system based on the OPS5 production system approach. In reality, communication protocols are rule-based and data-driven without a fixed order in which the submodules can follow and computations in communication protocols are mainly symbolic with a few numerical computations. These characteristics fall into the applicable problem domain of OPS5. Using the OPS5 production system approach, communication rules (state transitions) are specified as triples of “object-attribute-value” and the modeling of state transitions are specified by production rules. For protocol validation, the modeling of global states, global state transitions, all logical errors and logical properties can be formally defined in terms of production rules. This paper also presents an incremental validation algorithm to facilitate protocol design. Based on a globally shared dataspace (working memory) in which different types and levels of information are all represented in a uniform structure (element), the OPS5 production system integrates both rule-based and procedure-based computations. Using this characteristic, the machine-dependent part can be abstractly specified through external procedure calls, the details of which can be coded in a procedure language until the implementation phase. Since computations in OPS5 are based on pattern matching, all of the attributes of elements that are in production rules or in external procedure calls can act as data templates for generic data types. This capability enhances the generic specification that allows different realization for various implementation environments. In this way, our computer-aided protocol design system can be used not only as a rapid prototyping tool for simulation but also as a real implementation tool for communication protocols.
All Science Journal Classification (ASJC) codes
- Computer Networks and Communications
- Electrical and Electronic Engineering