Document Type

Technical Report

Publication Date






Technical Report Number



LimeLite is a new coordination model and middleware designed to support rapid development of applications entailing logical mobility of agents and physical mobility of hosts. Designed to function in open environments, LimeLite performs automatic agent discovery but filters the results to define for each agent an individualized acquaintance list in accordance with run-time policies specified at the application level. This asymmetry among participants in the coordination process is dictated by the need to accommodate settings involving large numbers of agents and hosts that come and go freely. It represents an important departure from coordination research in general. The coordination context is limited to the specific needs of the individual agent and its coordination activities are restricted to tuple spaces owned by peers present in the acquaintance list. Linda-like primitives typically used in coordination middleware are tailored in LimeLite to address the challenges of mobile environments. Among other things, this entails the elimination of remote blocking and data pushing operations since the affected agents may no longer be within communication range. It also entails the addition of reactions that are triggered by the presence of information of interest on agents listed in the acquaintance list and not by events that could have occurred prior to discovery. Finally, to ensure both performance and ease of deployment on small devices the granularity of atomic operations and the reliance on transport layer guarantees have been minimized. This paper introduces LimeLite, explains its key features, illustrates its usage in application development, and explores its effectiveness as a software engineering tool.


Permanent URL: