Modular object-oriented design of distributed protocols

Gurdip Singh, Jun Wu

Research output: Chapter in Book/Entry/PoemConference contribution


The complexity of protocols supporting distributed applications has to modular techniques to design protocols. The object-oriented programming paradigm provides a number of concepts to enable modularity and reuse. For example, languages such as Java and C++ have been extended with synchronization primitives to modularize code. In this paper, we propose a framework with tools that compliment such language extensions to enable compositional development of protocols. We advocate a two-staged design process: In the first stage, the designer develops code for a set of component protocols, each performing a specific subtask of the protocol. The second stage involves composing the subtasks to obtain the protocol for the entire problem. The composition is done with respect to a set of constraints that describe the interactions between the subtasks. We identify several composition patterns, each implementing a specific type of interaction. For each pattern, we describe the code required for its implementation and the transformations to embed this code into the component protocols. The toolset has been implemented using Java as the underlying development language.

Original languageEnglish (US)
Title of host publication"Technology of Object-Oriented Languages and Systems
PublisherIEEE Computer Society
Number of pages10
EditionTOOL 34
StatePublished - 2000
Externally publishedYes
EventProceedings 34th International Conference on Technology of Object-Oriented Languages and Systems TOOLS 34 - Santa Barbara, CA, United States
Duration: Jul 30 2000Aug 4 2000


OtherProceedings 34th International Conference on Technology of Object-Oriented Languages and Systems TOOLS 34
Country/TerritoryUnited States
CitySanta Barbara, CA

ASJC Scopus subject areas

  • General Computer Science


Dive into the research topics of 'Modular object-oriented design of distributed protocols'. Together they form a unique fingerprint.

Cite this