Next: Integration of Network
Up: Data Streams
Previous: Data Streams
The basic building blocks of Gibbs' framework, as described in [Gib91] and [GDT92], are
multimedia objects, which have the following properties:
- A multimedia object is an
active object,
which means, that it has a state (its instance variables) and a behaviour (its methods) like any
ordinary passive object, but may in addition spontaneously perform
actions without the reception of messages from other objects. Hence, a private
thread of control must be assigned to each multimedia object. Depending on
the programming environment, the thread of control can be implemented for example as a
separate process or a user or kernel level thread.
- A multimedia object produces and/or consumes multimedia data at certain rates, thereby becoming
subject to real-time and synchronisation constraints.
- Each multimedia object contains one or more ports through which it exchanges data with other
objects. The number of ports, the data type that is communicated through a port, and the direction of
the port are determined by the class of the multimedia object.
- Multimedia objects can be divided into three categories according to their possible activities, which can be
characterised by the direction of the ports:
- Sources produce multimedia data, which they sent to other objects through output
ports.
- Sinks consume data, which they receive through their input ports.
- Filters or processing objects receive data through input
ports, process the data, and transmit the results through their output ports.
Connectors are used to link the output ports of the data producing objects with the input
ports of the data consuming objects.
- A multimedia object can either be a software-based object, which manipulates a process associated with
the object, or it can be a hardware-based object, which issues commands directly to the hardware.
Figure
depicts the notation for multimedia objects that is layed down by
Gibbs in[Gib91].
Figure: The data flow
principle: sources, filters, and sinks, communicating by means of ports and connectors.
Composite objects can be built by combining basic multimedia objects and specifying the connections between
the various components. Of course, composites are active multimedia objects themselves. As a consequence, an
invocation of the control and synchronisation methods of a composite must in turn invoke the corresponding
methods of the components with appropriately coordinated parameters.
Next: Integration of Network
Up: Data Streams
Previous: Data Streams
tspeuker@cip.informatik.uni-erlangen.de