The research and educational activities described on these pages has been supported in part by the US National Science Foundation (NSF) under grants CNS-06-27354, CNS-07-09217, and CAREER-08-46059.
IndexQuick LinksGot a question?Got a question or comment? Contact us at (515) 294-6168 or hridesh@cs.iastate.edu. |
Information hiding interfaces for aspect-oriented designBy Kevin Sullivan and William G. Griswold and Yuanyuan Song and Yuanfang Cai and Macneil Shonle and Nishit Tewari and Hridesh RajanAbstractThe growing popularity of aspect-oriented languages, such as AspectJ, and of corresponding design approaches, makes it important to learn how best to modularize programs in which aspect-oriented composition mechanisms are used. We contribute an approach to information hiding modularity in programs that use quantified advising as a module composition mechanism. Our approach rests on a new kind of interface: one that abstracts a crosscutting behavior, decouples the design of code that advises such a behavior from the design of the code to be advised, and that can stipulate behavioral contracts. Our interfaces establish design rules that govern how specific points in program execution are exposed through a given join point model and how conforming code on either side should behave. In a case study of the HyperCast overlay network middleware system, including a real options analysis, we compare the widely cited oblivious design approach with our own, showing significant weaknesses in the former and benefits in the latter. Bibliographic Information
@inproceedings{XPI-ESEC-FSE-2005,
author = {Kevin Sullivan and William G. Griswold and Yuanyuan Song and
Yuanfang Cai and Macneil Shonle and Nishit Tewari and
Hridesh Rajan},
title = {Information hiding interfaces for aspect-oriented design},
booktitle = {ESEC/FSE-13: Proceedings of the 10th European software
engineering conference held jointly with 13th ACM SIGSOFT
international symposium on Foundations of software engineering},
year = {2005},
pages = {166--175},
location = {Lisbon, Portugal},
publisher = {ACM},
address = {New York, NY, USA},
}
Latest Version:[PDF]. |