Options
Object-Oriented Design and Architecture of Distributed Systems
Date Issued
2001
Author(s)
Giese, Holger
Abstract
For large distributed systems, the initial design of a stable software architecture has been identified as essential. Software architectures often emphasize behavior to ensure a suitable coarse-grain design, whilst the notations for object-oriented design concentrate on structural fine-grain domain models. Accordingly, integration of both strategies in the form of object-oriented design and architecture of distributed systems promises to enable a systematic development process that can cope with the inherent complexity of distributed systems. The presented Object Coordination Net (OCoN) approach provides such an integration by extending the UML with a set of behavioral views. Such can be applied in the exploration of design alternatives for distributed systems at an architectural level. The behavioral contract notion is one of the main concepts of the OCoN approach. An efficiently manageable behavioral subtyping notion is developed which supports even the design of open systems, not only can it express reactive but also autonomous forms of behavior. These contracts abstract from realization details and therefore improve design and modularity. The OCoN formalism that permits mixed event- and state-based true concurrent modeling is presented in this thesis. It will be demonstrated how such can be applied to describe contracts, object scheduling, resource handling and the abstract data and control flow of services. The seamless integration of contract specifications into service and object scheduling specifications is also demonstrated. Although abstract, the OCoN formalism remains operational which permits early evaluation via abstract simulation and guarantees a feasible implementation. % The presented contract notion supports open system design by dynamic type matching for independently evolved type systems based upon a behavioral protocol, compound types and structural subtyping. A formal semantics of the language that integrates typing and concurrent behavior is also presented.