Lime is a coordination model and middleware based on the ideas found in Linda, a shared tuple space model developed at Yale in the 1980s. Lime has three primary incarnations, each tailored for a specific environment, ranging from mobile ad hoc networks to sensor networks with base stations or with actuators.
Lime (Linda in a Mobile Environment) is a model and middleware supporting the development of applications that exhibit physical mobility of hosts, logical mobility of agents, or both. Lime adopts a coordination perspective inspired by work on the Linda model. The context for computation, represented in Linda by a globally accessible, persistent tuple space, is refined in Lime to transient sharing of identically-named tuple spaces carried by individual mobile units. Tuple spaces are also extended with a notion of location and programs are given the ability to react to specified states. The resulting model provides a minimalist set of abstractions that facilitate rapid and dependable development of mobile applications.
TinyLIME is a middleware for wireless sensor networks (WSN) that departs from the traditional WSN setting where sensor data is collected by a central monitoring station, and enables instead multiple mobile monitoring stations to access the sensors in their proximity and share the collected data through wireless links. This intrinsically context-aware setting is demanded by applications where the sensors are sparse and possibly isolated, and where on-site, location-dependent data collection is required. An extension of LIME, TinyLIME makes sensor data available through a tuple space interface, providing the illusion of shared memory between applications and sensors. Data aggregation capabilities and a power-savvy architecture complete the middleware features.
TeenyLIME is a tuple space model and middleware supporting applications where sensing and acting devices themselves drive the network behavior. In other words, the application core is not confined to the powerful sinks, rather it is deployed on the devices embedded within the physical world. Tuple space operations are used both for data collection as well as to effect coordination among sensing and acting devices.