OOPSLA'96 WORKSHOP ON METHODOLOGIES FOR DISTRIBUTED OBJECTS
FINAL REPORT

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.


Workshop Specific Content

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.

  • When and how should distribution issues be considered by methodologies for distributed objects?
  • Levels of Abstraction

    Object-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.

  • Which levels of abstraction are relevant and what are the consequences on methodologies for distribute objects?
  • Object Granularity

    Client/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.

  • How does a methodology for distribute objects deals with object granularity?
  • Composition

    Object-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.

  • Which composition constructs should methodologies for distributed objects provide or use?
  • Heterogeneity

    Developers 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.

  • How should methodologies for distributed objects consider heterogeneity issues?

  • Workshop Presentations

    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


    General Discussion and Conclusions

    Workshop discussion identified two contextual limitations for the definition of methodologies for distributed objects:

  • CSCW applications are relevant instances of distributed applications. New models of cooperation and interference are being applied in CSCW applications. Methodologies for distributed objects need to identify such models and provide specification languages. However, what are the needed models still under discussion by the CSCW research community.
  • Distribution issues cover a large number of subjects as replication, concurrency, configuration, communication. Some of the distribution issues still under discussion by the Distributed Systems research community, e.g. re-configuration.
  • Other relevant conclusions are:
  • Base the development of distributed applications on technology is not the best approach, even when the technology promises the support of object-oriented paradigm, as CORBA. The technology bias the problem perception and solution construction because of two reasons. Technology primitives do not directly map to the concepts of the problem, e.g. business events are intrinsically different than communication events. Second, performance constraints does not permit a paradigm consistent application of the technology, e.g. CORBA IDL interfaces are used to implement the client/server paradigm.
  • The need for standardization was identified. Standards as the Reference Model of Open Distributed Processing (RM-ODP) which describes an architecture within which support for distribution, interworking, interoperability and portability can be integrated. RM-ODP provides a base framework for the definition of methodologies for distributed objects.

  • Workshop Attendees

  • Hernán Astudillo, MCI Systemhouse. hastudillo@shl.com
  • Arne-Jørgen Berre, SINTEF Telecom and Informatics. Oslo. Arne-Jorgen.Berre@si.sintef.no
  • R.J.A. Buhr, Carleton University. Ottawa. buhr@sce.carleton.ca
  • Desmond D'Souza, Icon Computing. dsouza@iconcomp.com
  • John Daniels, Object Designers Limited. jdaniels@cix.compulink.co.uk
  • Cris Kobryn, MCI Systemhouse. ckobryn@acm.org
  • Lionel Seinturier, CNAM-Laboratoire CEDRIC, Paris. Lionel.Seinturier@cnam.fr
  • António Rito Silva, INESC/Technical University of Lisbon. Rito.Silva@inesc.pt
  • Linda Strick, GMD FOKUS. Berlin. strick@fokus.gmd.de
  • Stefan Tai, Technical University of Berlin. tai@eurocontrol.fr, stai@cs.tu-berlin.de
  • Kevin P. Tyson, Enterprise Engineering Associates Inc. Marlboro NJ. kpt@enteng.com

  • This report as well as the workshop papers are available through the workshop web page URL:http://www.esw.inesc.pt/~ars/mdo.html