Runtime aspect weaving through metaprogramming
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
JAsCo: an aspect-oriented approach tailored for component based software development
Proceedings of the 2nd international conference on Aspect-oriented software development
Just-in-time aspects: efficient dynamic weaving for Java
Proceedings of the 2nd international conference on Aspect-oriented software development
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
A Formal Definition of Crosscuts
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Dynamic Wrappers: Handling the Composition Issue with JAC
TOOLS '01 Proceedings of the 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems (TOOLS39)
Proceedings of the 3rd international conference on Aspect-oriented software development
Morphing aspects: incompletely woven aspects and continuous weaving
Proceedings of the 3rd international conference on Aspect-oriented software development
Virtual machine support for dynamic join points
Proceedings of the 3rd international conference on Aspect-oriented software development
Composition, reuse and interaction analysis of stateful aspects
Proceedings of the 3rd international conference on Aspect-oriented software development
JAC: an aspect-based distributed dynamic framework
Software—Practice & Experience
abc: an extensible AspectJ compiler
Proceedings of the 4th international conference on Aspect-oriented software development
Head First Design Patterns
ACM SIGPLAN Object Oriented Programming Systems and Applications Conference
Semantics of static pointcuts in aspectJ
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Awesome: an aspect co-weaving system for composing multiple aspect-oriented extensions
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Proceedings of the 7th international conference on Aspect-oriented software development
7th Annual Aspect-Oriented Software Development Conference
Proceedings of the 7th international conference on Aspect-oriented software development
7th Annual Aspect-Oriented Software Development Conference
Expressive scoping of dynamically-deployed aspects
Proceedings of the 7th international conference on Aspect-oriented software development
A DSL to declare aspect execution order
Proceedings of the 2008 AOSD workshop on Domain-specific aspect languages
Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies
Aspects of composition in the reflex AOP kernel
SC'06 Proceedings of the 5th international conference on Software Composition
SC'06 Proceedings of the 5th international conference on Software Composition
Modeling for dynamic aspect-oriented development
C3S2E '09 Proceedings of the 2nd Canadian Conference on Computer Science and Software Engineering
Detecting unanticipated aspect interferences at runtime with compositional intentions
Proceedings of the Workshop on AOP and Meta-Data for Software Evolution
Composing aspects with aspects
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Composition of dynamic analysis aspects
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
A framework for flexible and dependable service-oriented embedded systems
Architecting dependable systems VII
A platform-independent UML profile for aspect-oriented development
Proceedings of The Fourth International C* Conference on Computer Science and Software Engineering
PHANtom: an aspect language for pharo smalltalk
Proceedings of the 11th annual international conference on Aspect-oriented Software Development Companion
PHANtom: a modern aspect language for Pharo Smalltalk
Proceedings of the International Workshop on Smalltalk Technologies
Hi-index | 0.00 |
This paper considers the difficulties linked to the static scheduling strategy of AspectJ and shows how to overcome them by turning to a more dynamic strategy, making it possible to order, cancel, and deploy aspects at runtime. We show that this more dynamic strategy can be obtained by a minor update of the semantics of AspectJ introducing the notion of current aspect group, that is, the aspects scheduled for the current join point. We show how to reflect this change at the language level and present a prototype of the resulting AspectJ variant, Dynamic AspectJ. This prototype reuses AspectJ to perform a first step of static weaving, which we complement by a second step of dynamic weaving, implemented through a thin interpretation layer. This can be seen as an interesting example of reconciling interpreters and compilers, the dynamic and the static world.