|
ABSTRACT
Aspect-orientation (AO) is a recent technology for handling crosscutting concerns in a structured and modular manner. In spite of being considered useful, researchers often complain that industry is not widely adopting AO concepts and technologies in commercial projects. This paper reports on real usage of aspect-orientation in an industrial project, which means that AO, in particular the AspectJ language, is part of a real software product. AO is basically used to overcome several critical problems. Those problems are well motivated and discussed in detail. Some of them are hard to solve with conventional programming techniques whereas the application of an appropriate AO-based solution is very straightforward. Since some of the reported problems are not really of crosscutting nature, the solutions might be questionable. This leads to a discussion about the "political correctness" of this approach. Furthermore, the paper also explains why and how the project management could be convinced to use AspectJ.
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
|
Proc. of 2nd Int. Conf. on Aspect-Oriented Software Development, Boston 2003
|
 |
2
|
|
| |
3
|
R. Bodkin: AOP@Work: Performance monitoring with AspectJ. http://www-128.ibm.com/developerworks/java/library/j-aopwork10/index.html
|
| |
4
|
R. Bodkin: AOP@Work: Next Steps with Aspects. http: //www-128.ibm.com/developerworks/java/library/j-aopwork-16
|
| |
5
|
B. Burke: Implementing Middleware Using AOP. in Proc. 4th Conf. on Aspect-Oriented Software Development. AOSD 2005, Chicago, ACM Press
|
| |
6
|
R. Bodkin, J. Furlong: Gathering Feedback on User Behaviour using AspectJ. In {11}
|
 |
7
|
|
| |
8
|
T. Cohen, J. Gil: AspectJEE=AOP+JEE -- Towards an Aspect Based, Programmable and Extensible Middleware Framework. In Proc. 18th European Conf. on Object-Oriented Programming, ECOOP 2004, Oslo
|
| |
9
|
|
| |
10
|
Y. Coady, G. Kiczales: Back to the Future: A Retrospective Study of Aspect Evolution in Operating System Code. In {1}
|
| |
11
|
M. Chapman, A. Vasseur, G. Kniesel (eds.): Proc. Of Industry Track 3rd Conf. on Aspect-Oriented Software Development, AOSD 2006, Bonn, ACM Press
|
| |
12
|
A. Duck: Implementation of AOP in Non-Academic Projects. In {11}
|
 |
13
|
|
| |
14
|
R. Filman, D. Friedman: Aspect-Oriented Programming is Quantification and Obliviousness. Workshop on Advanced Separation of Concerns, OOPSLA 2000
|
| |
15
|
|
| |
16
|
K. Govindraj, S. Narayanan et al.: On Using AOP for Application Performance Management. In {11}
|
| |
17
|
Hibernate Reference Documentation. http:// www.hibernate.org/hib_docs/v3/reference/en/html/
|
 |
18
|
Jan Hannemann , Gregor Kiczales, Design pattern implementation in Java and aspectJ, Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, November 04-08, 2002, Seattle, Washington, USA
|
| |
19
|
U. Hohenstein: Using Aspect-Orientation to Add Persistency to Applications. Proc. of Datenbanksysteme in Business, Technologie und Web (BTW), Karlsruhe 2005
|
| |
20
|
U. Hohenstein: Using Aspect-Orientation to Manage Database Statistics. In: {11}
|
| |
21
|
Java Persistence API. http://java.sun.com/javaee/ technologies/persistence.jsp
|
| |
22
|
W. Joosen, F. Sanen, E. Truyen, Dissemination of AOSD expertise -- support documentation. AOSD--Europe Project Deliverable No.: AOSD-Europe-KUL--8, Mar. 06
|
| |
23
|
|
| |
24
|
M. Kersten, M. Chapman, A. Clement, A. Colyer: Lessons Learned building tool support for AspectJ, in {11}
|
| |
25
|
|
 |
26
|
|
| |
27
|
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
|
| |
28
|
G. Kiczales: Adopting AOP. In Proc. 4th Conf. on Aspect-Oriented Software Development; AOSD 2005, Chicago, ACM Press
|
| |
29
|
R. Laddad: AspectJ in Action. Manning Publications Greenwich 2003
|
| |
30
|
R. Laddad: AOP@Work: Myths about AOP. http://www-128.ibm.com/developerworks/java/ library/j-aopwork15
|
| |
31
|
|
| |
32
|
Gail C. Murphy , Albert Lai , Robert J. Walker , Martin P. Robillard, Separating features in source code: an exploratory study, Proceedings of the 23rd International Conference on Software Engineering, p.275-284, May 12-19, 2001, Toronto, Ontario, Canada
|
| |
33
|
K. Ostermann, M. Mezini, C. Bockisch: Expressive Pointcuts for Increased Modularity. In 19th European Conf. on Object-Oriented Programming (ECOOP05), Malaga (Spain) LNCS 3586
|
| |
34
|
|
 |
35
|
|
| |
36
|
S. Soares, P. Borba: Implementing Modular and Reusable Aspect-Oriented Concurrency Control with AspectJ: In WASP05, Uberländia, Brazil
|
| |
37
|
W. Strunk: The Symphonia Product-Line. Java and Object-Oriented (JAOO) Conference 2007, Arhus, Denmark (2007)
|
| |
38
|
D. Wiese, U. Hohenstein, R. Meunier: How to Convince Industry of Aspect-Orientation? 6th Int. Conf. on Aspect-Oriented Software Development, AOSD 2007, Vancouver, ACM Press
|
| |
39
|
D. Wiese, R. Meunier: Large Scale Application of AOP in the Healthcare Domain: A Case Study. In 7th Int. Conf. on Aspect-Oriented Software Development, AOSD 2008, Brussels
|
| |
40
|
C. Zhang, H.-A. Jacobsen: Quantifying Aspects in Middleware Platforms. In {1}
|
|