Teaching
Research
Publications
Curriculum Vitae
Personal

EgoSpaces Middleware

Abstract
Publications
Download
Examples Credits

Abstract

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 an  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.

EgoSpaces relies on the support of several additional software packages as shown in Figure 1.  This includes the network abstractions protocol (or SICC protocol) for context-aware communication, sensor monitoring via the CONSUL sensing package, and basic discovery, message passing, and sensing capabilities.

EgoSpaces Architecture
Figure 1: The EgoSpaces Architecture

EgoSpaces's fundamental concept is the view abstraction  A view is a collection of relevant data (or context) items that are defined by meta data, the software agents that own the data, the hosts on which those agents are located, and the network paths that connect the application in question to the hosts holding the data items.  The key novel aspect of the view abstraction is its provision of asymmetric coordination.


Publications

Download

The EgoSpaces prototype implementation is available for download as just a set of jar files or as a complete source distribution.  Because EgoSpaces relies on a set of other software packages, the jar files for those packages are also required for proper functionality.

Examples

Source code for example applications will be posted here as they are available.

Credits

EgoSpaces is the product of a research collaboration between Christine Julien and Gruia-Catalin Roman.  Additional acknowledgement goes to Amy Murphy, Jamie Payton, and Gian Pietro Picco for their input and other contributions.