|
ABSTRACT
The contribution of this work is the design and evaluation of a programming language model that unifies aspects and classes as they appear in AspectJ-like languages. We show that our model preserves the capabilities of AspectJ-like languages, while improving the conceptual integrity of the language model and the compositionality of modules. The improvement in conceptual integrity is manifested by the reduction of specialized constructs in favor of uniform orthogonal constructs. The enhancement in compositionality is demonstrated by better modularization of integration and higher-order crosscutting concerns.
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
|
|
| |
3
|
Bergmans, L. and Akşit, M. 2005. Principles and Design Rationale of Composition Filters. Addison-Wesley, Boston, 63--95.
|
 |
4
|
|
| |
5
|
|
| |
6
|
Bryant, A. and Feldt, R. 2002. AspectR: Simple aspect-oriented programming in Ruby. http://aspectr.sourceforge.net/.
|
 |
7
|
|
| |
8
|
|
 |
9
|
|
| |
10
|
Douence, R. and Südholt, M. 2002. A model and a tool for event-based aspect-oriented programming (EAOP). Tech. rep. 02/11/INFO, Ecole des Mines de Nantes.
|
 |
11
|
|
| |
12
|
Filman, R. E., Barrett, S., Lee, D. D., and Linden, T. 2005. Inserting Ilities by Controlling Communications. Addison-Wesley, Boston, 283--295.
|
| |
13
|
Filman, R. E. and Friedman, D. P. 2000. Aspect-oriented programming is quantification and obliviousness. In Proceedings of the Workshop on Advanced Separation of Concerns (OOPSLA 00).
|
| |
14
|
Filman, R. E. and Friedman, D. P. 2004. Aspect-oriented programming is quantification and obliviousness. In Aspect-Oriented Software Development. Addison-Wesley Professional, 21--35.
|
| |
15
|
Gal, A., Schröder-Preikschat, W., and Spinczyk, O. 2001. AspectC++: Language proposal and prototype implementation. In Proceedings of the Workshop on Advanced Separation of Concerns in Object-Oriented Systems (OOPSLA'01), K. De Volder, M. Glandrup, S. Clarke, and R. Filman, Eds.
|
| |
16
|
|
| |
17
|
|
| |
18
|
Garlan, D. and Shaw, M. 1993. An introduction to software architecture. In Advances in Software Engineering and Knowledge Engineering, V. Ambriola and G. Tortora, Eds. vol. 1. World Scientific Publishing Company, 1--40.
|
| |
19
|
|
 |
20
|
|
| |
21
|
Harrison, W., Ossher, H., and Tarr, P. 2003. Asymmetrically vs. symmetrically organized paradigms for software composition. In Software Engineering Properties of Languages for Aspect Technologies (SPLAT), L. Bergmans et al., Eds.
|
| |
22
|
|
| |
23
|
|
| |
24
|
Johnson, R., Hoeller, J., Arendsen, A., Sampaleanu, C., and Horrop, R. 2007. The spring framework reference documentation 2.03. http://static.springframework.org.
|
| |
25
|
Khan, K., Burke, B., Rainone, F., Pedersen, S., Fleury, M., Brock, A., Hussenet, C., and Culpepper, M. 2007. JBoss AOP reference documentation. www.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
|
Gregor Kiczales , John Lamping , Christina Videira Lopes , Chris Maeda , Anurag Mendhekar , Gail Murphy, Open implementation design guidelines, Proceedings of the 19th international conference on Software engineering, p.481-490, May 17-23, 1997, Boston, Massachusetts, United States
[doi> 10.1145/253228.253431]
|
| |
28
|
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C. V., Loingtier, J.-M., and Irwin, J. 1997b. Aspect-oriented programming. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP'97). Springer-Verlag, 220--42.
|
| |
29
|
Kim, H. 2002. AspectC#: An aosd implementation for C#. Tech. rep. TCD-CS-2002-55, Department of Computer Science, Trinity College, Dublin.
|
| |
30
|
Koopmans, P. 1995. Sina user's guide and reference manual. Tech. rep., Department of Computer Science, University of Twente.
|
| |
31
|
|
 |
32
|
|
| |
33
|
|
| |
34
|
Marshall, J., Orleans, D., and Lieberherr, K. J. 1999. DJ: Dynamic structure-shy traversal in pure Java. Tech. rep., Northeastern University.
|
 |
35
|
|
| |
36
|
Ossher, H. and Tarr, P. 1999. Multi-dimensional separation of concerns using hyperspaces. IBM Res. rep. 21452, IBM. April.
|
| |
37
|
|
| |
38
|
Rajan, H. 2007. Design patterns in Eos. In Conference on Pattern Languages of Programs (PLoP'07).
|
 |
39
|
|
| |
40
|
Rajan, H. and Sullivan, K. 2003a. Need for instance-level aspect language with rich pointcut language. In Software Engineering Properties of Languages for Aspect Technologies (SPLAT), L. Bergmans et al., Eds.
|
 |
41
|
|
 |
42
|
|
 |
43
|
|
 |
44
|
Kouhei Sakurai , Hidehiko Masuhara , Naoyasu Ubayashi , Saeko Matsuura , Seiichi Komiya, Association aspects, Proceedings of the 3rd international conference on Aspect-oriented software development, p.16-25, March 22-24, 2004, Lancaster, UK
[doi> 10.1145/976270.976275]
|
| |
45
|
|
 |
46
|
|
| |
47
|
Sullivan, K. J., Dugan, J. B., Knight, J., et al. 1997. Galileo: An advanced fault tree analysis tool. http://www.cs.virginia.edu/sullivan/.
|
 |
48
|
Kevin Sullivan , William G. Griswold , Yuanyuan Song , Yuanfang Cai , Macneil Shonle , Nishit Tewari , Hridesh Rajan, Information hiding interfaces for aspect-oriented design, Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering, September 05-09, 2005, Lisbon, Portugal
|
 |
49
|
|
 |
50
|
|
 |
51
|
|
| |
52
|
Tarr, P. and Ossher, H. 2000. Hyper/J user and installation manual. Tech. rep., IBM T. J. Watson Research Center.
|
 |
53
|
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]
|
 |
54
|
|
|