An ontology based context aware modelling and reasoning to enhance human environment interaction

The recent convergence of ubiquitous computing and context-aware computing has seen a considerable rise in interest that exploit aspects of the contextual environment to enhance implicit user interaction, offer services, present information, tailor application behavior or trigger adaptation. However, as a result of the lack of generic mechanisms for supporting context-awareness, context-aware applications remain very difficult to build and developers must deal with a wide range of issues related to representing, sensing, aggregating, storing, querying and reasoning of context. In order to remedy this situation, there is a need for better understanding of the design process associated with context-aware applications, architectural support for the entire context processing flow, and improved programming abstractions that ease the prototyping of applications. This research in context-aware computing has focused on the architectural support for context-aware application development. This dissertation presents a set of requirements for context-aware applications, based on wich we designed and implemented our architectural support, including an ontology-based context model, a context-aware architecture (namely Context Aware Explorer) and a set of programming abstractions. This research reported here is investigating : how context can be acquired, ditributed, and used and how it changes human computer interaction in Ubiquitous Computing. The Context Aware Explorer includes common steps required to build context applications (acquisition, interpretation, presentation, reasoning and application), thus it ensures the adaptation situated at the level of User Environment Interaction. The case study, Assistive Environment, validates our work, and illustrates, in concrete form, the process and issues involved in the design of context-aware software. Finally, the research presents an overview of how Ubiquitous Computing systems can be evaluated. Different techniques are assessed, and the concept of probing users and developers with prototypes is presented.