Middleware for task resolution and adaptation in pervasive environments
Résumé
Driven by the heterogeneity of pervasive environments, a user task can be defined independently of devices' resources as an assembly of abstract components, requiring services from and providing services to each other. To achieve the task's execution, it has to be resolved in concrete components, which involves automatic matching and selection of components across various devices. Moreover, user tasks in pervasive environments are challenged by the dynamism of their execution environments. Thus, there is a need to adapt them for a continuous execution. Towards these challenges, we propose in this article a middleware that allows for each service of a user task, the best selection of the device and component used for its execution. The task resolution approach considers in addition to the functional aspects of the task, the user preferences, devices capabilities, services requirements and components preferences. The middleware also carries out adaptation of user's tasks to cope with the dynamicity of pervasive environments. The adaptation consists of a partial reselection of devices and components that are affected by the changes. For this purpose, the middleware uses monitoring mechanisms to detect the changes during the execution of the user tasks.