scispace - formally typeset
Search or ask a question
Journal ArticleDOI

LIME: A coordination model and middleware supporting mobility of hosts and agents

TL;DR: The model underlying LIME is illustrated, a formal semantic characterization for the operations it makes available to the application developer is provided, its current design and implementation is presented, and lessons learned are discussed in developing applications that involve physical mobility.
Abstract: LIME (Linda in a mobile environment) is a model and middleware supporting the development of applications that exhibit the 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 the 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 facilitates the rapid and dependable development of mobile applications. In this article we illustrate the model underlying LIME, provide a formal semantic characterization for the operations it makes available to the application developer, present its current design and implementation, and discuss lessons learned in developing applications that involve physical mobility.
Citations
More filters
Journal ArticleDOI
TL;DR: TOTA promotes a simple way of programming that facilitates access to distributed information, navigation in complex environments, and the achievement of complex coordination tasks in a fully distributed and adaptive way, mostly freeing programmers and system managers from the need to take care of low-level issues related to network dynamics.
Abstract: Pervasive and mobile computing call for suitable middleware and programming models to support the activities of complex software systems in dynamic network environments. In this article we present TOTA (“Tuples On The Air”), a novel middleware and programming approach for supporting adaptive context-aware activities in pervasive and mobile computing scenarios. The key idea in TOTA is to rely on spatially distributed tuples, adaptively propagated across a network on the basis of application-specific rules, for both representing contextual information and supporting uncoupled interactions between application components. TOTA promotes a simple way of programming that facilitates access to distributed information, navigation in complex environments, and the achievement of complex coordination tasks in a fully distributed and adaptive way, mostly freeing programmers and system managers from the need to take care of low-level issues related to network dynamics. This article includes both application examples to clarify concepts and performance figures to show the feasibility of the approach

220 citations


Cites background or methods from "LIME: A coordination model and midd..."

  • ...Lime [39] exploits transiently shared tuple spaces as the basis for interaction in dynamic network scenarios....

    [...]

  • ...Lime: A coordination model and middleware support­ing mobility of hosts and agents....

    [...]

  • ...These data structures can be hosted in some centralized data space (e.g., tuple space), as in EventHeap [Johanson and Fox 2002], or they can be fully distributed over the nodes of the network, as in MARS [Cabri et al. 2003] and Lime [Picco et al. 2006]....

    [...]

Journal ArticleDOI
TL;DR: Agilla provides a programming model in which applications consist of evolving communities of agents that share a wireless sensor network that can dynamically enter and exit a network and can autonomously clone and migrate themselves in response to environmental changes.
Abstract: This article presents Agilla, a mobile agent middleware designed to support self-adaptive applications in wireless sensor networks. Agilla provides a programming model in which applications consist of evolving communities of agents that share a wireless sensor network. Coordination among the agents and access to physical resources are supported by a tuple space abstraction. Agents can dynamically enter and exit a network and can autonomously clone and migrate themselves in response to environmental changes. Agilla's ability to support self-adaptive applications in wireless sensor networks has been demonstrated in the context of several applications, including fire detection and tracking, monitoring cargo containers, and robot navigation. Agilla, the first mobile agent system to operate in resource-constrained wireless sensor platforms, was implemented on top of TinyOS. Agilla's feasibility and efficiency was demonstrated by experimental evaluation on two physical testbeds consisting of Mica2 and TelosB nodes.

208 citations

Journal ArticleDOI
04 May 2012
TL;DR: A comprehensive reference model, entitled FOrmal Reference Model for Self-adaptation (FORMS), that provides rigor in the manner self-adaptive software systems can be described and reasoned about and has a potential for documenting reusable architectural solutions to commonly encountered problems in this area.
Abstract: The challenges of pervasive and mobile computing environments, which are highly dynamic and unpredictable, have motivated the development of self-adaptive software systems. Although noteworthy successes have been achieved on many fronts, the construction of such systems remains significantly more challenging than traditional systems. We argue this is partially because researchers and practitioners have been struggling with the lack of a precise vocabulary for describing and reasoning about the key architectural characteristics of self-adaptive systems. Further exacerbating the situation is the fact that existing frameworks and guidelines do not provide an encompassing perspective of the different types of concerns in this setting. In this article, we present a comprehensive reference model, entitled FOrmal Reference Model for Self-adaptation (FORMS), that targets both issues. FORMS provides rigor in the manner such systems can be described and reasoned about. It consists of a small number of formally specified modeling elements that correspond to the key concerns in the design of self-adaptive software systems, and a set of relationships that guide their composition. We demonstrate FORMS's ability to precisely describe and reason about the architectural characteristics of distributed self-adaptive software systems through its application to several existing systems. FORMS's expressive power gives it a potential for documenting reusable architectural solutions (e.g., architectural patterns) to commonly encountered problems in this area.

