skip to main content
article

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

Published:01 July 2006Publication History
Skip Abstract Section

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.

References

  1. Adwankar, S. 2001. Mobile CORBA. In Proceedings of the 3rd International Symposium on Distributed Objects and Applications (DOA), 52--63.]] Google ScholarGoogle Scholar
  2. Back, R. and Sere, K. 1990. Stepwise refinement of parallel algorithms. Sci. Comput. Program. 13, 2--3 (May), 133--180.]] Google ScholarGoogle Scholar
  3. Bakken, D. and Schlichting, R. 1995 Supporting fault-tolerant parallel programming in Linda. IEEE Trans. Parallel Distrib. Syst. 6, 3 (Mar.), 287--302.]] Google ScholarGoogle Scholar
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle Scholar
  9. 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 ScholarGoogle Scholar
  10. Chandy, K. and Misra, J. 1988. Parallel Program Design: A Foundation. Addison-Wesley, Reading, MA.]] Google ScholarGoogle Scholar
  11. 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 ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle Scholar
  15. 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 ScholarGoogle Scholar
  16. Freeman, E., Hupfer, S., and Arnold, K. 1999. JavaSpaces Principles, Patterns, and Practice. Pearson Education, Prentice Hall, Upper Saddle River, NJ.]] Google ScholarGoogle Scholar
  17. Gelernter, D. 1985. Generative communication in Linda. ACM Comput. Surv. 7, 1 (Jan.), 80--112.]] Google ScholarGoogle Scholar
  18. 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 ScholarGoogle Scholar
  19. 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 ScholarGoogle Scholar
  20. Kistler, J. and Satyanarayanan, M. 1992. Disconnected operation in the coda file system. ACM Trans. Comput. Syst. 10, 1, 3--25.]] Google ScholarGoogle Scholar
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle Scholar
  23. McCann, P. and Roman, G.-C. 1998. Compositional programming abstractions for mobile computing. IEEE Trans. Softw. Eng. 24, 2, 97--110.]] Google ScholarGoogle Scholar
  24. McCann, P. and Roman, G.-C. 1999. Modeling Mobile IP in Mobile UNITY. ACM Trans. Softw. Eng. Methodol. 8, 2 (Apr.), 115--146.]] Google ScholarGoogle Scholar
  25. 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 ScholarGoogle Scholar
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle Scholar
  28. 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 ScholarGoogle Scholar
  29. 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 ScholarGoogle Scholar
  30. 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 ScholarGoogle Scholar
  31. 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 ScholarGoogle Scholar
  32. 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 ScholarGoogle Scholar
  33. 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 ScholarGoogle Scholar
  34. 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 ScholarGoogle Scholar
  35. Pinakis, J. 1993. Using Linda as the basis of an operating system microkernel. Ph.D. thesis, University of Western Australia.]]Google ScholarGoogle Scholar
  36. 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 ScholarGoogle Scholar
  37. 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 ScholarGoogle Scholar
  38. 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 ScholarGoogle Scholar
  39. 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 ScholarGoogle Scholar
  40. 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 ScholarGoogle Scholar
  41. 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 ScholarGoogle Scholar
  42. Rowstron, A. 1998. WCL: A coordination language for geographically distributed agents. World Wide Web J. 1, 3, 167--179.]] Google ScholarGoogle Scholar
  43. 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 ScholarGoogle Scholar
  44. 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 ScholarGoogle Scholar
  45. Wade, S. 1999. An investigation into the use of the tuple space paradigm in mobile computing environments. Ph.D. thesis, Lancaster University, UK.]]Google ScholarGoogle Scholar
  46. 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 ScholarGoogle Scholar

Index Terms

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

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Transactions on Software Engineering and Methodology
            ACM Transactions on Software Engineering and Methodology  Volume 15, Issue 3
            July 2006
            102 pages
            ISSN:1049-331X
            EISSN:1557-7392
            DOI:10.1145/1151695
            Issue’s Table of Contents

            Copyright © 2006 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 July 2006
            Published in tosem Volume 15, Issue 3

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader