Analysis of inheritance anomaly in object-oriented concurrent programming languages
Research directions in concurrent object-oriented programming
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
A Bytecode Translator for Distributed Execution of ``Legacy'' Java Software
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
ECOOP '00 Proceedings of the Workshops, Panels, and Posters on Object-Oriented Technology
Advanced Separation of Concerns
ECOOP '01 Proceedings of the Workshops on Object-Oriented Technology
Jumping to the Meta Level: Behavioral Reflection Can Be Fast and Flexible
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
Reflection for Dynamic Adaptibility: A Linguistic Approach Using LEAD++
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
JAC: A Flexible Solution for Aspect-Oriented Programming in Java
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Reflex - Towards an Open Reflective Extension of Java
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Using Reflection to Support Dynamic Adaptation of System Software: A Case Study Driven Evaluation
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
OpenJava: A Class-Based Macro System for Java
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
Kava - using byte code rewriting to add behavioural reflection to Java
COOTS'01 Proceedings of the 6th conference on USENIX Conference on Object-Oriented Technologies and Systems - Volume 6
An aspect-oriented approach to dynamic adaptation
WOSS '02 Proceedings of the first workshop on Self-healing systems
Web cache prefetching as an aspect: towards a dynamic-weaving based solution
Proceedings of the 2nd international conference on Aspect-oriented software development
Altering Java Semantics via Bytecode Manipulation
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Language-independent aspect-oriented programming
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Partial behavioral reflection: spatial and temporal selection of reification
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Perimorph: Run-Time Composition and State Management for Adaptive Systems
ICDCSW '04 Proceedings of the 24th International Conference on Distributed Computing Systems Workshops - W7: EC (ICDCSW'04) - Volume 7
Enabling collaborative adaptation across legacy components
ARM '04 Proceedings of the 3rd workshop on Adaptive and reflective middleware
Supporting policy-driven behaviors in web services: experiences and issues
Proceedings of the 2nd international conference on Service oriented computing
Transparent shaping of existing software to support pervasive and autonomic computing
DEAS '05 Proceedings of the 2005 workshop on Design and evolution of autonomic application software
An approach to implementing dynamic adaptation in C++
DEAS '05 Proceedings of the 2005 workshop on Design and evolution of autonomic application software
Building component families to support adaptation
DEAS '05 Proceedings of the 2005 workshop on Design and evolution of autonomic application software
Component composition errors and update atomicity: static analysis: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice - Unanticipated Software Evolution
Develop once deploy anywhere achieving adaptivity with a runtime linker/loader framework
ARM '05 Proceedings of the 4th workshop on Reflective and adaptive middleware systems
SEM '05 Proceedings of the 5th international workshop on Software engineering and middleware
A mobile agent approach to dynamic architecture-based software adaptation
ACM SIGSOFT Software Engineering Notes
On dynamically-scoped crosscutting mechanisms
ACM SIGPLAN Notices
Towards Re-engineering Legacy Systems for Assured Dynamic Adaptation
MISE '07 Proceedings of the International Workshop on Modeling in Software Engineering
An Aspect-Oriented Adaptation Framework for Dynamic Component Evolution
Electronic Notes in Theoretical Computer Science (ENTCS)
Unanticipated partial behavioral reflection: Adapting applications at runtime
Computer Languages, Systems and Structures
Towards dynamic plug-in replacement in Eclipse plug-in development
Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange
Assurance of dynamic adaptation in distributed systems
Journal of Parallel and Distributed Computing
Flexible metaprogramming and AOP in Java
Science of Computer Programming
Zero-a blend of static typing and dynamic metaprogramming
Computer Languages, Systems and Structures
An application requirement-based framework for adaptive middleware
CEA'09 Proceedings of the 3rd WSEAS international conference on Computer engineering and applications
Dynamic update of Java applications—balancing change flexibility vs programming transparency
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on the 12th Conference on Software Maintenance and Reengineering (CSMR 2008)
A delegation-based approach for the unanticipated dynamic evolution of distributed objects
Journal of Systems and Software
Transparent autonomization in CORBA
Computer Networks: The International Journal of Computer and Telecommunications Networking
Uniform and safe metaclass composition
Computer Languages, Systems and Structures
Unanticipated partial behavioral reflection
ISC'06 Proceedings of the 14th international conference on Advances in smalltalk
Dynamic code evolution for Java
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
Applying dependability aspects on top of "aspectized" software layers
Proceedings of the tenth international conference on Aspect-oriented software development
Run-time phenomena in dynamic software updating: causes and effects
Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
Safe and atomic run-time code evolution for Java and its application to dynamic AOP
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Mobile service clouds: a self-managing infrastructure for autonomic mobile computing services
SelfMan'06 Proceedings of the Second IEEE international conference on Self-Managed Networks, Systems, and Services
An aspect-oriented approach for developing self-adaptive fractal components
SC'06 Proceedings of the 5th international conference on Software Composition
Using first-class contexts to realize dynamic software updates
Proceedings of the International Workshop on Smalltalk Technologies
Enabling safe dynamic component-based software adaptation
Architecting Dependable Systems III
Using temporal logic for dynamic reconfigurations of components
FACS'10 Proceedings of the 7th international conference on Formal Aspects of Component Software
Proceedings of the 34th International Conference on Software Engineering
Unrestricted and safe dynamic code evolution for Java
Science of Computer Programming
An Analysis of Language-Level Support for Self-Adaptive Software
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Hi-index | 0.00 |
The need to dynamically modify running applications arises in systems that must adapt to changes in their environment, in updating longrunning 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 deassociation) 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.