Pluggable AOP - Designing aspect mechanisms for third-party composition

Sergei Kojarski, David H. Lorenz

Research output: Contribution to journalArticlepeer-review


Studies of Aspect-Oriented Programming (AOP) usually focus on a language in which a specific aspect extension is integrated with a base language. Languages specified in this manner have a fixed, non-extensible AOP functionality. This paper argues the need for AOP to support the integration and use of multiple domain-specific aspect extensions together. We study the more general case of integrating a base language with a set of third-party aspect extensions for that language. We present a general mixin-based semantic framework for implementing dynamic aspect extensions in such a way that multiple, independently developed aspect mechanisms can be subject to third-party composition and work collaboratively. Principles governing the design of a collaborative aspect mechanism are aspectual effect exposure and implementation hiding.

Original languageEnglish
Pages (from-to)247-263
Number of pages17
JournalACM SIGPLAN Notices
Issue number10
StatePublished - 2005
Externally publishedYes
EventOOPSLA'05 - 20th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications - San Diego, CA, United States
Duration: 16 Oct 200520 Oct 2005


  • AOP
  • AOSD
  • Aspect extension
  • Aspect mechanism
  • AspectJ
  • AspectWerkz
  • Aspectual effect
  • CBSE
  • COOL
  • Collaboration
  • Domain-specific aspect language
  • Granularity
  • Mixin
  • Reuse
  • Semantics
  • Software components
  • Third-party composition


Dive into the research topics of 'Pluggable AOP - Designing aspect mechanisms for third-party composition'. Together they form a unique fingerprint.

Cite this