Using UML to Design of Communication Protocols

This paper presents an approach that utilizes object technology and the UML notation for the development of communication protocols. Object technology has been widely adopted in many application domains and the Unified Modeling Language (UML) has become the new industry standard for modeling software-intensive systems. UML is currently used for modeling of just about any type of applications, running on any type and combination of hardware, operating system, programming language and network. However,protocol design is still based on traditional methodologies.

A methodology is presented and extensions to the UML notation are proposed to address the peculiarities of protocol design. The construction of a TCP protocol for RTLinux was selected as an example to demonstrate the methodology. Design and implementation issues are presented and the resulting system is evaluated.

The development of a protocol using the OO approach and the UML notation was successful. The resulting protocol implementation:
a) is easy to be understood; the detailed design diagrams hide the time consuming, low level implementation details and
b) is expandable; new functionality was added first in the design models and it is then translated to code.

However, since the most important issue in protocol implementation is the performance, we created a testbed in order to measure, under certain conditions, the performance of the developed OOTCP/RTNet protocol stack. We performed the same measurements for the TCP/IP stack of Linux and used them as a yardstick. The main motivation of this evaluation was to verify the smooth operation of our protocol stack under heavy load. It must be clarified that the design of OOTCP and the subsequent implementation has not been optimized to increase performance.

The experiment was successful. The resulting implementation not only has enhanced readability, modularity, and expandability but also presents performance characteristics comparable with those of the corresponding protocol stack of Linux, even though no extra optimization techniques were used to enhance performance. However, better results are expected using the profile of UML for real-time modeling. Working in this direction it will become clear if a specific UML profile for communication protocols should be defined. Such a profile will give the modelers:
a) access to common model elements and
b) terminology from the communication protocol domain.

This is the first step towards a model driven approach for the development of protocol software.

Read the complete evaluation on