Egocentric context-aware programming in ad hoc mobile environments

Some of the most dynamic systems being built today consist of physically mobile hosts and logically mobile agents. Such systems exhibit frequent configuration changes and a great deal of resource variability. Applications executing under these circumstances need to react continuously and rapidly to changes in operating conditions and must adapt their behavior accordingly. The development of such applications demands a reexamination of the notion of context and the mechanisms used to manage the application's response to contextual changes. This paper introduces EgoSpaces, a coordination model and middleware for ad hoc mobile environments. EgoSpaces focuses on the needs of application development in ad hoc environments by proposing an agent-centered notion of context, called a view, whose scope extends beyond the local host to data and resources associated with hosts and agents within a subnet surrounding the agent of interest. An agent may operate over multiple views whose definitions may change over time. An agent uses declarative specifications to constrain the contents of each view by employing a rich set of constraints that take into consideration properties of the individual data items, the agents that own them, the hosts on which the agents reside, and the physical and logical topology of the ad hoc network. This paper formalizes the concept of view, explores the notion of programming against views, discusses possible implementation strategies for transparent context maintenance, and describes our current prototype of the system. We include examples to illustrate the expressive power of the view abstraction and to relate it to other research on coordination models and middleware.

[1]  Gordon S. Blair,et al.  L2imbo: A distributed systems platform for mobile computing , 1998, Mob. Networks Appl..

[2]  David R. Morse,et al.  FieldNote: a Handheld Information System for the Field , 1999 .

[3]  A. Harter,et al.  A distributed location system for the active office , 1994, IEEE Network.

[4]  Gregory D. Abowd,et al.  Cyberguide: A mobile context‐aware tour guide , 1997, Wirel. Networks.

[5]  David S. Rosenblum,et al.  Design and evaluation of a wide-area event notification service , 2001, TOCS.

[6]  Gregory D. Abowd,et al.  The context toolkit: aiding the development of context-enabled applications , 1999, CHI '99.

[7]  Peter J. Brown,et al.  The Stick-e Document: a Framework for Creating Context-aware Applications , 1996 .

[8]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[9]  Alfonso Fuggetta,et al.  The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS , 2001, IEEE Trans. Software Eng..

[10]  Franco Zambonelli,et al.  MARS: A Programmable Coordination Architecture for Mobile Agents , 2000, IEEE Internet Comput..

[11]  James A. Landay,et al.  An Infrastructure Approach to Context-Aware Computing , 2001, Hum. Comput. Interact..

[12]  Keith Cheverst,et al.  Experiences of developing and deploying a context-aware tourist guide: the GUIDE project , 2000, MobiCom '00.

[13]  Amy L. Murphy,et al.  LIME: a middleware for physical and logical mobility , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[14]  Gregory R. Andrews,et al.  Concurrent programming - principles and practice , 1991 .

[15]  Christine Julien,et al.  Network abstractions for context-aware mobile computing , 2002, ICSE '02.

[16]  Kaisa Sere,et al.  Stepwise Refinement of Parallel Algorithms , 1990, Sci. Comput. Program..

[17]  Bill N. Schilit,et al.  An overview of the PARCTAB ubiquitous computing experiment , 1995, IEEE Wirel. Commun..

[18]  Bill N. Schilit,et al.  Context-aware computing applications , 1994, Workshop on Mobile Computing Systems and Applications.