Building Pervasive Identities

In the pervasive computing paradigm, technology disappears in the environment embedded in everyday devices. Whereas from the hardware point of view this is becoming ever real, from a software perspective several issues still remain unresolved. Among them the way in which the identity of software applications should be treated. Consider the case of a software application for communication like Skype, Google Talk or iChat. The main property of such an application is to offer multiple traditional and new communication services to its user (based on text, audio and video), who only requires one identity to use all these services. Assume that this application – named ContextCom in this example – runs in a pervasive computing environment composed of a set of devices provided with processing and communication capacity: an interactive TV, a cell phone and a laptop. Although ContextCom is available at any of these devices, its user may have some preferences on where to use the different communication services. For instance, the user may prefer the interactive TV for having videoconferences whereas he opts for his cell phone to chat via text messages. Additionally, the fact that the services of ContextCom are available in different devices should not imply for the user to have independent instances of this application in every device. It should be possible that the user has a single account that he can simultaneously use on all devices.

Pervasive communication

Based on the scenario above, we argue that a pervasive computing application should be able to dynamically distribute its functionality (e.g. the different communication services) across the devices available in the user's environment and to preserve the user's identity regardless of the dynamic a distribution. We refer to these two conditions as the need for “pervasive identities”.

Research Goals

The aim of this work is to provide a programming language framework that enable the definition of identities that can be shared by several entities in a network providing a similar functionality (like several instances of ContextCom).

To validate this work we propose the student to conceive such framework as a thin layer which can be used in collaboration with existing applications (e.g. instant messaging or music player applications).

Development Platform

For this work the student will use iPods touch (provided by PROG) and laptops as the mobile and fixed (embedded) devices respectively. The proposed language platform to build the framework for pervasive identities is Tiny-CLOS or any Lisp implementation that runs on iPhones/iPods touch. This implementation will eventually also require for the student to work with Objective-C to make possible the interaction between Tiny-CLOS and an existing iPhone application.

Thesis

This thesis should cover:

  1. Study of the state of the art in programming language techniques for group identities and group behaviour abstractions.
  2. Design and implementation of the Lisp framework for pervasive identities.
  3. Design and implementation of a scenario using an existing application which runs in both the laptop and the iPod Touch.

Contacts

Useful References

Literature about group identites/behaviour:

  • Concurrent Aggregates, Andrew A. Chien and William J. Dally
  • Encapsulating Plurality, Andrew P. Black and Mark P. Immel
  • Group Communication, David Powell
  • Distributed Asynchronous Collections: Abstractions for Publish/Subscribe Interaction, Patrick Th. Eugster, Rachid Guerraoui, and Joe Sventek

Implementation platform:

 
teaching/thesis0910/proposals/pervasiveids.txt · Last modified: 08/05/2009 15:17 by jvallejo
 

© 2003-2010 • System and Software Engineering Lab • Submit comments and bugs to our Bugzilla or to the webmaster