|
ABSTRACT
Studies of Aspect-Oriented Programming (AOP) usually focus on a language in which a specific aspect extension is integrated with a base language. Languages specified in this manner have a fixed, non-extensible AOP functionality. This paper argues the need for AOP to support the integration and use of multiple domain-specific aspect extensions together. We study the more general case of integrating a base language with a set of third-party aspect extensions for that language. We present a general mixin-based semantic framework for implementing dynamic aspect extensions in such a way that multiple, independently developed aspect mechanisms can be subject to third-party composition and work collaboratively. Principles governing the design of a collaborative aspect mechanism are aspectual effect exposure and implementation hiding.
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
|
|
 |
2
|
Pavel Avgustinov , Aske Simon Christensen , Laurie Hendren , Sascha Kuzins , Jennifer Lhoták , Ondřej Lhoták , Oege de Moor , Damien Sereni , Ganesh Sittampalam , Julian Tibble, abc: an extensible AspectJ compiler, Proceedings of the 4th international conference on Aspect-oriented software development, p.87-98, March 14-18, 2005, Chicago, Illinois
[doi> 10.1145/1052898.1052906]
|
| |
3
|
D. Balzarotti and M. Monga. Using program slicing to analyze aspect-oriented composition. In C. Clifton, R. Lämmel, and G. T. Leavens, editors, AOSD 2004 Workshop on Foundations of Aspect-Oriented Languages, pages 25--29, Lancaster, UK, Mar. 23 2004. Technical Report 04-04, Department of Computer Science, Iowa State University Ames, Iowa, USA, Iowa State University.
|
 |
4
|
|
| |
5
|
J. Bonér. Invited talk: AspectWerkz 2 and the road to AspectJ 5. In Invited Industry Talks at AOSD 2005, Chicago, Illinois, USA, Mar. 14-18 2005. AOSD 2005.
|
 |
6
|
|
| |
7
|
L. Cardelli, editor. Proceedings of the 17th European Conference on Object-Oriented Programming, number 2743 in Lecture Notes in Computer Science, Darmstadt, Germany, July21-25 2003. ECOOP 2003, Springer Verlag.
|
| |
8
|
C. Clifton, G. T. Leavens, and M. Wand. Formal definition of the parameterized aspect calculus. Technical Report TR #03-12, Dept. of Computer Science, Iowa State University, Oct. 2003.
|
| |
9
|
C. Clifton, G. T. Leavens, and M. Wand. Parameterized aspect calculus: A core calculus for the direct study of aspect-oriented languages. Technical Report TR #03-13, Dept. of Computer Science, Iowa State University, Nov. 2003.
|
| |
10
|
A. Colyer. AspectJ. In Filman et al. {16}, pages 123--143.
|
| |
11
|
|
 |
12
|
|
| |
13
|
|
| |
14
|
M. Felleisen and D. Friedman. Control operators, the secd machine, and the lambda-calculus. Formal Descriptions of Programming Concepts III, pages 193--217, 1986.
|
| |
15
|
|
| |
16
|
R. E. Filman, T. Elrad, S. Clarke, and M. Aksit, editors. Aspect-Oriented Software Development. Addison-Wesley, Boston, 2005.
|
| |
17
|
|
| |
18
|
|
| |
19
|
|
| |
20
|
|
| |
21
|
J. Hugunin. The next steps for aspect-oriented programming languages (in Java). In NSF Workshop on New Visions for Software Design & Productivity: Research & Applications, Vanderbilt University, Nashville, TN, Dec. 13-14 2001. National Coordination Office for Information Technology Research and Development (NCO/IT R&D). White Paper.
|
| |
22
|
IBM's concern manipulation environment, 2004. http://www.research.ibm.com/cme.
|
| |
23
|
Proceedings of the 7th ACM SIGPLAN International Conference on Functional Programming, Uppsala, Sweden, Aug. 2003. ACM Press.
|
| |
24
|
R. Jagadeesan, A. Jeffrey, and J. Riely. An untyped calculus for aspect oriented programs. In Cardelli {7}, pages 54--73.
|
| |
25
|
Jboss aspect oriented programming, 2005. http://aop.jboss.org.
|
| |
26
|
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
|
| |
27
|
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Aksit and S. Matsuoka, editors, Proceedings of the 11th European Conference on Object-Oriented Programming, number 1241 in Lecture Notes in Computer Science, pages 220--242, Jyväskylä, Finland, June 9-13 1997. ECOOP'97, Springer Verlag.
|
 |
