Introduction
Context modelling and management
Context-aware applications are typically constructed using context models and abstractions that are informal, lacking in expressiveness and designed for narrow application domains. The PACE project has made significant advances in context modelling that address these limitations. The project has developed a set of generic modelling constructs that support:
- modelling of heterogeneous types of context information from sources such as sensors and resource monitors, users and context-aware applications;
- modelling of imperfect information, including incomplete, ambiguous and uncertain context information;
- modelling of context at two levels of detail using fact and situation abstractions;
- modelling of advanced features, such as histories and dependencies between different types of context information;
- reasoning using an interpretation of context facts that takes into account ambiguity and incompleteness.
The PACE project is also actively investigating issues in management of context information and constructing tools for automating the mapping of context models into management infrastructure for pervasive computing environments.
Programming models and abstractions
As an extension of its research in context modelling, the PACE project has a strong interest in developing further abstractions that can be used to simplify the task of building context-aware applications. This work has two strands:
- Preference modelling: The project has produced an innovative solution for modelling user preferences and policies in a form that supports context-dependent adaptation in pervasive computing applications. This solution allows description, refinement and learning of complex sets of requirements belonging to individuals and groups of users, services and organisations. Preferences are specified in an application-neutral format that facilitates sharing and reuse over many different context-aware applications. The immediate focus of the project in the area of preference modelling is now on the development of techniques for automating the mapping of high-level user requirements into appropriate sets of preferences and policies, and on applying the model to the problem of specifying privacy preferences in relation to context information.
- Programming models: The PACE project has contributed two generic programming models that can be used by developers of context-aware applications: a variant of the well-known triggering model that allows actions to be invoked automatically in response to changes in situation, and a model of branching that supports choice based on a combination of context and preference information. An important feature of both models is the ability to tolerate incomplete, ambiguous and uncertain context information.
Impact
The context models and programming abstractions developed by the PACE project lead to extremely flexible context-aware applications that are easily evolved to accommodate arbitrary types of context information as the environment or user requirements change, and customised to support new behaviours in response to the existing context information. These capabilities have been demonstrated in a variety of prototypes developed by the project team for the telecommunications domain. In the future, PACE will continue to work with DSTC participants to apply the models to additional domains including enterprise collaboration, health-care and defence.