Skip to main navigation Skip to search Skip to main content

AWESOME: An aspect co-weaving system for composing multiple aspect-oriented extensions

Research output: Contribution to journalArticlepeer-review

Abstract

Domain specific aspect-oriented language extensions offer unique capabilities to deal with a variety of crosscutting 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 defines its 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 Aspect J. However, the composition method is not exclusive to COOL and AspectJ - it can be applied to combine any comparable reactive aspect mechanisms.

Original languageEnglish
Pages (from-to)515-534
Number of pages20
JournalACM SIGPLAN Notices
Volume42
Issue number10
StatePublished - Oct 2007

Keywords

  • Aop
  • Aspect extension
  • Aspect mechanism
  • Aspect weaver
  • Composition
  • DSL
  • Framework
  • Pluggability

Fingerprint

Dive into the research topics of 'AWESOME: An aspect co-weaving system for composing multiple aspect-oriented extensions'. Together they form a unique fingerprint.

Cite this