The Digital Signal Processing Object-Oriented Metamodel has been presented as a completely object-oriented metamodel. The metamodel is an abstraction of the CLAM framework presented in the previous chapter, and for developing CLAM extensive object-oriented techniques and methodologies were applied. Furthermore, DSPOOM applies the object-oriented maxima that states that ``everything is and object'' (see [Kay, 1993]).
Nevertheless, DSPOOM advocates for a clear separation between Process and Data, which in some sense is similar to advocating for a separation between data and operations. This idea does not fit well into traditional object-oriented thinking.
In this section we will discuss and justify why, regardless of this separation, or even more ``because'' of this separation between processes and data, DSPOOM is perfectly object-oriented.