11 Properties of systems and objects

This clause describes the properties which may apply to an ODP system or part of an ODP system.

11.1 Transparencies

11.1.1 Distribution transparency: The property of hiding from a particular user the potential behaviour of some parts of a distributed system.

NOTE - Users may include for instance end-users, application developers and function implementors.

11.2 Policy concepts

11.2.1 Contract: An agreement governing part of the collective behaviour of a set of objects. A contract specifies obligations, permissions and prohibitions for the objects involved.

The specification of a contract may include

a) a specification of the different roles that objects involved in the contract may assume, and the interfaces associated with the roles;

b) quality of service attributes (see 11.2.2);

c) indications of duration or periods of validity;

d) indications of behaviour which invalidates the contract;

e) liveness and safety conditions.


1 - Objects in a contract need not be hierarchically related, but may be related on a peer-to-peer basis. The requirements in a contract are not necessarily applicable in the same way to all the objects concerned.

2 - A contract can apply at a given reference point in a system. In that case, it specifies the behaviour which can be expected at the reference point.

3 - An object template provides a simple example of a contract. An object template specifies the behaviour common to a collection of objects. As such, it specifies what the environment of any such objects may assume about their behaviour. Note that, for partial specifications, an object template leaves unspecified the behaviour of an object under certain environmental circumstances (e.g. particular interactions); the contract only extends to the specified behaviour.

11.2.2 Quality of service: A set of quality requirements on the collective behaviour of one or more objects.

Quality of service may be specified in a contract or measured and reported after the event.

The quality of service may be parameterized.

NOTE - Quality of service is concerned with such characteristics as the rate of information transfer, the latency, the probability of a communication being disrupted, the probability of system failure, the probability of storage failure, etc.

11.2.3 Environment contract: A contract between an object and its environment, including quality of service constraints, usage and management constraints.

Quality of service constraints include:

- temporal constraints (e.g. deadlines),

- volume constraints (e.g. throughput),

- dependability constraints covering aspects of availability, reliability, maintainability, security and safety (e.g. mean time between failures).

Usage and management constraints include:

- location constraints (i.e. selected locations in space and time),

- distribution transparency constraints (i.e. selected distribution transparencies).

Quality of service constraints can imply usage and management constraints. For instance, some quality of service constraints (e.g. availability) are satisfied by provision of one or more distribution transparencies (e.g. replication).

Environment constraints can describe both:

- requirements placed on an object's environment for the correct behaviour of the object;

- constraints on the object behaviour in a correct environment.

11.2.4 Obligation: A prescription that a particular behaviour is required. An obligation is fulfilled by the occurrence of the prescribed behaviour.

11.2.5 Permission: A prescription that a particular behaviour is allowed to occur. A permission is equivalent to there being no obligation for the behaviour not to occur.

11.2.6 Prohibition: A prescription that a particular behaviour must not occur. A prohibition is equivalent to there being an obligation for the behaviour not to occur.

11.2.7 Policy: A set of rules related to a particular purpose . A rule can be expressed as an obligation, a permission or a prohibition.

NOTE - Not every policy is a constraint. Some policies represent an empowerment.

11.3 Temporal properties

11.3.1 Persistence: The property that an object continues to exist across changes of contractual context (see 13.2.3) or of epoch.

11.3.2 Isochronicity: A sequence of actions is isochronous if every adjacent pair of actions in the sequence occupy unique, equally-sized, adjacent intervals in time.