'
Modular O-O design of distributed systems
Gurdip Singh and Jun Wu>span class=institution>Kansas State University, USA
Protocols supporting distributed applications are typically complex as they involve a number of activities interacting with one another in a complex manner. For example, a multimedia protocol may need to manage separate connections for audio, video, text and control and there may exist several dependencies between them (for example, the sequence in which the connections must be established and terminated).
In this paper, we propose a framework to design such protocols in a modular fashion. A protocol is designed in our framework in two stages:
- (a) First, the functionality of a protocol is decomposed into multiple activities (subfunctions). We provide a graphical interface via which each activity can be specified as a set of communicating state machines. We provide a translator that generates Java code from the state machine specifications. For a protocol, this stage may result in a set of objects at a site, one for each activity.
- (b) The next aspect is the specification of interactions between the activities. We identify several patterns of interactions and provide an implementation for each pattern that involves transforming the functional code of the activities to incorporate the inter-object interaction code.
We provide several examples to demonstrate the utility of our methodology.'