Design of communication protocols using a message transfer pattern

Design patterns help to improve software quality and reduce development cost by reusing experience of experts for recurring problems. Patterns have potential to be useful in almost all areas of software systems, but to date they are mainly concentrated on the development of object-oriented systems. In this paper, we apply the pattern concept to the description of communication protocols, particularly focusing on message interaction. We hypothesize that many communication protocols can be developed using a few recurring patterns to obtain an initial design description of a system. For the protocol description, we propose a set of patterns which are grouped in two categories: structural and behavioural patterns. A complex protocol can be obtained by composing such patterns. To show the usefulness of our patterns in a realistic application, we perform a case study for an ATM signalling protocol design. Copyright © 2005 John Wiley & Sons, Ltd.

[1]  Douglas C. Schmidt,et al.  Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects , 2013 .

[2]  Burkhard Stiller,et al.  A survey of UNI signaling systems and protocols for ATM networks , 1995, CCRV.

[3]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[4]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[5]  Uyless D. Black OSI - a model for computer communications standards , 1990 .

[6]  John Gilmore,et al.  Bootstrap Protocol , 1985, RFC.

[7]  Charles L. Hedrick,et al.  Routing Information Protocol , 1988, RFC.

[8]  Max Jacobson,et al.  A Pattern Language: Towns, Buildings, Construction , 1981 .

[9]  Dieter Hogrefe,et al.  SDL : formal object-oriented language for communicating systems , 1997 .

[10]  Andrew S. Tanenbaum,et al.  Computer networks, 4th Edition , 2002 .

[11]  Birgit Geppert,et al.  The SDL pattern approach - a reuse-driven SDL design methodology , 2001, Comput. Networks.

[12]  Robert Bernecky Book review: Multiprocessors by Daniel Tabak (Prentice Hall, Englewood Cliffs, NJ) , 1991, CARN.

[13]  Ted Faison,et al.  Interaction Patterns for Communicating Processes , 1998 .

[14]  Ralph Johnson,et al.  A framework for network protocol software , 1995, OOPSLA.

[15]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[16]  Linda Rising Design Patterns in Communication Software , 2000 .

[17]  Douglas Comer,et al.  Principles, protocols, and architecture , 1995 .

[18]  Beverly A. Sanders,et al.  Pattern-based design and validation of communication protocols , 2003 .

[19]  Henning Schulzrinne,et al.  RTP: A Transport Protocol for Real-Time Applications , 1996, RFC.

[20]  Stanislaw Budkowski,et al.  An Introduction to Estelle: A Specification Language for Distributed Systems , 1987, Comput. Networks.

[21]  Beverly A. Sanders,et al.  A pattern language for communication pro - tocols , 2002 .

[22]  Hartmut Brandt,et al.  ATM Signalling: Protocols and Practice , 2001 .

[23]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[24]  Douglas C. Schmidt,et al.  Patterns for concurrent and networked objects , 2000 .

[25]  Raif O. Onvural,et al.  Signaling in ATM networks , 1997 .

[26]  Silvana Castano,et al.  Using Patterns to Design Rules in Workflows , 2000, IEEE Trans. Software Eng..