skip to main content
10.1145/1509239.1509268acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Using aspect-orientation in industrial projects: appreciated or damned?

Published: 02 March 2009 Publication History

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

[1]
Proc. of 2nd Int. Conf. on Aspect-Oriented Software Development, Boston 2003
[2]
J. Bonér: What are the Key Issues for Commercial AOP Use: How does AspectWerkz address them? In Proc. 3rd Conf. on Aspect-Oriented Software Development, AOSD 2004, Lancaster, ACM Press
[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]
A. Colyer, A. Clement: Large-scale AOSD for Middleware. In Proc. 3rd Conf. on Aspect-Oriented Software Development, AOSD 2004, Lancaster, ACM Press
[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]
J.P. Choi: Aspect-oriented Programming with Enterprise JavaBeans. In: 4th Int. Enterprise Distributed Object Computing Conference (EDOC 2000), IEEE Computer Society (2000)
[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]
T. Elrad, R. Filman, A. Bader (eds.): Theme Section on Aspect-Oriented Programming. CACM 44(10), 2001
[14]
R. Filman, D. Friedman: Aspect-Oriented Programming is Quantification and Obliviousness. Workshop on Advanced Separation of Concerns, OOPSLA 2000
[15]
E. Gamma, R. Helm, R. Johnson, J. Vlissides: Design Patterns -- Elements of Reusable Object-Oriented Software. Addison-Wesley 1995
[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]
J. Hannemann, G. Kiczales: Design Pattern Implementation in Java and AspectJ. In Proc. of the 17th Annual ACM conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2002, Seattle
[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]
C. Kästner, S. Apel, D. Batory: A Case Study Implementing Features Using AspectJ. In Proc. Int. Software Product Line Conference (SPLC), Kyoto 2007, IEEE Computer Society
[24]
M. Kersten, M. Chapman, A. Clement, A. Colyer: Lessons Learned building tool support for AspectJ, in {11}
[25]
J. Kienzle, R. Guerraoui: AOP -- Does It Make Sense? The Case of Concurrency and Failures. In 16th European Conf. on Object-Oriented Programming (ECOOP02), Malaga (Spain) LNCS 2374
[26]
J. Kienzle, S. Gélineau: AO Challenge -- Implementing the ACID Properties for Transactional Attributes. In H. Masuhara, A. Rashid (eds.): Proc of 5th Int Conf on Aspect-Oriented Software Development. Bonn (Germany) 2006
[27]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, W. Griswold: An Overview of AspectJ. ECOOP 2001, Springer LNCS 2072
[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]
N. Lesiecki: Applying AspectJ to J2EE Application Development; IEEE Software, January/February 2006
[32]
G. Murphy, A. R. Walker, M. Robillard: Separating Features in Source Code: An Exploratory Study. In Proc. of 23rd Int. Conf. on Software Engineering 2001
[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]
A. Rashid: Aspect-Oriented Database Systems. Springer Berlin Heidelberg 2004
[35]
A. Rashid, R. Chitchyan: Persistence as an Aspect. In M. Aksit (ed.): 2nd Int. Conf. on Aspect-Oriented Software Development, AOSD 2003, Boston, ACM Press
[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}

Cited By

View all
  • (2014)Implicit BPM: A Business Process Platform for Transparent Workflow WeavingBusiness Process Management10.1007/978-3-319-10172-9_11(168-183)Online publication date: 2014
  • (2012)Aspect-Oriented Weaving Framework for Learning Activity in the E-Learning Web SystemEmerging Computation and Information teChnologies for Education10.1007/978-3-642-28466-3_24(169-176)Online publication date: 2012

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
AOSD '09: Proceedings of the 8th ACM international conference on Aspect-oriented software development
March 2009
278 pages
ISBN:9781605584423
DOI:10.1145/1509239
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 March 2009

Permissions

Request permissions for this article.

Check for updates

Author Tag

  1. aspect-orientation; aspectj; crosscutting concern; case study; experience report

Qualifiers

  • Research-article

Conference

AOSD '09

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2014)Implicit BPM: A Business Process Platform for Transparent Workflow WeavingBusiness Process Management10.1007/978-3-319-10172-9_11(168-183)Online publication date: 2014
  • (2012)Aspect-Oriented Weaving Framework for Learning Activity in the E-Learning Web SystemEmerging Computation and Information teChnologies for Education10.1007/978-3-642-28466-3_24(169-176)Online publication date: 2012

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media