Software libraries are a good and necessary step towards code reusability and efficiency. However they fall short of completely addressing these important issues, or others such as scalability and interoperability. This is the realm of Software Architecture, the field of study concerned with designing, analysing and implementing software systems.
The pipes and filters architectural model (or recent variations), used successfully for video analysis, presents many attractive properties, as well as some major shortcomings that make it unsuitable in more general interactive, cross-disciplinary integrated systems.
To address these limitations, SAI (Software Architecture for Immersipresence), a software architecture model for designing, analysing and implementing applications performing distributed, asynchronous parallel processing of generic data streams, was introduced. The goal of SAI is to provide a universal framework for the distributed implementation of algorithms and their easy integration into complex systems that exhibit desirable software engineering qualities such as efficiency, scalability, extensibility, reusability and interoperability.
This presentation will be a hands-on introduction to the design of computer vision applications using SAI, and their implementation using MFSM, the open source architectural middleware implementing SAI.