Patterns for Protocol System Architecture Juha Pärssinen juha.parssinen@vtt.fi Markku Turunen markku.turunen@nokia.com Abstract When dealing with the specification, design, or implementation of a communication protocol, common parts can be found. These parts can be specified as design patterns which are independent from particular protocol specification, its implementation details, or used implementation language. It is the goal of this paper to present these parts, which are extracted from protocol specifications, designs, existing implementations, and data communication literature. These patterns provide common principles for understanding protocols and their parts, or implementing new ones. This paper can be read as a basic presentation of protocol design and implementation structure, but also advanced readers can get benefit from it. In this paper three design patterns for a protocol system architecture are presented. These patterns are tightly related to each other. They are part of a pattern language for protocol implementation which the authors have developed during last years. The Protocol Patterns presented in this paper include the Protocol System pattern which models a protocol system in general level, the Protocol Entity pattern which models active parts of a system, and the Protocol Behavior pattern which models communication between parts of a protocol system. A basic model of communication protocol implementation and two implementation frameworks are presented in this paper to give background information. The Unified Modeling Language (UML) is used in the class diagrams of this paper, and the UML pattern notation is used to describe roles of an individual pattern.