OIM (Object-Interaction Model) Tutorial


OIM Overview

Besides the relationships an object can have with other objects and its own behavior, an object may also interact with another object. For example, an object may send information to, request information from another object, it may alter another object or cause another object to do some action.

In OSA, we use the OIM (Object-Interaction Model) to describe the interaction among objects. Object interaction in OIM has three basic components:

Since we are able to identify objects in ORM, We use ORM components in OIM to show which objects are involved in the interaction.

Since we are able to define the behavior of objects with state nets, we use state nets in OIM to describe how objects act and react in interactions.

The nature of the interaction can be described by the activity that constitutes the interaction and the information or objects transmitted or exchanged in the interaction.

To describes the interaction and the objects exchanged in the interaction, we introduce a new feature, which create object-interaction models with an appropriate combination of ORMs and state nets.


Basic Interaction Diagrams

The above is a basic OSA object-interaction diagram. Clerk and Packager are object classes. The zigzag arrow connecting them, which we call interaction arrow or interaction link, represents an interaction between a clerk and a packager.

The flow of the interaction arrow is from a clerk, the origin, which is any object in the object class associated with the tail of the arrow, to a packager, the destination, which is any object in the object class associated with the head of the arrow.

The label retrieve (unfilled order) on the interaction link describes the interaction and the objects transferred in the interaction. The activity for the interaction is retrieve and the object transmitted in the interaction is unfilled order.

We can have high-level interactions in OIM. We can make the interaction of our basic diagram a high level interaction of deposit and retrieve, as shown by the following diagram.

Object classes involved in the interaction can have their own state nets showing their behaviors. The following diagram shows an example.


Interaction Descriptions

The above diagram shows the basic formats for interaction descriptions. Each one of the formate is a valid technique for expressing interaction among objects.

The following diagram shows an interaction description that has both an activity description and a list of objects.

We can have an interaction description that has only an activity description,

or only a list of objects involved.

Here, the default activity description is communicate or its synonyms, which is the most common type of interaction among objects. In this context, we sometimes refer to an interaction link as a communication link.

Sometimes, enough context information is available to make an activity description redundant. In this case, we place an interaction link on the diagram without labeling it. For example, in the following diagram, we are able to infer properly the interaction description without the labels.

Unlabeled interaction links are also used when there is not enough or no context information to merely indicates that there is an interaction.


Model Boundary-Crossing Interactions

The origin or destination of the interaction may be beyond the boundaries of the analysis model, and therefore, not known. In these cases, we represent the unspecified origins and destinations by their absence at the tails or heads of an interaction link.


Go to the OSA Tutorial

Begin the OIM tutorial with Specifying Interacting Objects


 OSM Home Page CS Dept Home Page  BYU Home Page


Last updated 19 November 1994.
by Lei Cao (caol@bert.cs.byu.edu)