194 citations

Patent
19 Jul 2013
TL;DR: In this article, a computer implemented method and system for creating a mobile application provides a Mobile Application Development Software (MADS) and pre-coded software components (PCSCs) encapsulated in a mobile Application creation interface (MACI).
Abstract: A computer implemented method and system for creating a mobile application provides a mobile application development software (MADS) and pre-coded software components (PCSCs) encapsulated in a mobile application creation interface (MACI). The MADS dynamically maps data to be rendered in the mobile application with one or more data sources and launches the MACI. The MADS creates one or more composite software components (CSCs) by combining more than one of distinct software components selected from component sources and/or the PCSCs. The MADS inserts one or more PCSCs and/or CSCs into the MACI. The MADS generates one or more recommendations for adding one or more characteristic objects associated with the mobile application. The MADS creates the mobile application using the inserted PCSCs, the created composite software components, the recommendations, the dynamically mapped data, and/or an adaptively configured application programming interfaces that facilitate backend integration of the mobile application with the user device.

120 citations

Proceedings ArticleDOI
26 Nov 2007
TL;DR: TeenyLime provides programmers with the high-level abstraction of a tuple space, enabling data sharing among neighboring devices, and thereby yields simpler, cleaner, and more reusable implementations, at the cost of only a very limited decrease in performance.
Abstract: Wireless sensor networks (WSNs) are evolving to support sense-and-react applications, where actuators are physically interspersed with the sensors that trigger them. This solution maximizes localized interactions, improving resource utilization and reducing latency w.r.t. solutions with a centralized sink. Nevertheless, application development becomes more complex: the control logic must be embedded in the network, and coordination among multiple tasks is needed to achieve the application goals.This paper presents TeenyLime, a WSN middleware designed to address the above challenges. TeenyLime provides programmers with the high-level abstraction of a tuple space, enabling data sharing among neighboring devices. These and other WSN-specific constructs simplify the development of a wide range of applications, including sense-and-react ones. TeenyLime yields simpler, cleaner, and more reusable implementations, at the cost of only a very limited decrease in performance. We support these claims through a source-level, quantitative comparison between implementations based on TeenyLime and on mainstream approaches, and by analyzing measures of processing overhead and power consumption obtained through cycle-accurate emulation.

105 citations


Cites methods from "LIME: A coordination model and midd..."

  • ...TeenyLIME is inspired by LIME [24], which originally introduced the notion of shared tuple spaces in mobile ad hoc networks....

    [...]

References
More filters
Journal ArticleDOI
TL;DR: A conceptual framework is presented that separates the acquisition and representation of context from the delivery and reaction to context by a context-aware application, and a toolkit is built that instantiates this conceptual framework and supports the rapid development of a rich space of context- aware applications.
Abstract: Computing devices and applications are now used beyond the desktop, in diverse environments, and this trend toward ubiquitous computing is accelerating. One challenge that remains in this emerging research field is the ability to enhance the behavior of any application by informing it of the context of its use. By context, we refer to any information that characterizes a situation related to the interaction between humans, applications, and the surrounding environment. Context-aware applications promise richer and easier interaction, but the current state of research in this field is still far removed from that vision. This is due to 3 main problems: (a) the notion of context is still ill defined, (b) there is a lack of conceptual models and methods to help drive the design of context-aware applications, and (c) no tools are available to jump-start the development of context-aware applications. In this anchor article, we address these 3 problems in turn. We first define context, identify categories of contextual information, and characterize context-aware application behavior. Though the full impact of context-aware computing requires understanding very subtle and high-level notions of context, we are focusing our efforts on the pieces of context that can be inferred automatically from sensors in a physical environment. We then present a conceptual framework that separates the acquisition and representation of context from the delivery and reaction to context by a context-aware application. We have built a toolkit, the Context Toolkit, that instantiates this conceptual framework and supports the rapid development of a rich space of context-aware applications. We illustrate the usefulness of the conceptual framework by describing a number of context-aware applications that have been prototyped using the Context Toolkit. We also demonstrate how such a framework can support the investigation of important research challenges in the area of context-aware computing.

3,095 citations


