[en] Classical models for information transmission such as Shannon and Weaver's still tend to be looked at as the only possible scenarios where signal processing applications can be formally modeled. Meanwhile, other disciplines like Computer Science have developed different paradigms that offer the possibility of looking at the same problem from a different perspective. One of the most favored approaches for software analysis and design is the Object Oriented paradigm, which proposes to model a system in terms of objects and relations between objects. An object is an instance of a real world or abstract concept and it is made up of an identity, a state, and a behavior. An object oriented system is thus described in terms of its internal objects, messages that are passed in between them and the way these objects respond to incoming messages by executing a particular method. Although object oriented technologies have been applied to signal processing systems, no previous comprehensive approach has been made to translate all the advantages and consequences, both practical and formal, of this paradigm to the signal processing domain. This dissertation defends the thesis that a generic signal processing system can be thoroughly and effectively described using the object oriented paradigm. For doing so, the Digital Signal Processing Object Oriented Metamodel offers a classification of signal processing objects in terms of their role in a DSP system. Objects are classified into two main categories: objects that process and objects that act as data containers. This 00 metamodel turns out to be closely related to Dataflow Process Networks, a graphical model of computation that has already proven useful for modeling signal processing systems. In our study we highlight the similarities of both models to conclude that object-orientation is in fact a superset of process-oriented models and therefore the object-oriented paradigm can be proposed as a general approach for system modeling. Furthermore, it turns out that nowadays the natural target for many signal processing applications is the computer and its software environment and the objectoriented paradigm becomes a natural conceptual framework where the different development phases fit. CLAM (C++ Library for Audio and Music) is a framework for developing music and audio applications that has been designed bearing this conceptual model in mind. CLAM is both the origin and the proof of concept of the Metamodel. On one hand its design process and rationale has led to the definition of the metamodel. On the other hand, it demonstrates that the metamodel proposed is more than an abstract wish-list and can be used to model working and efficient applications in the music and audio domain. The basic Object Oriented metamodel for signal processing systems can be extended to include the idea of Content Based Processing. 00 concepts like Inheritance Hierarchies, Polymorphism or Late Binding can be used to model run-time classification of media objects and to deal with the semantic information present in the signal rather than just treating the signal itself. This leads us to the definition of a new metamodel of information transmission that, unlike the traditional ones, does care about meaning. Finally, the 00 paradigm can also be used to model higher-level symbolic domains related to signal processing. For example, music (as a whole) can be effectively modeled using the 00 paradigm. An 00 model for music is proposed as an instance of the basic signal processing metamodel and the MetriX language is presented as its proof of concept.

[es] Los modelos clásicos de transmisión de información com el de Shannon y Weaver todavía se suelen considerar como los únicos escenarios posibles en los que aplicaciones de procesado de señal se pueden modelar formalmente. Mientrastanto, otras disciplinas como la Informática han desarrollado paradigmas diferentes que ofrecen la posibilidad de mirar el mismo problema des de una perspectiva diferente. Una de las aproximaciones más utilizadas para el análisis y diseño de software es el paradigma Orientado a Objetos, el cual propone modelar un sistema en objetos y relaciones entre objectos. Un objeto es una instancia de un concepto abstracto o del mundo real compuesto de una identidad, un estado y un comportamiento. De este modo un sistema orientado a objetos se describe en función de sus objetos internos, los mensajes que se pasan entre ellos y la forma que estos objetos responden a los mensajes entrantes ejecutando un método concreto. Aunque las tecnologías orientadas a objectos se han aplicado a sistemas de procesado de señal, no hay ningún intento previo de trasladar todas las ventajas y consecuencias, tanto prácticas como formales, de este paradigma al dominio del procesado de señal. Este trabajo defiende la tesis de que un sistema de procesado de señal genérico se puede describir completamente y de forma efectiva utilizando el paradigma orientado a objetos. Para hacerlo, el Metamodelo de Procesado de Señal Orientado a Objetos ofrece una clasificación de objetos según su rol en un sistema. Los objetos se clasifican en dos categorías principales: objetos que procesan y objetos que actúan como contenedores de datos. Este metamodelo OO resulta estar muy cercano a las Redes De Procesos con Flujos de datos, un modelo gráfico de computación que ya ha mostrado su utilidad para modelar sistema de procesado de señal. En nuestro estudio destacamos las similitudes de los dos modelos para concluir que la orientación a objetos es de hecho un supra conjunto de los modelos orientados al proceso y que, por lo tanto, el paradigma orientado a objetos se puede proponer como una aproximación genérica al modelado de sistemas. Además, resulta que hoy en día el entorno destino de muchas aplicaciones de procesado de señal es el ordenador y su software asociado y el paradigma orientado a objetos resulta un entorno conceptual natural donde las diversas fases de desarrollo se adaptan. CLAM (C++ Library for Audio and Music) es un entorno para desarrollar aplicaciones de audio y música que se ha diseñado teniendo en mente este model conceptual. CLAM es tanto el origen como la prueba de concepto del Metamodelo. Por un lado su proceso de diseño ha conducido a la definición del metamodelo. Por otro lado, demuestra que el metamodelo propuesto es más que una lista de deseos abstracta y que puede ser utilizado para modelar aplicaciones prácticas y eficientes en el dominio concreto del audio y la música. El metamodelo básico de procesado de señal Orientado a Objetos se puede extender para incluir la idea de Procesado Basado en el Contenido. Conceptos 00 corn las Jerarquías de Herencia, el Polimorfismo o el Enlace Tardío se pueden utilizar para modelar la clasificación en tiempo de ejecución de objetos media o para gestionar la información semántica presente en la señal, en vez de tan sólo tratar la señal en ella misma. Esto nos lleva a la definición de un nuevo metamodelo de transmisión de la información que, a diferencia de los tradicionales, sí que se preocupa del significado. Finalmente, el paradigma 00 también se puede utilizar para modelar nuevos dominios simbbólicos de más alto nivel relacionados con el procesado de señal. Por ejempló, la música (en todo su alcance) se puede modelar de forma efectiva utilizando el paradigma 00. Se propone un modelo 00 de la música como instancia del metamodelo básico de procesado de señal, i el lenguaje MetriX se presenta como su prueba de concepto.