This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
EgoSpaces: Facilitating Rapid Development of Context-Aware Mobile Applications
May 2006 (vol. 32 no. 5)
pp. 281-298
Gruia-Catalin Roman, IEEE Computer Society
Today's mobile applications require constant adaptation to their changing environments, or contexts. Technological advances have increased the pervasiveness of mobile computing devices such as laptops, handhelds, and embedded sensors. The sheer amount of context information available for adaptation places a heightened burden on application developers as they must manage and utilize vast amounts of data from diverse sources. Facilitating programming in this data-rich environment requires a middleware that provides context information to applications in an abstract form. In this paper, we demonstrate the feasibility of such a middleware that allows programmers to focus on high-level interactions among programs and to employ declarative abstract context specifications in settings that exhibit transient interactions with opportunistically encountered components. We also discuss the novel context-aware abstractions the middleware provides and the programming knowledge necessary to write applications using it. Finally, we provide examples demonstrating the infrastructure's ability to support differing tasks from a wide variety of application domains.

[1] G. Abowd, C. Atkeson, J. Hong, S. Long, R. Kooper, and M. Pinkerton, “Cyberguide: A Mobile Context-Aware Tour Guide,” ACM Wireless Networks, vol. 3, no. 5, pp. 421-433, Oct. 1997.
[2] R. Bagrodia, S. Bhattacharyya, F. Cheng, S. Gerding, R. Guy, Z. Ji, J. Lin, T. Phan, E. Skow, M. Varshney, and G. Zorpas, “iMASH: Interactive Mobile Application Session Handoff,” Proc. First Int'l Conf. Mobile Systems, Applications, and Services, pp. 259-272, May 2003.
[3] P. Bellavista, A. Corradi, R. Montanari, and C. Stefanelli, “Context-Aware Middleware for Resource Management in the Wireless Internet,” IEEE Trans. Software Eng., vol. 29, no. 12, pp. 1086-1099, Dec. 2003.
[4] P. Bellavista, A. Corradi, R. Montanari, and C. Stefanelli, “Dynamic Binding in Mobile Applications,” IEEE Internet Computing, vol. 7, no. 3, pp. 34-42, May/June 2003.
[5] R. Boyer and W. Griswold, “Fulcrum: An Open-Implementation Approach to Internet-Scale Context-Aware Publish/Subscribe,” Proc. 38th Hawaii Int'l Conf. System Sciences, 2005.
[6] J. Broch, D. Maltz, D. Johnson, Y.-C. Hu, and J. Jetcheva, “A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols,” Proc. ACM/IEEE MobiCom, pp. 85-97, Oct. 1998.
[7] G. Cabri, L. Leonardi, and F. Zambonelli, “MARS: A Programmable Coordination Architecture for Mobile Agents,” IEEE Internet Computing, vol. 4, no. 4, pp. 26-35, July-Aug. 2000.
[8] A. Carzaniga, D.S. Rosenblum, and A.L. Wolf, “Design and Evaluation of a Wide-Area Event Notification Service,” ACM Trans. Computer Systems, vol. 19, no. 3, pp. 332-383, Aug. 2001.
[9] A. Chan and S.-N. Chuang, “MobiPADS: A Reflective Middleware for Context-Aware Mobile Computing,” IEEE Trans. Software Eng., vol. 29, no. 12, pp. 1072-1085, Dec. 2003.
[10] G. Chen and D. Kotz, “Solar: An Open Platform for Context-Aware Mobile Applications,” Proc. First Int'l Conf. Pervasive Computing, pp. 41-47, Mar. 2002.
[11] K. Cheverst, N. Davies, K. Mitchell, A. Friday, and C. Efstratiou, “Experiences of Developing and Deploying A Context-Aware Tourist Guide: The GUIDE Project,” Proc. Sixth Int'l Conf. Mobile Computing and Networking, pp. 20-31, Aug. 2000.
[12] A. Cole, S. Duri, J. Munson, J. Murdock, and D. Wood, “Adaptive Service Binding Middleware to Support Mobility,” Proc. Int'l Conf. Distributed Computing Systems (ICDCS) Workshops, pp. 396-374, May 2003.
[13] P. Costa and G. Picco, “Semi-Probabilistic Content-Based Publish-Subscribe,” Proc. 25th Int'l Conf. Distributed Computing Systems, pp. 575-585, June 2005.
[14] G. Cugola, E. DiNitto, and A. Fuggetta, “The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS,” IEEE Trans. Software Eng., vol. 27, no. 9, pp. 827-850, Sept. 2001.
[15] C.-L. Fok, G.-C. Roman, and G. Hackmann, “A Lightweight Coordination Middleware for Mobile Computing,” Proc. Sixth Int'l Conf. Coordination Models and Languages, Feb. 2004.
[16] D. Gelernter, “Generative Communication in Linda,” ACM Trans. Programming Languages and Systems, vol. 7, no. 1, pp. 80-112, Jan. 1985.
[17] P. Grace, G. Blair, and S. Samuel, “A Reflective Framework for Discovery And Interaction in Heterogeneous Mobile Environments,” ACM SIGMOBILE Mobile Computing and Comm. Rev., vol. 9, no. 1, pp. 2-14, Jan. 2005.
[18] G. Hackmann, C. Julien, J. Payton, and G.-C. Roman, “Supporting Generalized Context Interactions,” Software Eng. and Middleware: Fourth Int'l Workshop, Revised Selected Papers, T. Gschwind and C. Mascolo, eds., pp. 91-106, Mar. 2005.
[19] R. Handorean, R. Sen, G. Hackmann, and G.-C. Roman, “Context-Aware Session Management for Services in Ad Hoc Networks,” Proc. Int'l Conf. Services Computing, pp. 113-120, July 2005.
[20] A. Harter, A. Hopper, P. Steggles, A. Ward, and P. Webster, “The Anatomy of a Context-Aware Application,” Wireless Networks, vol. 8, nos. 2/3, pp. 187-197, Mar.-May 2002.
[21] J. Hong and J. Landay, “An Infrastructure Approach to Context-Aware Computing,” Human Computer Interaction, vol. 16, nos. 2-4, 2001.
[22] Q. Huang, C. Julien, and G.-C. Roman, “Relying on Safe Distance to Achieve Strong Partitionable Group Membership in Ad Hoc Networks,” IEEE Trans. Mobile Computing, vol. 3, no. 2, pp. 192-205, Apr.-June 2004.
[23] C. Julien, “Supporting Context-Aware Application Development in Ad Hoc Mobile Networks,” PhD thesis, Washington Univ. in Saint Louis, 2004.
[24] C. Julien, J. Payton, and G.-C. Roman, “Adaptive Access Control in Coordination-Based Mobile Agent Systems,” Software Eng. for Large-Scale Multi-Agent Systems III, pp. 254-271, Feb. 2005.
[25] C. Julien and G.-C. Roman, “Egocentric Context-Aware Programming in Ad Hoc Mobile Environments,” Proc. 10th Int'l Symp. Foundations of Software Eng., pp. 21-30, Nov. 2002.
[26] C. Julien and G.-C. Roman, “Active Coordination in Ad Hoc Networks,” Proc. Sixth Int'l Conf. Coordination Models and Languages, pp. 199-215, Feb. 2004.
[27] C. Julien and G.-C. Roman, “Supporting Context-Aware Interaction in Dynamic Multi-Agent Systems (Invited Paper),” Environments for Multiagent Systems, pp. 254-271, Feb. 2005.
[28] M. Klein and B. Konig-Ries, “Combining Query and Preference: An Approach to Fully Automize Dynamic Service Binding,” Proc. Int'l Conf. Web Services, pp. 788-791, July 2004.
[29] M. Loebbers, D. Willkomm, and A. Koepke, The Mobility Framework for OMNeT++ Web Page, http:/mobility-fw.source forge.net, 2006.
[30] M. Mamei, F. Zambonelli, and L. Leonardi, “Tuples on the Air: A Middleware for Context-Aware Computing in Dynamic Networks,” Proc. Int'l Conf. Distributed Computing Systems (ICDCS) Workshops, pp. 342-348, 2003.
[31] R. Meier and V. Cahill, “STEAM: Event-Based Middleware for Wireless Ad Hoc Networks,” Proc. 22nd Int'l Conf. Distributed Computing Workshops, pp. 639-644, July 2002.
[32] A.L. Murphy and G.P. Picco, “Using Coordination Middleware for Location-Aware Computing: A Lime Case Study,” Proc. Sixth Int'l Conf. Coordination Models and Languages, pp. 263-278, Feb. 2004.
[33] A.L. Murphy, G.P. Picco, and G.-C. Roman, “Lime: A Middleware for Physical and Logical Mobility,” Proc. 21st Int'l Conf. Distributed Computing Systems, pp. 524-533, Apr. 2001.
[34] A. Omicini and F. Zambonelli, “TuCSoN: A Coordination Model for Mobile Information Agents,” Proc. First Int'l Workshop Innovative Internet Information Systems, pp. 177-187, June 1998.
[35] J. Pascoe, “Adding Generic Contextual Capabilities to Wearable Computers,” Proc. Second Int'l Symp. Wearable Computers, pp. 92-99, Oct. 1998.
[36] J. Payton, C. Julien, and G.-C. Roman, “Context-Sensitive Data Structures Supporting Software Development in Ad Hoc Networks,” Proc. Third Int'l Workshop Software Eng. for Large Scale Multi-Agent Systems, pp. 42-48, 2004.
[37] J. Payton, C. Simon, and G.-C. Roman, “A Query-Centered Perspective on Context-Awareness in Mobile Ad Hoc Networks,” Technical Report WUCSE-05-8, Dept. of Computer Science and Eng., Washington Univ. in Saint Louis, 2005.
[38] B. Rhodes, “The Wearable Remembrance Agent: A System for Augmented Memory,” Proc. First Int'l Symp. Wearable Computers, pp. 123-128, Oct. 1997.
[39] G.-C. Roman, C. Julien, and Q. Huang, “Network Abstractions for Context-Aware Mobile Computing,” Proc. 24th Int'l Conf. Software Eng., pp. 363-373, May 2002.
[40] G.-C. Roman, C. Julien, and A.L. Murphy, “A Declarative Approach to Agent-Centered Context-Aware Computing in Ad Hoc Wireless Environments,” Software Eng. for Large-Scale Multi-Agent Systems, pp. 94-109, 2003.
[41] M. Roman, C. Hess, R. Cerqueira, A. Ranganat, R. Campbell, and K. Nahrstedt, “A Middleware Infrastructure for Active Spaces,” IEEE Pervasive Computing, vol. 1, no. 4, pp. 74-83, Oct.-Dec. 2002.
[42] U. Saif and J. Paluska, “Service-Oriented Network Sockets,” Proc. First Int'l Conf. Mobile Systems, Applications, and Services, pp. 159-172, May 2003.
[43] D. Salber, A. Dey, and G. Abowd, “The Context Toolkit: Aiding the Development of Context-Enabled Applications,” Proc. Conf. Human Factors in Computer Systems, pp. 434-441, May 1999.
[44] A. Vargas, OMNeT++ Web Page, http:/www.omnetpp.org, 2006.
[45] P. Verissimo, V. Cahill, A. Casimiro, K. Cheverst, A. Friday, and J. Kaiser, “CORTEX: Towards Supporting Autonomous and Cooperating Sentient Entities,” Proc. European Wireless, Feb. 2002.
[46] R. Want, A. Hopper, V. Falco, and J. Gibbons, “The Active Badge Location System,” ACM Trans. Information Systems, vol. 10, no. 1, pp. 91-102, Jan. 1992.
[47] R. Want, B. Schilit, N. Adams, R. Gold, K. Petersen, D. Goldberg, J. Ellis, and M. Weiser, “An Overview of the PARCTab Ubiquitous Computing Environment,” IEEE Personal Comm., vol. 2, no. 6, pp. 28-33, Dec. 1995.
[48] E. Yoneki and J. Bacon, “An Adaptive Approach to Content-Based Subscription in Mobile Ad Hoc Networks,” Proc. First Int'l Workshop Mobile and P2P Computing, pp. 92-97, 2004.
[49] S. Zachariadis, C. Mascolo, and W. Emmerich, “SATIN: A Component Model for Mobile Self-Organisation,” Proc. Int'l Symp. Distributed Objects and Applications, Oct. 2004.
[50] H. Zhou and S. Singh, “Content Based Multicast (CBM) in Ad Hoc Networks,” Proc. First ACM Int'l Symp. Mobile Ad Hoc Networking and Computing, pp. 51-60, 2000.

Index Terms:
Context-awareness, middleware, mobile ad hoc networks, programming abstraction.
Citation:
Christine Julien, Gruia-Catalin Roman, "EgoSpaces: Facilitating Rapid Development of Context-Aware Mobile Applications," IEEE Transactions on Software Engineering, vol. 32, no. 5, pp. 281-298, May 2006, doi:10.1109/TSE.2006.47
Usage of this product signifies your acceptance of the Terms of Use.