Software component architectures for streaming media
I am working on several papers, and a new training class, explaining software component architectures especially in relation to streaming media and DSP. This is interesting and I am gaining some valuable new insights into these topics. Software component architectures let you build systems by connecting pre-existing components. A software component is a piece of code that is re-usable in many applications: extending the idea of re-usable software functions to cover larger blocks of code but also letting the components be deployed and version-controlled independently of the applications that use them. The aim is re-use instead of re-invention: to make software components that, like hardware components, can be used again and again, interchanged and relied on. This is a difference between components and objects: objects try to correspond to a reasonably clear mental model of the actual objects that make up the system, and so encourage us to design objects that do make sense in this way. ...