An Object-Oriented Approach for Context-Aware Applications

In this paper we present a novel, object-oriented approach for designing and building applications that provide context-aware services. Our approach emphasizes a clear separation of the relevant concerns in the application (base behavior, context-sensitive properties, services, sensing technologies, etc.) to improve modularity and thus simplify evolution. We first motivate the problem with a simple scenario of a virtual campus; we next present a new context model, which emphasizes on behavior instead of data. We next show the main components of our architecture and a simple approach to achieve a clear separation of concerns. We analyze the most important (sub) models in which we decompose a context-aware application and explain the use of dependency mechanisms to achieve loosely coupled relationships between objects. We also show how to take advantage of a reflective environment like Smalltalk to adapt the application's behavior dynamically and to provide transparent object distribution. We finally compare our work with others and discuss some further work we are pursuing.

[1]  Gul A. Agha,et al.  Concurrent object-oriented programming , 1993, CACM.

[3]  Kristof Van Laerhoven,et al.  How to build smart appliances? , 2001, IEEE Personal Communications.

[4]  Maarten van Steen,et al.  Dynamic Adaptation of Data Distribution Policies in a Shared Data Space System , 2004, CoopIS/DOA/ODBASE.

[5]  Mahadev Satyanarayanan,et al.  Agile application-aware adaptation for mobility , 1997, SOSP.

[6]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[7]  Ralph E. Johnson,et al.  Patterns Generate Architectures , 1994, ECOOP.

[8]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[9]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[10]  Gregory D. Abowd,et al.  Software engineering issues for ubiquitous computing , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[11]  Gregory D. Abowd,et al.  The context toolkit: aiding the development of context-enabled applications , 1999, CHI '99.

[12]  David Garlan,et al.  Aura: an Architectural Framework for User Mobility in Ubiquitous Computing Environments , 2002, WICSA.

[13]  Andy Hopper,et al.  The Anatomy of a Context-Aware Application , 1999, Wirel. Networks.

[14]  Gregory D. Abowd,et al.  Providing architectural support for building context-aware applications , 2000 .

[15]  Ulf Leonhardt,et al.  Supporting location-awareness in open distributed systems , 1998 .

[16]  Paul Dourish,et al.  What we talk about when we talk about context , 2004, Personal and Ubiquitous Computing.

[17]  Werner Retschitzegger,et al.  Context-awareness on mobile devices - the hydrogen approach , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.