"LIME: A coordination model and midd..." refers background or methods in this paper

  • ...Event aggregation and dissemination are addressed in Solar [Chen and Kotz 2002], the Context Toolkit [Dey et al. 2001], and STEAM [Meier and Cahill 2002], while Bayou [Terry et al....

    [...]

  • ...Event aggre­gation and dissemination are addressed in Solar [Chen and Kotz 2002], the Context Toolkit [Dey et al. 2001], and STEAM [Meier and Cahill 2002], while Bayou [Terry et al. 1995] provides a replicated database model for the MANET environment....

    [...]

Journal ArticleDOI
David Gelernter1
TL;DR: This work is particularly concerned with implementation of the dynamic global name space that the generative communication model requires, and its implications for systems programming in distributed settings generally and on integrated network computers in particular.
Abstract: Generative communication is the basis of a new distributed programming langauge that is intended for systems programming in distributed settings generally and on integrated network computers in particular. It differs from previous interprocess communication models in specifying that messages be added in tuple-structured form to the computation environment, where they exist as named, independent entities until some process chooses to receive them. Generative communication results in a number of distinguishing properties in the new language, Linda, that is built around it. Linda is fully distributed in space and distributed in time; it allows distributed sharing, continuation passing, and structured naming. We discuss these properties and their implications, then give a series of examples. Linda presents novel implementation problems that we discuss in Part II. We are particularly concerned with implementation of the dynamic global name space that the generative communication model requires.

2,584 citations


"LIME: A coordination model and midd..." refers background or methods in this paper

  • ...To achieve its goal, LIME borrows and adapts the coordination model made popular by Linda [Gelernter 1985]....

    [...]

  • ...To achieve its goal, LIME borrows and adapts the coordination model made popular by Linda [Gelernter 1985]....

    [...]

  • ...As ini­tially proposed in Linda [Gelernter 1985], this can be achieved by allowing independently developed agents to share information stored in a globally ac­cessible, persistent, content-addressable data structure, typically implemented as a centralized tuple space....

    [...]

  • ...As initially proposed in Linda [Gelernter 1985], this can be achieved by allowing independently developed agents to share information stored in a globally accessible, persistent, content-addressable data structure, typically implemented as a centralized tuple space....

    [...]

Book
01 Nov 1988
TL;DR: One that the authors will refer to break the boredom in reading is choosing parallel program design a foundation as the reading material.
Abstract: Introducing a new hobby for other people may inspire them to join with you. Reading, as one of mutual hobby, is considered as the very easy hobby to do. But, many people are not interested in this hobby. Why? Boring is the reason of why. However, this feel actually can deal with the book and time of you reading. Yeah, one that we will refer to break the boredom in reading is choosing parallel program design a foundation as the reading material.

1,941 citations

Journal ArticleDOI
TL;DR: This paper shows that disconnected operation is feasible, efficient and usable by describing its design and implementation in the Coda File System by showing that caching of data, now widely used for performance, can also be exploited to improve availability.
Abstract: Disconnected operation is a mode of operation that enables a client to continue accessing critical data during temporary failures of a shared data repository. An important, though not exclusive, application of disconnected operation is in supporting portable computers. In this paper, we show that disconnected operation is feasible, efficient and usable by describing its design and implementation in the Coda File System. The central idea behind our work is that caching of data, now widely used for performance, can also be exploited to improve availability.

1,214 citations


"LIME: A coordination model and midd..." refers background in this paper

  • ...Coda [Kistler and Satyanarayanan 1992] is one of the first systems to address disconnected operation, specifically supporting user-defined conflict resolution of file modifications....

    [...]

  • ...Coda [Kistler and Satyanarayanan 1992] is one of the .rst systems to address disconnected operation, speci.cally supporting user-de.ned con.ict resolution of .le modi.cations....

    [...]

Journal ArticleDOI
TL;DR: Gaia exports services to query, access, and use existing resources and context, and provides a framework to develop user-centric, resource-aware, multidevice, context-sensitive, and mobile applications.
Abstract: The paper discusses the Gaia metaoperating system which extends the reach of traditional operating systems to manage ubiquitous computing habitats and living spaces as integrated programmable environments. Gaia exports services to query, access, and use existing resources and context, and provides a framework to develop user-centric, resource-aware, multidevice, context-sensitive, and mobile applications.

1,178 citations


"LIME: A coordination model and midd..." refers background in this paper

  • ...For example, Gaia [Roman et al. 2002] provides a distributed operating system to support active spaces, offer­ing a range of services including access to location information, resource man­agement, task management, and event distribution....

    [...]