Lecture Notes in Computer Science, 2006, Volume 2374/2006, 29-53, DOI: 10.1007/3-540-47993-7_9

Supporting Unanticipated Dynamic Adaptation of Application Behaviour

Barry Redmond and Vinny Cahill

View Related Documents

Abstract

The need to dynamically modify running applications arises in systems that must adapt to changes in their environment, in updating long-running systems that cannot be halted and restarted, and in monitoring and debugging systems without the need to recompile and restart them. Relatively few architectures have explored the meaning and possibilities of applying behavioural modifications to already running applications without static preparation of the application. The desirable characteristics of an architecture for dynamic modification include support for non-invasive association of new behaviour with the application, support for modular reusable components encapsulating the new behaviour and support for dynamic association (and de-association) of new behaviour with any class or object of the application. The Iguana/J architecture explores unanticipated dynamic modification, and demonstrates how these characteristics may be supported in an interpreted language without extending the language, without a preprocessor, and without requiring the source code of the application. This paper describes the Iguana/J programmer’s model and how it addresses some acknowledged issues in dynamic adaptation and separation of concerns, describes how Iguana/J is implemented, and gives examples of applying Iguana/J.

Fulltext Preview

Image of the first page of the fulltext document