JAsCo: an aspect-oriented approach tailored for component based software development
Proceedings of the 2nd international conference on Aspect-oriented software development
A case for statically executable advice: checking the law of demeter with AspectJ
Proceedings of the 2nd international conference on Aspect-oriented software development
Conquering aspects with Caesar
Proceedings of the 2nd international conference on Aspect-oriented software development
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
AspectS - Aspect-Oriented Programming with Squeak
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
Eos: instance-level aspects for integrated system design
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the 3rd international conference on Aspect-oriented software development
abc: an extensible AspectJ compiler
Proceedings of the 4th international conference on Aspect-oriented software development
Expressive scoping of dynamically-deployed aspects
Proceedings of the 7th international conference on Aspect-oriented software development
Expressive scoping of distributed aspects
Proceedings of the 8th ACM international conference on Aspect-oriented software development
A compilation and optimization model for aspect-oriented programs
CC'03 Proceedings of the 12th international conference on Compiler construction
A unified model of aspect-instantiation policies
Proceedings of the 3rd international workshop on Free composition
Hi-index | 0.00 |
An aspect encapsulates not only crosscutting behavior, but also crosscutting state. When aspects are stateful, there is a need to specify and control their instantiation. Unfortunately, aspect instantiation is a hard-wired feature in ASPECTJ. This feature cannot be customized by the application programmer. Specifically, there are six pre-defined instantiation models to choose from, each designated by a keyword: issingleton, perthis, pertarget, percflow, percflowbelow, pertypewithin. In this work, we introduce a new language mechanism and keyword 'perscope' that lets third-parties define custom aspect instantiation models. This new keyword replaces the six existing keywords in ASPECTJ, and may eliminate the need for introducing future ones.