The OpenInterface platform is a set of tools aimed at the rapid development and prototyping of multimodal applications. By using it, you can easily and rapidly embed your application with new input and output modalities, and test them until you are satisfied with the resulting user interface.
The main objects manipulated by the platform are:
- components: a bundled piece of software that provides a set of services/functionalities. The provided software can do anything, ranging from input devices driver, signal-treatment algorithm, network module, graphical interface, etc. A public repository of components has been set up to centralize all existing software and enforce easy reuse of components written by other people.
- pipeline of components: it is the interconnection schema of a set of components. It describes and set up the communication channel between the components. An application is then described by a pipeline interconnecting a set of components.
The platform is composed of a set of software tools aggregated in three groups:
- The OpenInterface kernel: is the core of the platform. It is a basically a light-weight middleware that will set up the pipelines of components, i.e., given a pipeline description, it will initialize the components and establish the communication path between them.
- OpenInterface Component Builder: provides a tool that let you easily generate and package component to be used by the kernel.
- The OpenInterface Component Repository: Provides a tool for centralizing all the effort aimed at centralizing
the concurrent development of OpenInterface related components.