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.
- Adwankar, S. 2001. Mobile CORBA. In Proceedings of the 3rd International Symposium on Distributed Objects and Applications (DOA), 52--63.]] Google Scholar
- Back, R. and Sere, K. 1990. Stepwise refinement of parallel algorithms. Sci. Comput. Program. 13, 2--3 (May), 133--180.]] Google Scholar
- Bakken, D. and Schlichting, R. 1995 Supporting fault-tolerant parallel programming in Linda. IEEE Trans. Parallel Distrib. Syst. 6, 3 (Mar.), 287--302.]] Google Scholar
- Blair, G., Davies, N., Friday, A., and Wade, S. 1997. Quality of service support in a mobile environment: An approach based on tuple spaces. In Proceedings of the 5th IFIP International Workshop on Quality of Service (IWQoS) (New York). 37--48.]]Google Scholar
- Boulkenafed, M. and Issarny, V. 2003. A middleware service for mobile ad hoc data sharing, enhancing data availability. In Proceedings of the 4th ACM/IFIP/USENIX International Middleware Conference (Rio de Janeiro, Brazil). 493--511.]]Google Scholar
- Busi, N. and Zavattaro, G. 2001. Some thoughts on transiently shared dataspaces. In Proceedings of the Workshop on Software Engineering and Mobility, Colocated with the 23rd International Conference on Software Engineering (Toronto, ON, Canada). 328--333.]]Google Scholar
- Cabri, G., Leonardi, L., and Zambonelli, F. 2000. Mars: A programmable coordination architecture for mobile agents. IEEE Internet Comput. 4, 4 (July--Aug.), 26--35.]] Google Scholar
- Carbunar, B., Valente, M., and Vitek, J. 2001. LIME revisited: Reverse engineering an agent communication model. In Proceedings of the 5th International Conference on Mobile Agents (Atlanta, GA), 54--69.]] Google Scholar
- Carriero, N., Gelernter, D., and Zuck, L. 1995. Bauhaus Linda. In Selected articles from the ECOOP'94 Workshop on Models and Languages for Coordination of Parallelism and Distribution, Object-Based Models and Languages for Concurrent Systems. Springer Verlag, London, UK, 66--76.]] Google Scholar
- Chandy, K. and Misra, J. 1988. Parallel Program Design: A Foundation. Addison-Wesley, Reading, MA.]] Google Scholar
- Chen, G. and Kotz, D. 2002. Solar: An open platform for context-aware mobile applications. In Proceedings of the 1st International Conference on Pervasive Computing (Zurich, Switzerland). 41--47.]]Google Scholar
- Cugola, G. and Picco, G. P. 2002. Peer-to-peer for collaborative applications. In Proceedings of the International Workshop on Mobile Teamwork Support, Colocated with the 22nd International Conference on Distributed Computing Systems (Vienna). 359--364.]] Google Scholar
- Curino, C., Giani, M., Giorgetta, M., Giusti, A., Murphy, A. L., and Picco, G. P. 2005. Mobile data collection in sensor networks: The TinyLIME middleware. Elsevier Pervasive Mobile Comput. J. 4, 1 (Dec.), 446--469.]] Google Scholar
- deLara, E., Wallach, D., and Zwaenepoel, W. 2001. Puppeteer: Component-Based adaptation for mobile computing. In Proceedings of the 3rd USENIX Symposium on Internet Technologies and Systems (USITS) (San Francisco, CA). 159--170.]] Google Scholar
- Dey, A., Salber, D., and Abowd, G. 2001. A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications. Human-Comput. Interaction (HCI) J.---Special Issue Context-Aware Comput. 16, 204, 97--166.]]Google Scholar
- Freeman, E., Hupfer, S., and Arnold, K. 1999. JavaSpaces Principles, Patterns, and Practice. Pearson Education, Prentice Hall, Upper Saddle River, NJ.]] Google Scholar
- Gelernter, D. 1985. Generative communication in Linda. ACM Comput. Surv. 7, 1 (Jan.), 80--112.]] Google Scholar
- Handorean, R. and Roman, G.-C. 2002. Service provision in ad hoc networks. In Proceedings of the 5th International Conference on Coordination Models and Languages, F. Arbab and C. Talcott, Eds. Lecture Notes in Computer Science, vol. 2315. Springer Verlag, York, UK, 207--219.]] Google Scholar
- Handorean, R. and Roman, G.-C. 2003. Secure sharing of tuple spaces in ad hoc settings. Electron. Notes Theoretical Comput. Sci. 85, 3, 1--20.]]Google Scholar
- Kistler, J. and Satyanarayanan, M. 1992. Disconnected operation in the coda file system. ACM Trans. Comput. Syst. 10, 1, 3--25.]] Google Scholar
- Lehman, T., Cozzi, A., Xiong, Y., Gottschalk, J., Vasudevan, V., Landis, S., Davis, P., Khavar, B., and Bowman, P. 2001. Hitting the distributed computing sweet spot with TSpaces. Comput. Netw. 35, 4 (Mar.), 457--472.]] Google Scholar
- Mascolo, C., Capra, L., Zachariadis, S., and Emmerich, W. 2002. MIDDLE: A data-sharing middleware for mobile computing. Kluwer Personal Wireless Commun. J. 21, 1 (Apr.), 77--103.]] Google Scholar
- McCann, P. and Roman, G.-C. 1998. Compositional programming abstractions for mobile computing. IEEE Trans. Softw. Eng. 24, 2, 97--110.]] Google Scholar
- McCann, P. and Roman, G.-C. 1999. Modeling Mobile IP in Mobile UNITY. ACM Trans. Softw. Eng. Methodol. 8, 2 (Apr.), 115--146.]] Google Scholar
- Meier, R. and Cahill, V. 2002. STEAM: Event-Based middleware for wireless ad hoc networks. In Proceedings of the 1st International Workshop on Distributed Event-Based Systems, 639--644.]] Google Scholar
- Murphy, A. and Picco, G. P. 2006. Using LIME to support replication for availability in mobile ad hoc networks. In Proceedings of the 8th International Conference on Coordination Models and Languages (COORDINATION) (Bologria, Italy). Lecture Notes in Computer Science, vol. 4038. Springer Verlag. To appear.]] Google Scholar
- Murphy, A. L., Picco, G. P., and Roman, G.-C. 2001. LIME: A middleware for physical and logical mobility. In Proceedings of the 21st International Conference on Distributed Computing Systems (ICDCS-21), F. Golshani et al., Eds. Phoenix (AZ), 524--533.]] Google Scholar
- Nicola, R. D., Ferrari, G., and Pugliese, R. 1998. KLAIM: A kernel language for agents interaction and mobility. IEEE Trans. Softw. Eng. 24, 5, 315--330.]] Google Scholar
- Omicini, A. and Zambonelli, F. 1999. Tuple centres for the coordination of Internet agents. In Proceedings of the ACM Symposium on Applied Computing (SAC) (San Antonio, TX). 183--190.]] Google Scholar
- Picco, G. P. 1998. μCODE: A lightweight and flexible mobile code toolkit. In Proceedings of the 2nd International Workshop on Mobile Agents. Lecture Notes in Computer Science, vol. 1477, Springer Verlag, New York, 160--171.]] Google Scholar
- Picco, G. P. and Buschini, M. 2002. Exploiting transiently shared tuple spaces for location transparent code mobility. In Proceedings of the 5th International Conference on Coordination Models and Languages, F. Arbab and C. Talcott, Eds. Lecture Notes in Computer Science, vol. 2315, Springer Verlag, York, UK, 258--273.]] Google Scholar
- Picco, G. P., Murphy, A. L., and Roman, G.-C. 1999. LIME: Linda meets mobility. In Proceedings of the 21st International Conference on Software Engineering, D. Garlan, Ed. 368--377.]] Google Scholar
- Picco, G. P., Murphy, A. L., and Roman, G.-C. 2002. On global virtual data structures. In Process Coordination and Ubiquitous Computing, D. Marinescu and C. Lee, Eds. CRC Press, Boca Raton, FL, 11--29.]]Google Scholar
- Picco, G. P., Roman, G.-C., and McCann, P. 2001. Reasoning about code mobility with Mobile Unity. ACM Trans. Softw. Eng. Methodol. 10, 3 (July), 338--395.]] Google Scholar
- Pinakis, J. 1993. Using Linda as the basis of an operating system microkernel. Ph.D. thesis, University of Western Australia.]]Google Scholar
- Popovici, A., Frei, A., and G.Alonso. 2003. A proactive middleware platform for mobile computing. In Proceedings of the 4th ACM/IFIP/USENIX International Middleware Conference (Rio de Janeiro, Brazil). 455--473.]]Google Scholar
- Roman, G.-C., Huang, Q., and Hazemi, A. 2001. Consistent group membership in ad hoc networks. In Proceedings of the 23rd International Conference on Software Engineering (Toronto, ON, Canada). 381--388.]] Google Scholar
- Roman, G.-C., McCann, P., and Plun, J. 1997. Mobile UNITY: Reasoning and specification in mobile computing. ACM Trans. Softw. Eng. Methodol. 6, 3, 250--282.]] Google Scholar
- Roman, G.-C., Murphy, A. L., and Picco, G. P. 2000. Coordination and mobility. In Coordination of Internet Agents: Models, Technologies, and Applications, A. Omicini et al., Eds. Springer Verlag, New York, 254--273.]] Google Scholar
- Roman, M., Hess, C., Cerqueira, R., Ranganathan, A., Campbell, R., and Nahrstedt, K. 2002. Gaia: A middleware infrastructure to enable active spaces. IEEE Pervasive Comput. 74--83.]] Google Scholar
- Rosenblum, D. and Wolf, A. L. 1997. A design framework for Internet-Scale event observation and notification. In Proceedings of the 6th European Software Engineering Conference Colocated with the 5th ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE) (Zunch, Switzerland). Lecture Notes in Computer Science, vol. 1301, Springer Verlag, New York. 344--360.]] Google Scholar
- Rowstron, A. 1998. WCL: A coordination language for geographically distributed agents. World Wide Web J. 1, 3, 167--179.]] Google Scholar
- Sousa, J. and Garlan, D. 2002. Aura: An architectural framework for user mobility in ubiquitous computing environments. In Proceedings of the 3rd Working IEEE/IFIP Conference on Software Architecture, J. Bosch et al., Eds. Kluwer Academic, Hingham, MA, 29--43.]] Google Scholar
- Terry, D., Theimer, M., Petersen, K., Demers, A., Spreitzer, M., and Hauser, C. 1995. Managing update conflicts in Bayou, a weakly connected replicated storage system. Oper. Syst. Rev. 29, 5, 172--183.]] Google Scholar
- Wade, S. 1999. An investigation into the use of the tuple space paradigm in mobile computing environments. Ph.D. thesis, Lancaster University, UK.]]Google Scholar
- Xu, A. and Liskov, B. 1989. A design for a fault-tolerant, distributed implementation of Linda. In Digest of Papers of the 19th International Symposium on Fault-Tolerant Computing, 199--206.]]Google Scholar
Index Terms
- LIME: A coordination model and middleware supporting mobility of hosts and agents
Recommendations
On Event-Based Middleware for Location-Aware Mobile Applications
As mobile applications become more widespread, programming paradigms and middleware architectures designed to support their development are becoming increasingly important. The event-based programming paradigm is a strong candidate for the development ...
MoCA: A Middleware for Developing Collaborative Applications for Mobile Users
The Mobile Collaboration Architecture is a middleware architecture for developing and deploying context-aware collaborative applications for mobile users. MoCA comprises client and server APIs, a set of core services for registering applications, the ...
Programming wireless sensor networks with the TeenyLIME middleware
MIDDLEWARE2007: Proceedings of the 8th ACM/IFIP/USENIX international conference on MiddlewareWireless 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 ...
Comments