|
ABSTRACT
Domain specific aspect-oriented language extensions offer unique capabilities to deal with a variety of cross cutting concerns. Ideally, one should be able to use several of these extensions together in a single program. Unfortunately, each extension generally implements its own specialized weaver and the different weavers are incompatible. Even if the weavers were compatible, combining them is a difficult problem to solve in general, because each extension definesits own language with new semantics. In this paper we present a practical composition framework, named A<scp>wesome</scp>, for constructing a multi-extension weaver by plugging together independently developed aspect mechanisms. The framework has a component-based and aspect-oriented architecture that facilitates the development and integration of aspect weavers. To be scalable, the framework provides a default resolution of feature interactions in the composition. To be general, the framework provides means for customizing the composition behavior. Furthermore, to be practically useful, there is no framework-associated overhead on the runtime performance of compiled aspect programs. To illustrate the A<scp>wesome</scp> framework concretely, we demonstrate the construction of a weaver for a multi-extension AOP language that combines Cool and AspectJ. However, the composition method is not exclusive to Cool and AspectJ-it can be applied to combine any comparable reactive aspect mechanisms.
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 Proceedings of the 19th European Conference on Object-Oriented Programming (ECOOP'05), number 3586 in Lecture Notes in Computer Science, pages 144--168, Glasgow, UK, July 25--29 2005. Springer Verlag.
|
| |
2
|
Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD'04), Mancaster, UK, Mar. 17--21 2004. ACM Press.
|
| |
3
|
I. Aracic, V. Gasiunas, M. Mezini, and K. Ostermann. An overview of CaesarJ. In Rashid and Aksit {35}, pages 135--173.
|
 |
4
|
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]
|
| |
5
|
P. Avgustinov, A. S. Christensen, L. J. Hendren, S. Kuzins, J. Lhoták, O. Lhoták, O. de Moor, D. Sereni, G. Sittampalam, and J. Tibble. abc: an extensible AspectJ compiler. In Rashid and Aksit {35}, pages 293--334.
|
 |
6
|
|
| |
7
|
C. Clifton and G. T. Leavens. Obliviousness, modular reasoning, and the behavioral subtyping analogy. In Proceedings of the AOSD'03 Workshop on Software-engineering Properties of Languages for Aspect Technologies (SPLAT'03), Boston, Massachusetts, Mar. 18 2003. AOSD'03, ACM Press.
|
| |
8
|
K. De Volder, J. Brichau, K. Mens, and T. D'Hondt. Logic meta-programming, a framework for domain-specific aspect programming languages. Unpublished, 2001.
|
| |
9
|
|
| |
10
|
Proceedings of the 17th European Conference on Object-Oriented Programming (ECOOP'03), number 2743 in Lecture Notes in Computer Science, Darmstadt, Germany, July 21--25 2003. Springer Verlag.
|
| |
11
|
Proceedings of the AOSD'05 Workshop on Foundations of Aspect-Oriented Languages (FAOL'05), Chicago, IL, USA, Mar. 14 2005. ACM Press.
|
| |
12
|
R. E. Filman, T. Elrad, S. Clarke, and M. Akşit, editors. Aspect-Oriented Software Development. Addison-Wesley, Boston, 2005.
|
| |
13
|
R. E. Filman and D. P. Friedman. Aspect-Oriented programming is quantification and obliviousness. In P. Tarr, L. Bergmans, M. Griss, and H. Ossher, editors, Proceedings of the OOPSLA 2000 Workshop on Advanced Separation of Concerns. Department of Computer Science, University of Twente, The Netherlands, 2000.
|
| |
14
|
R. E. Filman and D. P. Friedman. Aspect-Oriented programming is quantification and obliviousness. In Filman et al. {12}, pages 21--35.
|
| |
15
|
|
 |
16
|
|
 |
17
|
|
| |
18
|
Proceedings of the 21st International Conference on Software Engineering (ICSE'99), Los Angeles, California, May 1999. IEEE Computer Society.
|
| |
19
|
R. Jagadeesan, A. Jeffrey, and J. Riely. An untyped calculus for aspect oriented programs. In ECOOP'03 {10}, pages 54--73.
|
| |
20
|
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
|
| |
21
|
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-Oriented programming. In Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP'97), number 1241 in Lecture Notes in Computer Science, pages 220--242, Jyväskylä, Finland, June 9--13 1997. Springer Verlag.
|
 |
22
|
Sergei Kojarski , David H. Lorenz, Pluggable AOP: designing aspect mechanisms for third-party composition, Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
 |
23
|
|
| |
24
|
|
| |
25
|
K. Lieberherr and D. H. Lorenz. Coupling Aspect-Oriented and Adaptive Programming. In Filman et al. {12}, pages 145--164.
|
| |
26
|
|
| |
27
|
C. V. Lopes. D: A Language Framework for Distributed Programming. PhD thesis, Northeastern University, 1997
|
| |
28
|
D. H. Lorenz and S. Kojarski. Understanding aspect interactions, co-advising and foreign advising. In Proceedings of ECOOP'07 Second International Workshop on Aspects, Dependencies and Interactions, pages 23--28, Berlin, Germany, July 30 2007.
|
| |
29
|
H. Masuhara and G. Kiczales. Modeling crosscutting in Aspect-Oriented mechanisms. In ECOOP'03 {10}, pages 2--28.
|
| |
30
|
H. Masuhara, G. Kiczales, and C. Dutchyn. Compilation semantics of Aspect-Oriented programs. In FAOL'05 {11}, pages 17--26.
|
| |
31
|
H. Masuhara, G. Kiczales, and C. Dutchyn. A compilation and optimization model for Aspect-Oriented programs. In Compiler Construction, number 2622 in Lecture Notes in Computer Science, pages 46--60, 2003.
|
| |
32
|
|
 |
33
|
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]
|
 |
34
|
|
| |
35
|
|
 |
36
|
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]
|
| |
37
|
É. Tanter and J. Noyé. A versatile kernel for multi-language AOP. In Proceedings of the 4th International Conference on Generative Programming and Component Engineering (GPCE'05), number 3676 in Lecture Notes in Computer Science, pages 173--188, Tallin, Estonia, Sept. 29--Oct. 1 2005. Springer Verlag.
|
 |
38
|
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]
|
 |
39
|
|
| |
40
|
|
 |
41
|
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]
|
 |
42
|
|
|