Unifying Aspect- and Object-Oriented Design

By: Hridesh Rajan and Kevin J. Sullivan

PDF Download Download Paper

Abstract

The contribution of this work is the design and evaluation of a programming language model that unifies aspects and classes, as they appear in AspectJ-like languages. We show that our model preserves the capabilities of AspectJ-like languages, while improving the conceptual integrity of the language model and the compositionality of modules. The improvement in conceptual integrity is manifested by the reduction of specialized constructs in favor of uniform orthogonal constructs. The enhancement in compositionality is demonstrated by better modularization of integration and higher-order crosscutting concerns.

ACM Reference

Rajan, H. and Sullivan, K.J. 2009. Unifying Aspect- and Object-Oriented Design. ACM Trans. Softw. Eng. Methodol. 19, 1 (2009), 3:1–3:41. https://doi.org/10.1145/1555392.1555396.

BibTeX Reference

@article{RajanSullivan2009,
  author = {Hridesh Rajan and Kevin J. Sullivan},
  title = {Unifying Aspect- and Object-Oriented Design},
  journal = {{ACM} Trans. Softw. Eng. Methodol.},
  volume = {19},
  number = {1},
  pages = {3:1--3:41},
  year = {2009},
  doi = {10.1145/1555392.1555396},
  abstract = {
  The contribution of this work is the design and evaluation of a programming
  language model that unifies aspects and classes, as they appear in
  AspectJ-like languages. We show that our model preserves the capabilities of
  AspectJ-like languages, while improving the conceptual integrity of the
  language model and the compositionality of modules. The improvement in
  conceptual integrity is manifested by the reduction of specialized constructs
  in favor of uniform orthogonal constructs. The enhancement in compositionality
  is demonstrated by better modularization of integration and higher-order
  crosscutting concerns.},
}