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

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.


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.

OSA Tutorial
Begin the OIM tutorial with Specifying Interacting Objects
Last updated 19 November 1994. by Lei Cao (caol@bert.cs.byu.edu)