In this chapter we have presented the Digital Signal Processing Object-Oriented Metamodel (DSPOOM). This metamodel may be considered the main contribution of this thesis and is basically a result of abstracting the conceptual results found in the CLAM framework.
DSPOOM combines the advantages of the object-oriented paradigm with system engineering techniques and particularly with graphical Models of Computation in order to offer a generic metamodel that can be instantiated to model any kind of signal processing related system.
To do so the metamodel presents a classification of signal processing objects into two basic categories: objects that process or Processing objects and objects that hold data or Processing Data objects. Processing objects represent the object-oriented encapsulation of a process or algorithm. They include support for synchronous data processing and asynchronous event-driven control processing as well as a configuration mechanism and a explicit life cycle. Data input and output to Processing objects is done through Ports and control data is handled through the Control mechanism. On the other hand Processing Data objects must offer a homogeneous getter/setter interface and support for meta object facilities such as reflection and automatic serialization services.
The metamodel also presents mechanisms for composing statically and dynamically with basic DSPOOM objects. Static compositions are called Processing Composites and dynamic compositions are called Networks.
Finally the DSPOOM metamodel can also be considered as an object-oriented implementation of a graphical Model of Computation, particularly the Context-aware Dataflow Networks.
We may therefore conclude that the metamodel here described presents a comprehensive conceptual framework to model signal processing systems and applications. The metamodel has already had its practical validation with the CLAM framework presented in the previous chapter. Therefore, and although we believe in the metamodel generality, it has only been validated in the audio and music domain.