Realizing Multi-Dimensional Software Adaptation

This paper describes the use of programming language constructs to support run-time software adaptation. A prototype language, Adaptive Java, contains primitives that permit programs to modify their own operation in a principled manner. In case studies, Adaptive Java is being used to support adaptation for different crosscutting concerns associated with heterogeneous mobile computing and critical infrastructure protection. Examples are described in which Adaptive Java components support dynamic quality-ofservice on wireless networks, run-time energy management for handheld computers, and self-auditing of potential security threats in distributed environments.

[1]  Douglas C. Schmidt,et al.  The Design and Performance of a Pluggable Protocols Framework for Object Request Broker Middleware , 1999 .

[2]  Faisal Akkawi,et al.  Dynamic Weaving for Building Reconfigurable Software Systems , 2001 .

[3]  Fabio Kon,et al.  Monitoring, Security, and Dynamic Configuration with the dynamicTAO Reflective ORB , 2000, Middleware.

[4]  Lodewijk Bergmans,et al.  Composing crosscutting concerns using composition filters , 2001, CACM.

[5]  M. Frans Kaashoek,et al.  Mobile Computing with the Rover Toolkit , 1997, IEEE Trans. Computers.

[6]  Philip K. McKinley,et al.  Experiments in Composing Proxy Audio Services for Mobile Users , 2001, Middleware.

[7]  T. Karygiannis,et al.  MOBILE AGENTS IN INTRUSION DETECTION AND RESPONSE , .

[8]  Tobias Ritzau,et al.  Dynamic Code Update in JDRUMS , 2000 .

[9]  Gordon S. Blair,et al.  Developing Adaptive Applications: The MOST Experience , 1999, Integr. Comput. Aided Eng..

[10]  Vikram S. Adve,et al.  Language and Compiler Support for Adaptive Distributed Applications , 2001, LCTES/OM.

[11]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

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

[13]  Andrew T. Campbell,et al.  The mobiware toolkit: programmable support for adaptive mobile networking , 1998, IEEE Wirel. Commun..

[14]  Gerd Kortuem,et al.  When peer-to-peer comes face-to-face: collaborative peer-to-peer computing in mobile ad-hoc networks , 2001, Proceedings First International Conference on Peer-to-Peer Computing.

[15]  Pattie Maes,et al.  Concepts and experiments in computational reflection , 1987, OOPSLA '87.

[16]  Philip K. McKinley,et al.  VGuide: design and performance evaluation of a synchronous collaborative virtual reality application , 2000, 2000 IEEE International Conference on Multimedia and Expo. ICME2000. Proceedings. Latest Advances in the Fast Changing World of Multimedia (Cat. No.00TH8532).

[17]  Klara Nahrstedt,et al.  A control-based middleware framework for quality-of-service adaptations , 1999, IEEE J. Sel. Areas Commun..

[18]  Paul Dokas,et al.  ACTIVE MONITORING OF NETWORK SYSTEMS USING MOBILE AGENTS , 2002 .

[19]  Eyal de Lara,et al.  Reducing the Energy Usage of Office Applications , 2001, Middleware.

[20]  David Evans,et al.  Separation of Concerns for Security , 2000 .

[21]  Roy H. Campbell,et al.  Dynamic Agent-Based Security Architecture For Mobile Computers , 1998 .

[22]  Stephen S. Yau,et al.  Adaptive Middleware for Ubiquitous Computing Environments , 2002, DIPES.

[23]  Wouter Joosen,et al.  Aspects for Run-time Component Integration , 2000 .

[24]  Guido Appenzeller,et al.  Person-level Routing in the Mobile People Architecture , 1999, USENIX Symposium on Internet Technologies and Systems.

[25]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[26]  Pattie Maes,et al.  Hive: distributed agents for networking things , 2000, IEEE Concurr..

[27]  Philip K. McKinley,et al.  Design and performance evaluation of a Java-based multicast browser tool , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[28]  Philip K. McKinley,et al.  An experimental study of adaptive forward error correction for wireless collaborative computing , 2001, Proceedings 2001 Symposium on Applications and the Internet.

[29]  Burkhard Stiller,et al.  A flexible middleware for multimedia communication: design, implementation, and experience , 1999, IEEE J. Sel. Areas Commun..

[30]  D. Salber,et al.  The Context Toolkit : Aiding the Development of Context-Aware Applications , 2000 .

[31]  Brian Cantwell Smith,et al.  Reflection and semantics in LISP , 1984, POPL.

[32]  S. McCanne,et al.  Toward a common infrastructure for multimedia-networking middleware , 1997, International Workshop on Network and Operating System Support for Digital Audio and Video.

[33]  S. Gribble,et al.  Adapting to Network and Client Variation Using Active Proxies : Lessons and PerspectivesArmando , 1998 .

[34]  Luigi Rizzo,et al.  Effective erasure codes for reliable computer communication protocols , 1997, CCRV.

[35]  A. J. McAuley Reliable broadband communication using a burst erasure correcting code , 1990, SIGCOMM 1990.

[36]  R. DeVaul The Ektara Architecture : The Right Framework for Context-Aware Wearable and Ubiquitous Computing Applications , 2000 .

[37]  Mahadev Satyanarayanan,et al.  Experience with adaptive mobile applications in Odyssey , 1999, Mob. Networks Appl..