| Information hiding interfaces for aspect-oriented design |
| Full text |
Pdf
(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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 17, Downloads (12 Months): 105, Citation Count: 35
|
|
|
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
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William G. Griswold, An Overview of AspectJ, Proceedings of the 15th European Conference on Object-Oriented Programming, p.327-353, June 18-22, 2001
|
 |
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
|
Peri Tarr , Harold Ossher , William Harrison , Stanley M. Sutton, Jr., N degrees of separation: multi-dimensional separation of concerns, Proceedings of the 21st international conference on Software engineering, p.107-119, May 16-22, 1999, Los Angeles, California, United States
[doi> 10.1145/302405.302457]
|
CITED BY 36
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Otávio Augusto Lazzarini Lemos , Fabiano Cutigi Ferrari , Paulo Cesar Masiero , Cristina Videira Lopes, Testing aspect-oriented programming Pointcut Descriptors, Proceedings of the 2nd workshop on Testing aspect-oriented programs, p.33-38, July 20-20, 2006, Portland, Maine
|
|
|
|
|
|
Otávio Augusto Lazzarini Lemos , Daniel Carnio Junqueira , Marco Aurélio Graciotto Silva , Renata Pontin de Mattos Fortes , John Stamey, Using aspect-oriented PHP to implement crosscutting concerns in a collaborative web system, Proceedings of the 24th annual conference on Design of communication, October 18-20, 2006, Myrtle Beach, SC, USA
|
|
|
Roberta Coelho , Arndt von Staa, Using interfaces to support the testing of crosscutting features, Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 22-26, 2006, Portland, Oregon, USA
|
|
|
Thaís Batista , Christina Chavez , Alessandro Garcia , Awais Rashid , Cláudio Sant'Anna , Uirá Kulesza , Fernando Castor Filho, Reflections on architectural connection: seven issues on aspects and ADLs, Proceedings of the 2006 international workshop on Early aspects at ICSE, May 21-21, 2006, Shanghai, China
|
|
|
|
|
|
Naoyasu Ubayashi , Akihiro Sakai , Tetsuo Tamai, An interface mechanism for encapsulating weaving in class-based AOP, Proceedings of the 5th workshop on Engineering properties of languages and aspect technologies, p.8-es, March 12-16, 2007, Vancouver, British Columbia, Canada
|
|
|
|
|
|
|
|
|
Fernando Castor Filho , Alessandro Garcia , Cecília Mary F. Rubira, Error handling as an aspect, Proceedings of the 2nd workshop on Best practices in applying aspect-oriented software development, p.1-es, March 12-16, 2007, Vancouver, British Columbia, Canada
|
|
|
|
|
|
|
|
|
|
|
|
Gary T. Leavens , Curtis Clifton, Multiple concerns in aspect-oriented language design: a language engineering approach to balancing benefits, with examples, Proceedings of the 5th workshop on Engineering properties of languages and aspect technologies, p.6-es, March 12-16, 2007, Vancouver, British Columbia, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
William G. Griswold , Kevin Sullivan , Yuanyuan Song , Macneil Shonle , Nishit Tewari , Yuanfang Cai , Hridesh Rajan, Modular Software Design with Crosscutting Interfaces, IEEE Software, v.23 n.1, p.51-60, January 2006
|
|
|
|
|
|
|
|
|
|
|
|
Wanja Hofer , Daniel Lohmann , Wolfgang Schröder-Preikschat, Concern impact analysis in configurable system software: the AUTOSAR OS case, Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software, p.1-6, March 31-April 08, 2008, Brussels, Belgium
|
|
|
|
|
|
Dimitri Van Landuyt , Steven Op de beeck , Eddy Truyen , Wouter Joosen, Domain-driven discovery of stable abstractions for pointcut interfaces, Proceedings of the 8th ACM international conference on Aspect-oriented software development, March 02-06, 2009, Charlottesville, Virginia, USA
|
|
|
|
|
|
Guido Söldner , Rüdiger Kapitza , Sven Schober, AOCI: ontology-based pointcuts, Proceedings of the 8th workshop on Aspects, components, and patterns for infrastructure software, March 02-02, 2009, Charlottesville, Virginia, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|