Modular Software Design with Crosscutting Interfaces
By: William G. Griswold, Kevin Sullivan, Yuanyuan Song, Macneil Shonle, Nishit Tewari, Yuanfang Cai, and Hridesh Rajan
Download PaperAbstract
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.
ACM Reference
Griswold, W.G. et al. 2006. Modular Software Design with Crosscutting Interfaces. IEEE Softw. 23, 1 (2006), 51–60.
BibTeX Reference
@article{griswold2006modular,
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},
abstract = {
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.
}
}