Information Technology Reference
In-Depth Information
channel, in which any number of computational objects can register either as
sources or listeners for various kinds of event.
4.4 Interactions between Computational Objects
The interactions between objects are described using a number of standard
interaction types: operations, streams and signals. These types of inter-
action are supported by the corresponding computational object interfaces:
operation, stream and signal interfaces.
The most primitive interaction type is the signal , which is defined in a
signal interface. A signal is an atomic shared action resulting in one-way,
localized communication from an initiating object to a responding object. For
example, a message that passes from a computational object to its local infras-
tructure can be modelled by a signal, as can a local exception. Sequences of
signals can also be used to define the properties of more abstract interactions,
such as operations or streams (see figure 4.3).
Operations are probably the most common form of interaction between
computational objects. An operation is an interaction between a client object
and a server object, which is either an announcement or an interrogation. In
this way, we distinguish between one-way and two-way (request and response)
interactions.
Announcements are one-way interactions in which a client object re-
quests a function to be performed by a server object, such that there need
be no response from the server. The request is modelled by an invocation.
In more detail, one signal marks the passage of the announcement from the
client object to the infrastructure, and another signal marks its passage from
the infrastructure to the server object. Using this fine-grained representation
with signals, we can describe, for example, the transit time of the announce-
ment, but for most purposes we can consider the announcement as a single
nonlocalized interaction.
Interrogations are two-way interactions, in which a client object requests
a function to be performed by a server object, and the server sends a response
to the client, as in many RPC styles of interactions. The requests are mod-
elled by invocations, and responses are modelled by terminations. The
notion of a termination generalizes results and exceptions as found in many
programming languages. Where necessary, operations can be defined in de-
tail in terms of signals. For example, an interrogation operation between two
objects that communicate through an infrastructure can be detailed as a set
of four signals, which specify the sending and receiving of the invocation and
termination individually.
The level of abstraction at which interactions are modelled depends on the
specific needs of the system designer at each moment, and for each situation.
 
Search WWH ::




Custom Search