SAI is a software architecture framework for designing, analyzing and implementing integrated media systems.
The goal of the SAI (Software Architecture for Immersipresence) project 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.
SAI specifies a new architectural style (components, connectors and constraints). The underlying extensible data model and hybrid (shared repository and message-passing) distributed asynchronous parallel processing model allow natural and efficient manipulation of generic datastreams, using existing libraries or native code alike. The modularity of the style facilitates distributed code development, testing, and reuse, as well as fast system design and integration, maintenance and evolution. A graph-based notation for architectural designs allows intuitive system representation at the conceptual and logical levels, while at the same time mapping closely to processes.
NSF Report (Year 7)
NSF Report (Year 8)
Poster
More Info
Laboratory
MFSM is an architectural middleware implementing the SAI style. Its core element, the FSF library, is a set of extensible classes that can be specilized to define new data structures and processes, or encapsulate existing ones (e.g. from libraries). MFSM is an open source project, released under the GNU Lesser General Public License, hosted on SourceForge.net. A number of software modules regroup specializations implementing specific algorithms or functionalities. They constitute a constantly growing base of open source, reusable code, maintained as part of the MFSM project, together with extensive documentation, including user guide, reference guide and tutorials.