28
|
|
| |
29
|
R. Lämmel. Adding Superimposition To a Language Semantics (Extended Abstract). In C. Clifton and G. T. Leavens, editors, AOSD 2003 Workshop on Foundations of Aspect-Oriented Languages, Boston, Massachusetts, Mar. 18 2003. Technical Report, Department of Computer Science, Iowa State University Ames, Iowa, USA, Iowa State University.
|
| |
30
|
C. V. Lopes. D: A Language Framework for Distributed Programming. PhD thesis, Northeastern University, 1997.
|
 |
31
|
|
| |
32
|
|
| |
33
|
|
 |
34
|
Gail C. Murphy , Robert J. Walker , Elisa L. A. Baniassad , Martin P. Robillard , Albert Lai , Mik A. Kersten, Does aspect-oriented programming work?, Communications of the ACM, v.44 n.10, p.75-77, Oct. 2001
[doi> 10.1145/383845.383862]
|
| |
35
|
K. Ostermann. Implementing reusable collaborations with delegation layers. In D. H. Lorenz and V. C. Sreedhar, editors, Proceedings of the First OOPSLA Workshop on Language Mechanisms for Programming Software Components, pages 9--14, Tampa Bay, Florida, Oct. 15 2001. Technical Report NU-CCS-01-06, College of Computer Science, Northeastern University, Boston, MA 02115.
|
| |
36
|
|
 |
37
|
|
| |
38
|
|
 |
39
|
Macneil Shonle , Karl Lieberherr , Ankit Shah, XAspects: an extensible system for domain-specific aspect languages, Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 26-30, 2003, Anaheim, CA, USA
[doi> 10.1145/949344.949349]
|
 |
40
|
|
| |
41
|
|
| |
42
|
P. Tarr, editor. Proceedings of the 4th International Conference on Aspect-Oriented Software Development, Chicago, Illinois, USA, Mar. 14-18 2005. AOSD 2005, ACM Press.
|
| |
43
|
D. Thomas. Keynote: Transitioning AOSD from research park to main street. In Tarr {42}, page 2.
|
 |
44
|
Wim Vanderperren , Davy Suvée , Bart Verheecke , María Agustina Cibrán , Viviane Jonckers, Adaptive programming in JAsCo, Proceedings of the 4th international conference on Aspect-oriented software development, p.75-86, March 14-18, 2005, Chicago, Illinois
[doi> 10.1145/1052898.1052905]
|
 |
45
|
|
| |
46
|
|
 |
47
|
Robert J. Walker , Elisa L. A. Baniassad , Gail C. Murphy, An initial assessment of aspect-oriented programming, Proceedings of the 21st international conference on Software engineering, p.120-130, May 16-22, 1999, Los Angeles, California, United States
[doi> 10.1145/302405.302458]
|
| |
48
|
R. J. Walker, E. L. A. Baniassad, and G. C. Murphy. An initial assessment of aspect-oriented programming. In Filman et al. {16}, pages 531--556.
|
 |
49
|
|
 |
50
|
|
| |
51
|
J. C. Wichman. ComposeJ: The development of a preprocessor to facilitate composition filters in the Java language. Master's thesis, Department of Computer Science, University of Twente, Enschede, the Netherlands, Dec. 1999.
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.10
Design**
Additional Classification:
D.
Software
D.1
PROGRAMMING TECHNIQUES
D.1.5
Object-oriented Programming
D.2
SOFTWARE ENGINEERING
D.2.12
Interoperability
D.3
PROGRAMMING LANGUAGES
D.3.1
Formal Definitions and Theory
F.
Theory of Computation
F.3
LOGICS AND MEANINGS OF PROGRAMS
F.3.2
Semantics of Programming Languages
General Terms:
Design,
Languages,
Theory
Keywords:
AOP,
AOP semantics,
AOSD,
AspectJ,
AspectWerkz,
CBSE,
COOL,
aspect extension,
aspect mechanism,
aspectual effect,
collaboration,
domain-specific aspect language,
mixin,
reuse,
software components,
third-party composition
|