The detailed interpretation of the concepts defined in this clause will depend on the specification language concerned, but these general statements of concept are made in a language-independent way to allow the statements in different languages to be interrelated.
The basic concepts are concerned with existence and activity: the expression of what exists, where it is and what it does.
8.1 Object: A model of an entity. An object is characterized by its behaviour (see 8.6) and, dually, by its state (see 8.7). An object is distinct from any other object. An object is encapsulated, i.e. any change in its state can only occur as a result of an internal action or as a result of an interaction (see 8.3) with its environment (see 8.2).
An object interacts with its environment at its interaction points (see 8.11).
Depending on the viewpoint, the emphasis may be placed on behaviour or on state. When the emphasis is placed on behaviour, an object is informally said to perform functions and offer services (an object which makes a function available is said to offer a service). For modelling purposes, these functions and services are specified in terms of the behaviour of the object and of its interfaces (see 8.4). An object can perform more than one function. A function can be performed by the cooperation of several objects.
NOTES
1 - The concepts of service and function are used informally to express the purpose of a piece of standardization. In the ODP family of standards, function and service are expressed formally in terms of the specification of the behaviour of objects and of the interfaces which they support. A "service" is a particular abstraction of behaviour expressing the guarantees offered by a service provider.
2 - The expression "use of a function" is a shorthand for the interaction with an object which performs the function.
8.2 Environment (of an object): the part of the model which is not part of that object.
NOTE - In many specification languages, the environment can be considered to include at least one object which is able to participate without constraint in all possible interactions (see 8.3), representing the process of observation.
8.3 Action: Something which happens.
Every action of interest for modelling purposes is associated with at least one object.
The set of actions associated with an object is partitioned into internal actions and interactions. An internal action always takes place without the participation of the environment of the object. An interaction takes place with the participation of the environment of the object.
NOTES
1 - "Action" means "action occurrence". Depending on context, a specification may express that an action has occurred, is occurring or may occur.
2 - The granularity of actions is a design choice. An action need not be instantaneous. Actions may overlap in time.
3 - Interactions may be labelled in terms of cause and effect relationships between the participating objects. The concepts that support this are discussed in 13.3.
4 - An object may interact with itself, in which case it is considered to play at least two roles in the interaction, and may be considered, in this context, as being a part of its own environment.
5 - Involvement of the environment represents observability. Thus, interactions are observable whereas internal actions are not observable,because of object encapsulation.
8.4 Interface: An abstraction of the behaviour of an object that consists of a subset of the interactions of that object together with a set of constraints on when they may occur.
Each interaction of an object belongs to a unique interface. Thus the interfaces of an object form a partition of the interactions of that object.
NOTES
1 - An interface constitutes the part of an object behaviour that is obtained by considering only the interactions of that interface and by hiding all other interactions. Hiding interactions of other interfaces will generally introduce non-determinism as far as the interface being considered is concerned.
2 - The phrase "an interface between objects" is used to refer to the binding (see 13.4.2) between interfaces of the objects concerned.
8.5 Activity: A single-headed directed acyclic graph of actions, where occurrence of each action in the graph is made possible by the occurrence of all immediately preceding actions (i.e. by all adjacent actions which are closer to the head).
8.6 Behaviour (of an object): A collection of actions with a set of constraints on when they may occur.
The specification language in use determines the constraints which may be expressed. Constraints may include for example sequentiality, non-determinism, concurrency or real-time constraints.
A behaviour may include internal actions.
The actions that actually take place are restricted by the environment in which the object is placed.
NOTES
1 - The composition (see 9.1) of a collection of objects implicitly yields an equivalent object representing the composition. The behaviour of this object is often referred to simply as the behaviour of the collection of objects.
2 - Action and activity are degenerate cases of behaviour.
3 - In general several sequences of interactions are consistent with a given behaviour.
8.7 State (of an object): At a given instant in time, the condition of an object that determines the set of all sequences of actions in which the object can take part.
Since, in general, behaviour includes many possible series of actions in which the object might take part, knowledge of state does not necessarily allow the prediction of the sequence of actions which will actually occur.
State changes are effected by actions; hence a state is partially determined by the previous actions in which the object took part.
Since an object is encapsulated, its state cannot be changed directly from the environment, but only indirectly as a result of the interactions in which the object takes part.
8.8 Communication: The conveyance of information between two or more objects as a result of one or more interactions, possibly involving some intermediate objects.
NOTES
1 - Communications may be labelled in terms of a cause and effect relationship between the participating objects. Concepts to support this are discussed in 13.3.
2 - Every interaction is an instance of a communication.
8.9 Location in space: An interval of arbitrary size in space at which an action can occur.
8.10 Location in time: An interval of arbitrary size in time at which an action can occur.
NOTES
1 - The extent of the interval in time or space is chosen to reflect the requirements of a particular specification task and the properties of a particular specification language. A single location in one specification may be subdivided in either time or space (or both) in another specification. In a particular specification, a location in space or time is defined relative to some suitable coordinate system.
2 - By extension, the location of an object is the union of the locations of the actions in which the object may take part.
8.11 Interaction point: A location at which there exists a set of interfaces .
At any given location in time, an interaction point is associated with a location in space, within the specificity allowed by the specification language in use. Several interaction points may exist at the same location. An interaction point may be mobile.