Computer systems as we know them are currently changing from single systems running a set of applications to complex networks of connected devices heavily influencing the users’ everyday lives. This development leads to new requirements for applications and human-computer interaction.
Model-based approaches aim at modelling the different aspects of the user interface on certain levels of abstraction and offer a declarative way of modelling such multi-platform user-interfaces. With the help of a software engineering process that changes the focus from manual implementation to the tool-driven design of models that can be directly executed by a runtime-system, software developers can be supported to address these challenges.
The project focuses on utilizing user interface models as basis for a runtime system allowing the derivation of flexible user interfaces from a set of abstract models. Both, the runtime system as well as the abstract models are described by a meta-model, ensuring consistency across all models at run-time and design-time. The approach aims for the integration of the runtime and design-time view of the user interface to achieve greater flexibility and adaptability of user interfaces for smart environments. The adaptation of user interfaces to various environments unknown at design-time as well as context information and usage situations is supported.
The MASP runtime environment supports connecting various interaction devices using a channel-description to specify the interaction capabilities of each connected device. Currently channels to support graphical user interfaces using HTML/Ajax, voice-based user interfaces using VoiceXML/SIP and gesture-based interaction using accelerometers are supported.
The MASP considers several service technologies including Web-Services, RMI, Universal-Plug and Play as well as plain Java calls to connect existing backbend’s functionality or to add new functionality.
MASP: Tool supported Development Process
The MASP project focuses on several aspects in the context of this project:
- A runtime environment to serve multi-modal user interfaces based on several abstract models that enables abstract to concrete modelling of interactive services based on different design perspectives. All models are derived from a meta-model describing how to extends the predefined models.
- A methodology allowing the step by step creation of the required models guiding the developer through the software engineering process.
-
A set of tools to support high-fidelity prototyping, enabling cooperative prototyping and debugging of multi-modal and device-independent user-interfaces at system-runtime.
-
Several predefined basic services enabling user-interface-migration and migration, a stateful session-management, and a notification service.