Abstract
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 language | English |
---|---|
Pages (from-to) | 247-263 |
Number of pages | 17 |
Journal | ACM SIGPLAN Notices |
Volume | 40 |
Issue number | 10 |
DOIs | |
State | Published - 2005 |
Externally published | Yes |
Event | OOPSLA'05 - 20th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications - San Diego, CA, United States Duration: 16 Oct 2005 → 20 Oct 2005 |
Keywords
- 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