ACM Home Page
Please provide us with feedback. Feedback
Information hiding interfaces for aspect-oriented design
Full text PdfPdf (217 KB)
Source Foundations of Software Engineering archive
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering table of contents
Lisbon, Portugal
SESSION: Patterns and aspects table of contents
Pages: 166 - 175  
Year of Publication: 2005
ISBN:1-59593-014-0
Also published in ...
Authors
Kevin Sullivan  University of Virginia, Charlottesville, VA
William G. Griswold  UC San Diego, La Jolla, CA
Yuanyuan Song  University of Virginia, Charlottesville, VA
Yuanfang Cai  University of Virginia, Charlottesville, VA
Macneil Shonle  UC San Diego, La Jolla, CA
Nishit Tewari  University of Virginia, Charlottesville, VA
Hridesh Rajan  University of Virginia, Charlottesville, VA
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 10,   Downloads (12 Months): 111,   Citation Count: 33
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1081706.1081734
What is a DOI?

ABSTRACT

The 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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
J. Aldrich. Open modules: Modular reasoning about advice. In 2005 European Conference on Object-Oriented Programming (ECOOP'05, to appear), July 2005.
 
2
AspectJ project. http://www.eclipse.org/aspectj/.
 
3
 
4
C. Constantinides and T. Skotiniotis. Reasoning about a classification of cross-cutting concerns in object-oriented systems. In P. Costanza, G. Kniesel, K. Mehner, E. Pulvermüller, and A. Speck, editors, Second Workshop on Aspect-Oriented Software Development of the German Information Society. Institut für Informatik III, Universität Bonn, Feb. 2002. Technical report IAI-TR-2002-1.
5
 
6
R. E. Filman and D. P. Friedman. Aspect-oriented programming is quantification and obliviousness. In Workshop on Advanced Separation of Concerns (OOPSLA 2000), Oct. 2000.
 
7
R. E. Filman and D. P. Friedman. Aspect-oriented programming is quantification and obliviousness. In Aspect-Oriented Software Development, pages 21--35. Addison-Wesley, 2005.
 
8
 
9
 
10
Hypercast project. http://www.cs.virginia.edu/ mngroup/hypercast/.
 
11
S. Katz. Diagnosis of harmful aspects using regression verification. In C. Clifton, R. Lämmel, and G. T. Leavens, editors, FOAL: Foundations Of Aspect-Oriented Languages, pages 1--6, Mar. 2004.
 
12
13
 
14
 
15
 
16
J. Liebeherr, M. Nahas, and W. Si. Application-layer multicasting with delaunay triangulation overlays. EEE Journal on Selected Areas in Communications, 20(8), oct 2002.
17
 
18
J. Marshall, D. Orleans, and K. J. Lieberherr. DJ: Dynamic structure-shy traversal in pure Java. Technical report, Northeastern University, May 1999.
19
20
21
 
22
 
23
D. V. Steward. The design structure system: A method for managing the design of complex systems. IEEE Transactions on Engineering Management, 28(3):71--84, 1981.
24
25

CITED BY  35

Collaborative Colleagues:
Kevin Sullivan: colleagues
William G. Griswold: colleagues
Yuanyuan Song: colleagues
Yuanfang Cai: colleagues
Macneil Shonle: colleagues
Nishit Tewari: colleagues
Hridesh Rajan: colleagues