Object Models


Table of Contents

Introduction

Comparing the Many Object Models

Standard Domain Models

Object Model Interoperation


Introduction

A major challenge for command and control and both real and virtual enterprises is sharing information, which comes in many formats each with more or less declarative semantics. HTML and WWW provide a partial answer for sharing that works well for unstructured and semi-structured information. Object technology is quickly becoming the representation vehicle for representing structured sharable information.

But there are many object models and an object during its lifecycle may start in an Analysis and Design Tool, be instantiated in the product data representation language EXPRESS, be translated to OMG IDL for distribution and language neutrality, be mapped to C++ for processing and perhaps to Smalltalk as well, and then be stored in an SQL3 relational database system, an OODB, or even a file system, all of which provide persistent storage.

Thus, there is a need to represent data in different data representations because not all services are available for all representations, and often there is a need to be able to interoperate among different data models.

This section is included in the survey to provide pointers to the many object models and to identify some of the main strategies for object model interoperation.


Comparing the Many Object Models

ANSI X3H7 Object Information Management was commissioned in 1992 with an overall goal of developing a "coherent approach to information management standards fostering consistent use of the object paradigm in various business and technology domains (programming languages, database, user interfaces, operating systems, distributed systems, object analysis and design, enterprise modeling and information modeling, ...)"

In 1996, X3H7 completed its Object Model Features Matrix Final Report which compares the features of the following object models:

Analysis and Design Methods, C++, Cecil, Component Object Model (COM and OLE 2), OO COBOL, Eiffel, Emerald, EXPRESS, Management Information Model, Matisse, ODMG, OMG CORBA IDL, OMG Core Object Model, OODB Task Group Reference Model, Open Distributed Processing, SELF, Smalltalk, SQL3, and System Object Model (SOM).
The document makes it clear that, while there are many similarities in the different object models, there are also many sometimes subtle semantic differences that can make complete interoperability among them difficult. X3H7 does not address the hard problem of interlanguage sharing.


Standard Domain Models

It is worth noting that interlanguage sharing is not the only barrier to sharing information. For instance, it is often the case that systems written in the same language but that decompose a problem differently will some have trouble interoperating.

A number of communities address this problem by defining common libraries of objects in some object modeling language. Examples are:


Object Model Interoperation

Common situations requiring object model interoperation include the following: Following is a list of some of the major approaches we have so far identified to interlanguage sharing.

This research is sponsored by the Defense Advanced Research Projects Agency and managed by the U.S. Army Research Laboratory under contract DAAL01-95-C-0112. The views and conclusions contained in this document are those of the authors and should not be interpreted as necessarily representing the official policies, either expressed or implied of the Defense Advanced Research Projects Agency, U.S. Army Research Laboratory, or the United States Government.

© Copyright 1996 Object Services and Consulting, Inc. Permission is granted to copy this document provided this copyright statement is retained in all copies. Disclaimer: OBJS does not warrant the accuracy or completeness of the information on this page.

This page was written by Craig Thompson. Send questions and comments about it to thompson@objs.com.

Last updated: 04/22/96 7:55 PM

Back to Internet Tool Survey -- Back to OBJS