In: Int. Symposium on Software Engineering for Parallel and Distributed Systems (PDSE'98), Kyoto, Japan, pages 39-49. April 1998.
Abstract: A dedicated approach for the design and development of distributed software systems is outlined. The method may be used in combination with any standard object-oriented analysis and design method as far as static aspects are concerned. Dynamic aspects like the external behavior of distributed components, the status of services or resource handling, however, play the key role in distributed systems. The main contribution of the approach is to put its focus on these aspects right from the beginning of a design.
Information from static modeling is used to define the responsibilities for coordinating a system: classes coordinate their aggregates and explicit coordination objects are introduced to handle more complex relationships in order to prevent from introducing complex implicit (third-party carried) interdependencies between different parts of a system.
Interfaces of components extend the common signature specification by behavioral contracts consisting of pre/post-conditions as well as externally significant states and state-changes induced by service usage.
Services offered by an object via an interface are assumed to execute arbitrary in parallel a priori but may be restricted due to logical or resource dependencies.
A new formalism based on extended Petri-Nets - so called Object Coordination Nets OCoNs - is used to describe the coordination of the behavior of a class on a per service (method) basis, the allocation of object resources as well as behavioral contracts. Integration with a standard sequential object-oriented language like C++ or Java or, e.g., the IDL of CORBA for a multi-platform application, is used to organize method nets in a class context which provides a type system for the nets as well. In contrast to the notations like UML normally used in design, OCoN s have a clear formal semantics which permits their usage for simulation, analysis as well as (skeleton) code generation.
The paper discusses the rationale behind the key points of the OCoN approach, introduces the method and illustrates it by means of an extended example.
Keywords: distributed software; development methods; object-oriented techniques; interfaces; behavior specification; programming-by-contract.
Back to the Petri Nets Bibliography