Next: Data Streams
Up: Multimedia Data Transmission
Previous: The Object-Oriented Paradigm
The object-oriented design process produces a hierarchy of classes, from which a collection of
objects is instantiated to built a particular application.
However, different points of view and different contexts lead to
very dissimilar class hierarchies. Steinmetz et al. summarise some fundamentally differing approaches in
[SF92] and [Ste94, p. 491--514,]:
- Application-related class hierarchies.
-
The class hierarchy resembles the abstractions created for
only one application or a small set of related programs; the chance of reusing these classes is very low.
- Generic application class hierarchy.
-
The class hierarchy is created by concentrating basic
functionality that is part of a wide range of applications in common (base) classes.
Applications are built by developing and instantiating specialised subclasses.
The abstractions that are encapsulated in the class hierarchy must be generally applicable on the one hand
but meaningful and powerful on the other hand. Steinmetz [SF92, p. 399,] proposes to regard media
as perception media, storage media, transmission media, or presentation media in order to find common
functionality.
- Device-associated--objects.
-
The objects reflect the physical hardware devices of a system and represent
the behaviour and the interfaces of a device. Naturally, it is advisable that the interfaces to
objects that provide similar semantics by using different devices, should be defined in
hardware-independent base classes.
Code based on this approach can be executed in parallel rather easily.
However, finding a universally usable interface to audio or video I/O
devices is no trivial task.
The integration of additional functionality such as synchronisation often leads to complex
designs that must make full use of multiple inheritance.
- Data flow principle.
-
The class hierarchy derived from the data flow principle consists of source
classes, sink classes, intermediate processing classes, and connecting
objects. Within this ``Lego''-like model, applications are built by forming a
data flow path of connected objects, which are instantiated from appropriate
classes. The individual elements of the stream can be either unstructured
chunks of memory or first class objects, which not only carry state
information, but also offer presentation, transport, or storage
functionality. Simple data streams are discussed in Section
, whereas object streams are further described in Section
.
- Communication-oriented class hierarchy.
-
Distributed multimedia applications require the consideration of communication issues.
Blakowski [Bla91] describes a set of classes, which puts major emphasis on communication aspects:
he distinguishes information classes, presentation classes, and transport classes. The data contained in
information objects can be used to form presentation objects, which are used for presenting the
information. Alternatively, the information objects can be converted into transport objects for
transmission. Steinmetz [SF92, p. 399,] proposes the addition of storage classes.
Naturally, combinations and hybrids of these approaches are possible and useful.
Next: Data Streams
Up: Multimedia Data Transmission
Previous: The Object-Oriented Paradigm
tspeuker@cip.informatik.uni-erlangen.de