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