Modular Software Design with Crosscutting Interfaces

PDF Download Download Paper


Aspect-oriented programming languages such as AspectJ offer new mechanisms for decomposing systems into modules and composing modules into systems. Common ways of using these mechanisms couple aspects to complex, changeable implementation details, which can compromise modularity. The crosscut programming interface (XPI) can significantly improve modularity in the design of programs employing AspectJ-style AOP. The use of XPIs doesn't limit the use of existing AOP mechanisms or require new ones, and the approach appears to generalize to other languages.This article is part of a special issue on aspect-oriented programming.

Bib Info

  author = {William G. Griswold and Kevin Sullivan and Yuanyuan Song
            and Macneil Shonle and Nishit Tewari and Yuanfang Cai and
            Hridesh Rajan},
  title = {Modular Software Design with Crosscutting Interfaces},
  journal = {IEEE Softw.},
  volume = {23},
  number = {1},
  year = {2006},
  pages = {51--60},
  publisher = {IEEE Computer Society Press},
  address = {Los Alamitos, CA, USA},