Modular Aspect-Oriented Design with XPIs

被引:12
作者
Sullivan, Kevin [1 ]
Griswold, William G. [2 ]
Rajan, Hridesh [3 ]
Song, Yuanyuan [1 ]
Cai, Yuanfang [4 ]
Shonle, Macneil [2 ]
Tewari, Nishit [1 ]
机构
[1] Univ Virginia, Charlottesville, VA 22903 USA
[2] Univ Calif San Diego, La Jolla, CA 92093 USA
[3] Iowa State Univ, Ames, IA 50010 USA
[4] Drexel Univ, Philadelphia, PA 19104 USA
关键词
Aspect-oriented programming; design rules; options; LANGUAGE;
D O I
10.1145/1824760.1824762
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The emergence of aspect-oriented programming (AOP) languages has provided software designers with new mechanisms and strategies for decomposing programs into modules and composing modules into systems. What we do not yet fully understand is how best to use such mechanisms consistent with common modularization objectives such as the comprehensibility of programming code, its parallel development, dependability, and ease of change. The main contribution of this work is a new form of information-hiding interface for AOP that we call the crosscut programming interface, or XPI. XPIs abstract crosscutting behaviors and make these abstractions explicit. XPIs can be used, albeit with limited enforcement of interface rules, with existing AOP languages, such as AspectJ. To evaluate our notion of XPIs, we have applied our XPI-based design methodology to a medium-sized network overlay application called Hypercast. A qualitative and quantitative analysis of existing AO design methods and XPI-based design method shows that our approach produces improvements in program comprehensibility, in opportunities for parallel development, and in the ease when code can be developed and changed.
引用
收藏
页数:42
相关论文
共 62 条
  • [1] Aldrich J, 2005, LECT NOTES COMPUT SC, V3586, P144
  • [2] ALTMAN R, 2005, EUR INT WORKSH ASP S
  • [3] Baldwin C. Y., 2000, DESIGN RULES POWER M, VVol. 1, DOI DOI 10.7551/MITPRESS/2366.001.0001
  • [4] Beck K., 1999, Extreme Programming Explained: Embrace Change
  • [5] Boner J., 2004, PROC AOSD 2004, P5
  • [6] CLIFTON C, 2003, SPLAT SOFTWARE ENG P
  • [7] Clifton C., 2002, P FDN ASP OR LANG FO, P33
  • [8] Clifton C, 2007, LECT NOTES COMPUT SC, V4609, P451
  • [9] AOP will see widespread adoption
    Colyer, A
    Harrop, B
    Johnson, R
    Vasseur, A
    [J]. IEEE SOFTWARE, 2006, 23 (01) : 72 - +
  • [10] Colyer A., 2004, P 3 INT C ASPECT ORI, P56, DOI DOI 10.1145/976270.976279