Conceptual module querying for software reengineering
Proceedings of the 20th international conference on Software engineering
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Understanding aspects: extended abstract
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Aspect-oriented programming and modular reasoning
Proceedings of the 27th international conference on Software engineering
Information hiding interfaces for aspect-oriented design
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Using Pointcut Delta Analysis to Support Evolution of Aspect-Oriented Software
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Modular Software Design with Crosscutting Interfaces
IEEE Software
Co-evolving code and design with intensional views
Computer Languages, Systems and Structures
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Separation of concerns with procedures, annotations, advice and pointcuts
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Controlled evolution of adaptive programs
Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops
Hi-index | 0.00 |
Aspect-oriented programming languages select join points using pointcut constructs that depend on the syntactic structure of the base program. As the base program evolves, the pointcuts may no longer capture the intended set of join points. Also, pointcuts may select join points so that aspects can observe program behavior protected by encapsulation and this makes local reasoning difficult. This work presents an approach for defining pointcuts based on program views, which are the abstractions of the classes and methods of the base program. Pointcuts are defined based on these views and syntactic changes in the base program will not affect the pointcuts if the base program is consistent with the views. A view also includes constraints to limit the set of join points that pointcuts can select and to help maintain modularity.