e, 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 with which code can be developed and changed. Categories and Subject Descriptors: D.2.10 [Software Engineering]: Design General Terms: Design Additional Key Words and Phrases: Aspect-oriented programming, design rules, options
Kevin J. Sullivan, William G. Griswold, Hridesh Ra