Technical Report Number
We present a new tool for automatically generating prototypes of communication protocols on a wide variety of platforms. Our goal is to reduce design time, enhance portability, and accommodate optimizations automatically. Users of the tool are required to provide an abstract implementation of the protocol in C++ without worrying about the underlying operating system specific system calls. Instead, the user employs high-level interface functions provided by the tool to interact with the underlying operating system. Users also need not worry about complex packet formats that involve fields of various bit and byte lengths. Instead, they use simple C/C++ struct declarations to describe the packets and provide mapping rules in the form of Extended Regular Expressions to the tool. The tool uses these rules to convert between the network format and the user defined format. Experience with TFTP and SMTP prototypes indicate that the performance achieved is almost comparable to that of the standard BSD implementations; at the same time the code size requirements of the abstract implementation is roughly 3 times less than the BSD implementation.
Gokhale, Aniruddha; Cytron, Ron; and Varghese, George, "Design of a Tool for Rapid Prototyping of Communication Protocols" Report Number: WUCS-95-30 (1995). All Computer Science and Engineering Research.