User Tools

Site Tools


Sidebar

Jump to
AmbientTalk
CRIME
iScheme

contextawaretuples

This is an old revision of the document!


Context-Aware Tuples for The Ambient

Under construction!!

Context-aware Tuples is a novel tuple space approach which augments the concept of a tuple with a context-rule to support the development of context-aware applications in a mobile environment.

Motivation

In tuple space approaches to context-aware mobile systems, the notion of context is defined by the presence or absence of certain tuples in the tuple space. Existing approaches define such presence either by collocation of devices holding the tuples or by replication of those tuples across all devices. However, this representation can lead to an erroneous perception of context. The former ties the perception of context to network connectivity which does not always yield the expected result. The latter causes context to be perceived even if a device has left that context a long time ago. The main reason for this is that the ability to read a tuple from the environment does not give any guarantees that the context information carried by the tuple is appropriate for the reader. This forces programmers to manually verify that a tuple is valid for the application’s context situation after the tuple is read. This manual verification leads to the violation of a large number of software engineering principles.

Our Approach

Context-aware tuples provides an alternative approach that keeps the sim- plicity of the tuple space model where interactions and context information are defined by means of tuples, while allowing tuples themselves to determine the context in which a receiving application should be in order to perceive a tuple. A context-aware tuple has an associated predicated called a context rule that determines when the receiving application is in the right context to perceive the tuple. Only when a tuple’s context rule can be satisfied by the context of the receiving application, the tuple can be perceived by the application. Applications can also be notified when the tuple can no longer be perceived.

Context-Aware Tuples API

Operation Description
Tuple Creation Tuple( Type, Field1, …, FieldN)
Non Blocking Operations
Read Tuple Rdp( <tuple> )
Read Tuples Rdg( <tuple> )
Tuple Insertion inject: <tuple> inContext: <contextRule> timeout: <t>
Tuple insertion Out( <tuple> )
Reactions on Tuples (Context Information)
Tuple appearance when: [template] read: [listener] outOfContext: [listener];
Tuple removal when: [template] in: [listener] outOfContext: [listener];
For all appearance whenever: [template] read: [listener] outOfContext: [listener];
For all removal whenever: [template] in: [listener] outOfContext: [listener];

Further Reading

Context-Aware Tuples for the Ambient, C. Scholliers, E. Gonzalez Boix, W. De Meuter, T. D'Hondt. In Proceeding of the 12th International Symposium on Distributed Objects, Middleware, and Applications (DOA'10), LNCS. Srpinger Verlang, October 2010. ( pdf)

contextawaretuples.1287585957.txt.gz · Last modified: 2010/10/20 16:46 (external edit)