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 Transactions on Software Engineering and Methodology (TOSEM). 19, 1 (Aug. 2009).

BibTeX Reference

@article{rajan2009unifying,
  author = {Hridesh Rajan and Kevin J. Sullivan},
  title = {Unifying Aspect- and Object-Oriented Design},
  journal = {ACM Transactions on Software Engineering and Methodology (TOSEM)},
  volume = {19},
  number = {1},
  article = {3},
  month = {August},
  year = {2009},
  publisher = {ACM},
  address = {New York, NY, USA},
  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.
  }
}