Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
An initial assessment of aspect-oriented programming
Proceedings of the 21st international conference on Software engineering
IEEE Transactions on Software Engineering
Hyper/J: multi-dimensional separation of concerns for Java
Proceedings of the 22nd international conference on Software engineering
Does aspect-oriented programming work?
Communications of the ACM
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Assessing Aspect-Oriented Programming: Preliminary Results
ECOOP '98 Workshop ion on Object-Oriented Technology
Is Domain Knowledge an Aspect?
Proceedings of the Workshop on Object-Oriented Technology
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
XAspects: an extensible system for domain-specific aspect languages
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
What are the key issues for commercial AOP use: how does AspectWerkz address them?
Proceedings of the 3rd international conference on Aspect-oriented software development
Proceedings of the 3rd international conference on Aspect-oriented software development
A semantics for advice and dynamic join points in aspect-oriented programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
abc: an extensible AspectJ compiler
Proceedings of the 4th international conference on Aspect-oriented software development
Pluggable AOP: designing aspect mechanisms for third-party composition
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Detecting and resolving ambiguities caused by inter-dependent introductions
Proceedings of the 5th international conference on Aspect-oriented software development
Modeling aspect mechanisms: a top-down approach
Proceedings of the 28th international conference on Software engineering
Transactions on Aspect-Oriented Software Development I (Lecture Notes in Computer Science)
Transactions on Aspect-Oriented Software Development I (Lecture Notes in Computer Science)
Identifying Feature Interactions in Multi-Language Aspect-Oriented Frameworks
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Aspect-oriented software development
Aspect-oriented software development
A compilation and optimization model for aspect-oriented programs
CC'03 Proceedings of the 12th international conference on Compiler construction
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
A versatile kernel for multi-language AOP
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Transactions on Aspect-Oriented Software Development I
abc: an extensible AspectJ compiler
Transactions on Aspect-Oriented Software Development I
Modularity first: a case for mixing AOP and attribute grammars
Proceedings of the 7th international conference on Aspect-oriented software development
DLS '08 Proceedings of the 2008 symposium on Dynamic languages
Application of Reflection in Model Transformation Languages
ICMT '08 Proceedings of the 1st international conference on Theory and Practice of Model Transformations
Prototyping and Composing Aspect Languages
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
The art of the meta-aspect protocol
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Untangling crosscutting concerns in domain-specific languages with domain-specific join points
Proceedings of the 4th workshop on Domain-specific aspect languages
An architecture for composing embedded domain-specific languages
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Aspects, dependencies and interactions: report on the workshop ADI at ECOOP 2007
ECOOP'07 Proceedings of the 2007 conference on Object-oriented technology
Toward debugging programs written in multiple domain specific aspect languages
Proceedings of the sixth annual workshop on Domain-specific aspect languages
Language-oriented modularity through awesome DSALs: summary of invited talk
Proceedings of the seventh workshop on Domain-Specific Aspect Languages
SPECTACKLE: toward a specification-based DSAL composition process
Proceedings of the seventh workshop on Domain-Specific Aspect Languages
A debug interface for debugging multiple domain specific aspect languages
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
Transactions on Aspect-Oriented Software Development IX
Hi-index | 0.00 |
Domain specific aspect-oriented language extensions offer unique capabilities to deal with a variety of cross cutting concerns. Ideally, one should be able to use several of these extensions together in a single program. Unfortunately, each extension generally implements its own specialized weaver and the different weavers are incompatible. Even if the weavers were compatible, combining them is a difficult problem to solve in general, because each extension definesits own language with new semantics. In this paper we present a practical composition framework, named Awesome, for constructing a multi-extension weaver by plugging together independently developed aspect mechanisms. The framework has a component-based and aspect-oriented architecture that facilitates the development and integration of aspect weavers. To be scalable, the framework provides a default resolution of feature interactions in the composition. To be general, the framework provides means for customizing the composition behavior. Furthermore, to be practically useful, there is no framework-associated overhead on the runtime performance of compiled aspect programs. To illustrate the Awesome framework concretely, we demonstrate the construction of a weaver for a multi-extension AOP language that combines Cool and AspectJ. However, the composition method is not exclusive to Cool and AspectJ-it can be applied to combine any comparable reactive aspect mechanisms.