Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Large-scale AOSD for middleware
Proceedings of the 3rd international conference on Aspect-oriented software development
AspectJ in Action: Practical Aspect-Oriented Programming
AspectJ in Action: Practical Aspect-Oriented Programming
Refactoring to Patterns
Migrating Interface Implementation to Aspects
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Working Effectively with Legacy Code
Working Effectively with Legacy Code
Towards a catalog of aspect-oriented refactorings
Proceedings of the 4th international conference on Aspect-oriented software development
Refactoring a Java Code Base to AspectJ: An Illustrative Example
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
On the Use of Clone Detection for Identifying Crosscutting Concern Code
IEEE Transactions on Software Engineering
Bridging the gap between aspect mining and refactoring
Proceedings of the 3rd workshop on Linking aspect technology and evolution
Eclipse aspectj: aspect-oriented programming with aspectj and the eclipse aspectj development tools
Eclipse aspectj: aspect-oriented programming with aspectj and the eclipse aspectj development tools
Measuring and characterizing crosscutting in aspect-based programs: basic metrics and case studies
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Refactoring middleware with aspects
IEEE Transactions on Parallel and Distributed Systems
Hi-index | 0.00 |
Aspect-Oriented Programming is an emerging programming paradigm providing novel constructs that eliminate code scattering and tangling by modularizing crosscutting concerns in their own aspect modules. Many current aspect-oriented languages are backwards compatible extensions to existing popular languages, which opens the way to aspectize systems written in those languages. This paper contributes with the beginnings of a pattern language for refactoring existing systems into aspect-oriented versions of those systems. The pattern language covers the early assessment and decision stages: identifying latent aspects in existing systems, knowing when it is feasible to refactor to aspects and assessment of the necessary prerequisites for the refactoring process.