Overview
Methodologies for distributed objects are becoming more important as distributed object technologies such as OMG/CORBA, IBM SOM/DSOM, OPENDOC, Microsoft COM/OLE, JAVA and others are becoming available. Distributed Objects raises methodology issues with respect to descriptions of communication, coordination and concurrency.
The purpose of the workshop was to objectively assess current methodologies and to come to a group consensus on guidance that can be given to developers of systems based on distributed objects as well as to methodology developers.
The format for the workshop was a modified Writer's workshop, where each paper/position was presented in 20 minutes by the main author, then the issues/solution-proposals were summarized and presented for discussion by the discusser in 10 minutes, and then there was an open discussion for 15 minutes.
The rest of this report includes a description of the problems discussed during the workshop and the presented papers. Finally some generic conclusions are presented.
The workshop presentations and discussion focussed on:
Transparency
Distribution transparency, defined as the ability to ignore distribution issues during the development process, has been suggested and implemented for a long time. For instance distributed platforms offer mechanisms which allow the developer to ignore distribution issues. However, Computer Supported Cooperative Work (CSCW) applications have raised the need for applications where distribution is part of the application model and not an implementation consequence.
Levels of AbstractionObject-oriented methodologies use levels of abstraction to perceive problems and construct solutions. Each of the abstraction levels describe the problem/solution in a particular perspective and possibly using different models. Levels of abstraction are useful to deal with the complexity of distributed applications.
Object GranularityClient/server applications deal with large grained objects while object-oriented design specifies the interactions of finer grained objects. Large grained objects are necessary to cope with performance requirements of distributed communications.
CompositionObject-oriented development is an iterative and incremental development process. In particular, development of distributed applications will benefit from such a development due to the complexities involved. An incremental development needs to deal with composition of models.
HeterogeneityDevelopers of distributed applications have to deal with heterogeneity of both hardware and software. Some of the problems faced by developers are integration problems. Heterogeneity can be at the platform, software or specification levels.
This section identifies the different sessions and the presented papers, for each topic.
ISSUES FOR OBJECT MODELS AND METHODOLOGIES FOR DISTRIBUTED SYSTEMS
Issues in the Use of Object Models to Describe Distributed
Systems presented by John Daniels
Issues for Methodologies for Distributed Objects presented by
Kevin P. Tyson
BEHAVIOUR PATTERNS AND USE CASE MAPS
Understanding Large-Scale Behaviour Patterns in Complex
Systems presented by R.J.A. Buhr
METHOD REQUIREMENTS AND ABSTRACTIONS FOR DISTRIBUTED OBJECTS
Methods for Distributed Object Computing presented by Cris
Kobryn
Object Abstractions and Rationales for Computational Modeling
of CORBA-Systems presented by Stefan Tai
ODP-RELATED METHODOLOGIES AND TOOLS
COMPASS: A CASE Development Tool for Distributed Systems
presented by Linda Strick
Role-based Modeling for the ODP viewpoints presented by
Arne-Jørgen Berre
METHODOLOGY AND PATTERNS FOR DISTRIBUTION
Group Behavior Patterns in an Object-Oriented Methodology for
Distributed Applications presented by Lionel Seinturier
Distribution Requirements, Logical Distribution and Physical
Distribution: A Pattern Language presented by António Rito
Silva
Workshop discussion identified two contextual limitations for the definition of methodologies for distributed objects:
Other relevant conclusions are: