Results 1 - 10
of
101
Software Engineering for Mobility: A Roadmap
- The Future of Software Engineering
, 2000
"... The term distributed computing conjures the image of a fixed network structure whose nodes support the execution of processes that communicate with each other via messages traveling along links. Peer-to-peer communication is feasible but client-server relationships dominate. More recently, servers h ..."
Abstract
-
Cited by 53 (4 self)
- Add to MetaCart
The term distributed computing conjures the image of a fixed network structure whose nodes support the execution of processes that communicate with each other via messages traveling along links. Peer-to-peer communication is feasible but client-server relationships dominate. More recently, servers have been augmented with brokerage capabilities to facilitate discovery of available services. Stability is the ideal mode of operation; changes are relatively slow; even in the case of failure, nodes and links are expected eventually to come back up. By contrast, mobility represents a total meltdown of all the stability assumptions (explicit or implicit) associated with distributed computing. The network structure is no longer fixed, nodes may come and go, processes may move among nodes, and even programs (the code executed by processes) may evolve and change structure. The challenges and opportunities associated with this computational melee form the main subject of this paper. We seek to sort out this chaotic form of computing by focusing our attention on the formulation of a simple framework for viewing mobility, on precise definition of terms, and on research issues mobility poses for the software engineering community. 1
TINYLIME: Bridging Mobile and Sensor Networks through Middleware
, 2005
"... In the rapidly developing field of sensor networks, bridging the gap between the applications and the hardware presents a major challenge. Although middleware is one solution, it must be specialized to the qualities of sensor networks, especially energy consumption. The work presented here provides ..."
Abstract
-
Cited by 32 (5 self)
- Add to MetaCart
In the rapidly developing field of sensor networks, bridging the gap between the applications and the hardware presents a major challenge. Although middleware is one solution, it must be specialized to the qualities of sensor networks, especially energy consumption. The work presented here provides two contributions: a new operational setting for sensor networks and a middleware for easing software development in this setting. The operational setting we target removes the usual assumption of a central collection point for sensor data. Instead the sensors are sparsely distributed in an environment, not necessarily able to communicate among themselves, and a set of clients move through space accessing the data of sensors nearby, yielding a system which naturally provides context relevant information to client applications. We further assume the clients are wirelessly networked and share locally accessed data. This scenario is relevant, for example, when relief workers access the information in their zone and share this information with other workers. Our second contribution, the middleware itself, is an extension of LIME, our earlier work on middleware for mobile ad hoc networks. The model makes sensor data available through a tuple space interface, providing the illusion of shared memory between applications and sensors. This paper presents both the model and the implementation of our middleware incorporated with the Crossbow Mote sensor platform.
LIME: A coordination model and middleware supporting mobility of hosts and agents
- ACM Transactions on Software Engineering and Methodology
, 2006
"... 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 ..."
Abstract
-
Cited by 31 (6 self)
- Add to MetaCart
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. In this paper, 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.
Resource Access and Mobility Control with Dynamic Privileges Acquisition
- In Proc. of ICALP’03, volume 2719 of LNCS
, 2003
"... Klaim is a process language that permits programming distributed systems made up of several mobile components interacting through multiple distributed tuple spaces. ..."
Abstract
-
Cited by 26 (10 self)
- Add to MetaCart
Klaim is a process language that permits programming distributed systems made up of several mobile components interacting through multiple distributed tuple spaces.
Coordination and mobility
- Coordination of Internet Agents: Models, Technologies, and Applications
, 1999
"... Mobility entails the study of systems in which components change location, in a voluntary or involuntary manner, and move across a space that may be defined to be either logical or physical. Coordination is concerned with what happens when two or more components come in contact with each other. In t ..."
Abstract
-
Cited by 24 (8 self)
- Add to MetaCart
Mobility entails the study of systems in which components change location, in a voluntary or involuntary manner, and move across a space that may be defined to be either logical or physical. Coordination is concerned with what happens when two or more components come in contact with each other. In this paper we put forth a working definition of coordination, we construct arguments that demonstrate that coordination is central to understanding mobility, we explore the intellectual richness of the notion of coordination, and we consider the practical implications of coordination-centered system design strategies. We develop these ideas in two steps. First, we analyze the different dimensions that govern the definition of a coordination strategy for mobility: the choice of an appropriate unit of mobility, the treatment of space and its implications on the way we think about mobility, and the manner in which contextual changes induced by component movement are perceived and managed. Then, we explore mechanisms that enable us to model and reason about coordination of mobile components, and to make it available to software developers in the form of middleware. Three very different models of mobility (Mobile Unity, CodeWeave, and Lime) are used as principal sources for illustration purposes.
Service Provision in Ad Hoc Networks
, 2001
"... The client-server model continues to dominate distributed computing with increasingly more flexible variants being deployed. Many are centered on the notion of discovering services at run time and on allowing any system component to act as a service provider. The result is a growing reliance on the ..."
Abstract
-
Cited by 24 (10 self)
- Add to MetaCart
The client-server model continues to dominate distributed computing with increasingly more flexible variants being deployed. Many are centered on the notion of discovering services at run time and on allowing any system component to act as a service provider. The result is a growing reliance on the service registration and discovery mechanisms. This paper addresses the issue of facilitating such service provision capabilities in the presence of (logical and physical) mobility exhibited by applications executing over ad hoc networks. The solution being discussed entails a new kind of service model, which we were able to build as an adaptation layer on top of an existing coordination middleware, LIME (Linda in a Mobile Environment). 1.
An XML based Middleware for Peer-to-Peer Computing
- 1ST IEEE INTERNATIONAL CONFERENCE OF PEER-TO-PEER COMPUTING, LINKOPING (S
"... An increasing number of distributed applications will be written for mobile hosts, such as laptop computers, third generation mobile phones, personal digital assistants, watches and the like, with focus on peer-to-peer collaboration. Application engineers have to deal with a new set of problems caus ..."
Abstract
-
Cited by 23 (4 self)
- Add to MetaCart
An increasing number of distributed applications will be written for mobile hosts, such as laptop computers, third generation mobile phones, personal digital assistants, watches and the like, with focus on peer-to-peer collaboration. Application engineers have to deal with a new set of problems caused by mobility, such as low bandwidth, context changes or loss of connectivity. During disconnection, independently from each others, users will typically update local replicas of shared data, possibly generated by peers. The resulting inconsistent replicas need to be reconciled upon re-connection. To support building mobile applications that use both replication and reconciliation over ad-hoc networks, we have designed XMIDDLE, a peer-topeer middleware that targets mobile computing settings. In this paper we describe XMIDDLE and give a flavour of how reflection capabilities are used to allow application engineers to influence replication and reconciliation techniques. XMIDDLE enables the transparent sharing of XML documents across heterogeneous mobile peers, allowing on-line and off-line access to data.
LIME: A Coordination Middleware Supporting Mobility of Hosts and Agents
, 2003
"... LIME (Linda in a Mobile Environment) is a 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 Lind ..."
Abstract
-
Cited by 22 (7 self)
- Add to MetaCart
LIME (Linda in a Mobile Environment) is a 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 promise to facilitate rapid and dependable development of mobile applications. In this paper, 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.
Extending Tuplespaces for Coordination in Interactive Workspaces
- Journal of Systems and Software
, 2004
"... Abstract. The current interest in programming models and software infrastructures to support ubiquitous and environmental computing is heightened by the falling cost of hardware and the ubiquity of local-area wireless networking technologies. Interactive workspaces are technologically augmented team ..."
Abstract
-
Cited by 21 (1 self)
- Add to MetaCart
Abstract. The current interest in programming models and software infrastructures to support ubiquitous and environmental computing is heightened by the falling cost of hardware and the ubiquity of local-area wireless networking technologies. Interactive workspaces are technologically augmented team-project rooms that represent a specific sub-domain of ubiquitous computing. We argue both from related work and from our own experience with a prototype that the tuplespace model of communication forms the best basis for a coordination infrastructure for such workspaces. This paper presents the usage and characteristics expected of interactive workspaces, from which we derive a set of key system properties for any coordination infrastructure in an interactive workspace. We show that the design aspects of tuplespaces, augmented with some new extensions, yield a system model, which we call the Event Heap, that satisfies all of the desired properties. We also briefly discuss why other coordination models fall short of the desired properties, and describe our experience using our implementation of the Event Heap model. The paper focuses on a justification of the use of tuplespaces in interactive workspaces, and does not provide a detailed discussion of the Event Heap implementation or our more general experience with interactive workspaces, each of which is treated in detail elsewhere. 1
sTuples: Semantic Tuple Spaces
- In Proceedings of the 1st International Conference on Mobile and Ubiquitous Systems (MobiQuitous’04
, 2004
"... Tuple Spaces offer a coordination infrastructure for communication between autonomous entities by providing a logically shared memory along with data persistence, transactional security as well as temporal and spatial decoupling – properties that make it desirable in distributed systems for e-commer ..."
Abstract
-
Cited by 21 (1 self)
- Add to MetaCart
Tuple Spaces offer a coordination infrastructure for communication between autonomous entities by providing a logically shared memory along with data persistence, transactional security as well as temporal and spatial decoupling – properties that make it desirable in distributed systems for e-commerce and pervasive computing applications. In most Tuple Space implementations, tuples are retrieved by employing type-value matching of ordered tuples, object-based polymorphic matching, or XML-style pattern matching. In a heterogeneous environment, this can pose several limitations. This paper discusses the architecture and implementation of a prototype semantic infrastructure, which uses Semantic Web technologies to represent and retrieve tuples from a Tuple Space. Semantic Tuple Spaces (sTuples) overcomes limitations of the JavaSpaces Tuple Space implementation, by making use of a web ontology language and RACER, a description-logic reasoning engine. The sTuples infrastructure extends and integrates with Vigil, a secure framework for communication and access of intelligent services in a pervasive environment. Specialized agents, such as the tuple-recommender agent, task-execution agent and publish-subscribe agent, which have a better understanding of the environment, reside on the Tuple Space and play an important role in providing user-centric reasoning. 1.

