This Article 
 Bibliographic References 
 Add to: 
An Architecture for Exporting Environment Awareness to Mobile Computing Applications
May 1998 (vol. 24 no. 5)
pp. 391-400

Abstract—In mobile computing, factors such as add-on hardware components and heterogeneous networks result in an environment of changing resource constraints. An application in such a constrained environment must adapt to these changes so that available resources are properly utilized. We propose an architecture for exporting awareness of the mobile computing environment to an application. In this architecture, a change in the environment is modeled as an asynchronous event that includes information related to the change. Events are typed and are organized as an extensible class hierarchy so that they can be handled at different levels of abstraction according to the requirement of each application. We also compare two approaches to structure an adaptive application. One addresses the problem of incorporating adaptiveness into legacy applications, while the other considers the design of an application with adaptiveness in mind.

[1] Personal Computer Card Interface Association, PCMCIA PC Card Standard, Release 2.1, July 1993.
[2] WaveLAN: The Wireless LAN of Choice, Mar. 1996. 1997/ technical-reports/1994/abstract-29.htmlhttp:/
[3] CDPD Forum, Apr. 1996. http:/
[4] J. Ioannidis, D. Duchamp, and G. Maguire, "IP-Based Protocols for Mobile Internetworking," Proc. ACM SIGCOMM Symp. Comm. Architecture and Protocols, pp. 235-245,Zurich, 1991.
[5] C. Perkins, "RFC 2002: IP Mobility Support," Oct. 1996.
[6] J. Ousterhout, "Why Threads are a Bad Idea (for Most Purposes)," Proc. USENIX Ann. Technical Conf.,San Diego, Calif., Jan. 1996.
[7] A. Birrell, G. Nelson, S. Owicki, and E. Wobber, "Network Objects," Proc. 14th ACM Symp. Operating Systems Principles,Asheville, N. Carolina, Dec. 1993.
[8] G. Welling and M. Ott, "Structuring Remote Object Systems for Mobile Hosts with Intermittent Connectivity," Proc. 18th Int'l Conf. Distributed Computing Systems,Amsterdam: The Netherlands, May 1998.
[9] M. Ott, G. Michelitsch, D. Reininger, and G. Welling, "An Architecture for Adaptive QoS and Its Application to Multimedia Systems Design," special issue of COMPUTER COMMUNICATIONS on Building Quality of Service into Distributed Systems, 1998.
[10] B. Stroustrup,The C++ Programming Language. Reading MA: Addison-Wesley, 1991, 2nd ed.
[11] R.P. Draves, "A Revised IPC Interface," Proc. USENIX Mach Workshop,Burlington, Ver., Oct. 1990.
[12] K. Arnold and J. Gosling, The Java Programming Language, Addison-Wesley, Reading, Mass., 1996.
[13] A. Fox, S.D. Gribble, E.A. Brewer, and E. Amir, "Adapting to Network and Client Variability via On-Demand Dynamic Distillation," ASPLOS-VII Proc., Seventh Int'l Conf. Architectural Support for Programming Languages and Operating Systems,Cambridge, Mass., pp. 160-173, Oct. 1996.
[14] M.J. Bach, The Design of the UNIX Operating System. Prentice Hall, 1990.
[15] C.A. Thekkath and H.M. Levy, "Hardware and Software Support for Efficient Exception Handling," Proc. Sixth Int'l Conf. Architectural Support for Programming Languages and Operating Systems,San Jose, Calif., Oct. 1994.
[16] M. Bender, A. Davidson, C. Dong, S. Drach, A. Glenning, K. Jacob, J. Jia, J. Kempf, N. Periakaruppan, G. Snow., and B. Wong, "Unix for Nomads: Making Unix Support Mobile Computing," Proc. USENIX Symp. Mobile and Location-Independent Computing,Cambridge, Mass., Aug. 1993.
[17] D. Clark, "The Structuring of Systems with Upcalls," Proc. 10th ACM Symp. Operating Systems Principles,Orcas Island, Washington, Dec. 1985.
[18] D.C. Schmidt, "Reactor: An Object Behavioral Pattern for Concurrent Event Demultiplexing and Event Handler Dispatching," Pattern Languages of Program Design, J.O. Coplien and D.C. Schmidt, eds., ch. 29. Addison-Wesley, 1995.
[19] Object Management Group Inc., "CORBA Services: Common Object Services Specification," Mar. 1997.
[20] T. Watson, "Application Design for Wireless Computing," IEEE Workshop on Mobile Computing, Santa Cruz, Calif., Dec. 1994.
[21] B.N. Schilit, M.M. Theimer, and B.B. Welch, "Customizing Mobile Applications, Proc. USENIX Symp. Mobile and Location-Independent Computing,Cambridge, Mass., Aug. 1993.
[22] B. Schilit, N. Adams, and R. Want, "Context-Aware Mobile Applications," Proc. IEEE Workshop Mobile Computng,Santa Cruz, Calif., Dec. 1994.
[23] B.D. Noble, M. Price, and M. Satyanarayanan, "A Programming Interface for Application-Aware Adaptation in Mobile Computing," Proc. USENIX Symp. Mobile and Location-Independent Computing, USENIX, Berkeley, Calif., 1995.
[24] G. Montenegro and S. Drach, "System Isolation and Network Fast-Fail Capability in Solaris," Proc. Second USENIX Symp. Mobile and Location-Independent Computing,Ann Arbor, Mich., Apr. 1995.
[25] G. Welling and B.R. Badrinath, "Mobjects: Programming Support for Environment Directed Appication Policies in Mobile Computting," Proc. ECOOP'95 Workshop Mobility and Replication,Aarhus, Denmark, Aug. 1995.

Index Terms:
Mobile computing, resource constraints, environment awareness, adaptive application architectures, event delivery framework.
Girish Welling, B.r. Badrinath, "An Architecture for Exporting Environment Awareness to Mobile Computing Applications," IEEE Transactions on Software Engineering, vol. 24, no. 5, pp. 391-400, May 1998, doi:10.1109/32.685262
Usage of this product signifies your acceptance of the Terms of Use.