Within the domain of pervasive computing, context-awareness has commonly been defined as the ability of an application to adapt itself to its dynamic environment. The context of an application is defined as any information or service in the application's surroundings that may influence its current state or behaviour. In this research, we focus on the influence of such context on the communications between the entities of a software system.
Our observation is that in an interaction between two entities, the behaviour of the message receiver may not only depend on its own context, but also on the context of the sender. We have illustrated this idea in a high level context-aware cell phone scenario.
We claim that in order to deal with context-dependent communications in mobile networks, we need a model that satisfies the following conditions:
At our lab, we are currently exploring different language constructs for the development of context-aware applications. Here we present one of thes constructs called Split Objects (Bardou et al, ECOOP 1996). In such a model, application entities are composed of roles (known as viewpoints) which represent the different behaviours the entity can adopt. A role is a particular point of view on an entity that has an identification and a partial definition of that entity. The model's message sending protocol allows the specification of the role the receiver should adopt to respond to the message. Hence, if context-dependent behaviour is modelled as roles, an application could adapt to its context by just assuming the appropriate role.
The problem with the split objects model is that the message sender must know before hand which are the roles a receiver could take. In dynamic environments like mobile open networks, this acknowledgment is practically impossible and undesirable (due to the heterogeneity and autonomicity of the participants). Hence we have extended this model in such a way that the sender only have to include its own context information in the messages (and not a role). At the receiver side there will be a reasoning engine that will take as input the context of both sender and receiver, and will map this information to a role. We have called this entity the context-dependent role selector. For further information about this solution, we refer the interested reader to [ this paper ].
These are the different research topics we have identified so far:
A Role-Based Implementation of Context-Dependent Communications Using Split Objects. Jorge Vallejos, Peter Ebraert, Brecht Desmet. In “Proceedings of the workshop on Revival of Dynamic Languages, collocated with ECOOP 2006, Nantes, France”. [ download ]