This is an old revision of the document!
Table of Contents
Role-Based Ambient Communications
Motivation
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:
- Dynamic Context Adaptation: Context information may influence the behaviour of a device. Applications should adapt to their context by dynamically switching of behaviour.
- Dynamic Behaviour Composition: The resulting behaviour is typically a composition of possible different behaviours. Applications should be based on composable parts representing partial context-dependent adaptations.
- Context Passing Mechanism: It is not only the context of one device that determines its behavior, but also the context of other devices potentially play an important role. In the case of context-dependent communications, the context information of the message sender should also be taken into account to decide the behaviour adaptation of the receiver. We require therefore a way to get acknowledgment of the sender’s context information.
Design
At the PROG 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 ].
Ongoing and Future Work
These are the different research topics we have identified so far:
- Composition of context-dependent application behaviours using prototype-based solutions (delegation hierarchies, split objects, subjective objects etc.).
- Context-dependent adaptations of behaviour using role-based models.
- Rule-based systems for context reasoning and role selection.
- Combining actor and role models for the development of context-dependent applications.
- Ad-hoc and intentional actor grouping.
- Intra and Inter actor layers for context-dependent adaptations.
- Dynamic scope for context-dependent communications.
Further Reading
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 ]