Meta-protocol: on-the-fly protocol agreement and code generation
Ibrahim S. Abdullah, Daniel A. Menascé
Abstract
Ibrahim S. Abdullah, Daniel A. Menascé
Abstract
A communication protocol is an agreement among two or more parties on the sequence of operations and the format of messages to be exchanged. Standardization organizations define protocols in the form of recommendations (e.g., RFC) written in technical English, which requires a manual translation of the specification into the protocol implementation. This human translation is error-prone due in part to the ambiguities of natural language and in part due to the complexity of some protocols. To mitigate these problems, I divided the expression of a protocol specification into two parts. A high-level specification of the protocol, expressed as a Finite State Machines (FSM), is written in XML and is based on Component-Based Software Engineering (CBSE). Then, the components required by the protocol are specified in any suitable technical language (formal or informal). In addition, I developed a framework that provides a higher level of flexibility for the implementation and distribution of protocols than that of traditional autonomous protocols. The framework consists of four layers: protocol negotiation, protocol specification distribution, protocol implementation generation, and protocol execution. To assure integration and practicability, the framework is based on CBSE and several standard technologies including TCP/IP, XSLT, UDDI, and ISAKMP. The goal of this framework is to free protocols from being dependent on the autonomous implementation of a limited number of capabilities. Communication protocols in general, as well as security protocols, need a higher level of flexibility to handle evolution. My approach increases the level of code sharing and reuse. I also found that security protocols are best-suited for the application of my framework because most security protocols share a similar set of functions and exhibit common sequences and patterns in the way they operate. Therefore, I validated the framework by applying it to the implementation of several security protocols: Needham-Schroeder Authentication Protocol, ISAKMP, and SSL.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
A communication protocol is an agreement among two or more parties on the sequence of operations and the format of messages to be exchanged. Standardization organizations define protocols in the form of recommendations (e.g., RFC) written in technical English, which requires a manual translation of the specification into the protocol implementation. This human translation is error-prone due in part to the ambiguities of natural language and in part due to the complexity of some protocols. To mitigate these problems, I divided the expression of a protocol specification into two parts. A high-level specification of the protocol, expressed as a Finite State Machines (FSM), is written in XML and is based on Component-Based Software Engineering (CBSE). Then, the components required by the protocol are specified in any suitable technical language (formal or informal). In addition, I developed a framework that provides a higher level of flexibility for the implementation and distribution of protocols than that of traditional autonomous protocols. The framework consists of four layers: protocol negotiation, protocol specification distribution, protocol implementation generation, and protocol execution. To assure integration and practicability, the framework is based on CBSE and several standard technologies including TCP/IP, XSLT, UDDI, and ISAKMP. The goal of this framework is to free protocols from being dependent on the autonomous implementation of a limited number of capabilities. Communication protocols in general, as well as security protocols, need a higher level of flexibility to handle evolution. My approach increases the level of code sharing and reuse. I also found that security protocols are best-suited for the application of my framework because most security protocols share a similar set of functions and exhibit common sequences and patterns in the way they operate. Therefore, I validated the framework by applying it to the implementation of several security protocols: Needham-Schroeder Authentication Protocol, ISAKMP, and SSL.
Key concepts: Computer science, General Inter-ORB Protocol, Universal composability, Reverse Address Resolution Protocol, Protocol (science), Two-phase commit protocol, Communications protocol, Specification language