Pattern language for the design of aspect languages and aspect composition frameworks

U. Zdun
2004 IEE Proceedings - Software  
Aspects avoid tangled solutions for cross-cutting design concerns. Unfortunately there are various reasons why it may be hard to use an aspect language or aspect composition framework as a solution, even though developers are faced with cross-cutting design concerns or tangled code structures. For instance, certain limitations of specific aspect composition frameworks might hinder the use of aspects. Or because of particular project requirements, such as constraints for the programming language
more » ... or limitations of performance and memory, developers are not able to use an existing aspect composition framework. In such cases, developers would benefit from better understanding existing aspect composition frameworks. This would help developers to customize existing techniques or implement (simple) aspect composition frameworks from scratch. For these purposes, we present a pattern language for tracing and manipulating software structures and dependencies, and then explain different, existing aspect composition frameworks as sequences through this pattern language. We also evaluate alternative designs, common design trade-offs, and design decisions for implementing aspect composition frameworks.
doi:10.1049/ip-sen:20040082 fatcat:75nuxr67xzappn46vkcekmvejy