Adopting Aspect-Oriented Software Development in Business Application Engineering

SAP is the world’s largest vendor of enterprise software. SAP Research is interested in understanding, evaluating, and applying aspect-oriented techniques in the context of large enterprise systems. This interest is also reected by our involvement several European and national research projects on Aspect-Oriented Software Development (AOSD). We report on existing aspect-oriented concepts at SAP and present a case study that illustrates several non-obvious crosscutting concerns in business software. We also discuss the benets and challenges that arise when applying AOSD to large scale industrial projects and present a road map to adopting AOSD at SAP for productive use. 1. MOTIVATION

[1]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[2]  Sudipto Ghosh,et al.  Using Aspects with Object-Oriented Frameworks , 2006 .

[3]  Jonathan Aldrich,et al.  Open Modules: Modular Reasoning About Advice , 2005, ECOOP.

[4]  Adrian Mark Colyer Towards Widespread Adoption of AOSD , 2003 .

[5]  Mira Mezini,et al.  Expressive Pointcuts for Increased Modularity , 2005, ECOOP.

[6]  Tzilla Elrad,et al.  Motorola WEAVR: Aspect Orientation and Model-Driven Engineering , 2007 .

[7]  Mira Mezini,et al.  An Overview of CaesarJ , 2006, LNCS Trans. Aspect Oriented Softw. Dev..

[8]  Uwe Hohenstein,et al.  How to Convince Industry of AOP , 2007 .

[9]  Wouter Joosen,et al.  Classifying and documenting aspect interactions , 2006 .

[10]  S. Chiba,et al.  Remote pointcut: a language construct for distributed AOP , 2004, AOSD '04.

[11]  G. Kiczales,et al.  Aspect-oriented programming and modular reasoning , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[12]  Kris Gybels,et al.  Arranging language features for more robust pattern-based crosscuts , 2003, AOSD '03.

[13]  Rémi Douence,et al.  Concurrent aspects , 2006, GPCE '06.

[14]  Luis Daniel Benavides Navarro,et al.  Explicitly distributed AOP using AWED , 2006, AOSD '06.

[15]  Jon Oldevik,et al.  Improving Traceability in Model-Driven Development of Business Applications , 2007 .

[16]  Yuanyuan Song,et al.  Modular software design with crosscutting interfaces , 2006, IEEE Software.

[17]  Thomas Cottenier The Motorola WEAVR : Model Weaving in a Large Industrial Context , 2006 .

[18]  Olaf Spinczyk,et al.  AspectC++ – An AOP Extension for C++ , 2005 .

[19]  Robert Grimm,et al.  Patch (1) Considered Harmful , 2005, HotOS.

[20]  Dean W. Gonzalez,et al.  “=” considered harmful , 1991, ALET.

[21]  Qilong Zheng,et al.  AOP++: a generic aspect-oriented programming framework in c++ , 2005, GPCE'05.

[22]  Ruzanna Chitchyan,et al.  Persistence as an aspect , 2003, AOSD '03.

[23]  Tzilla Elrad,et al.  Designing an aspect-oriented framework in an object-oriented environment , 2000, CSUR.

[24]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[25]  John C. Grundy,et al.  Aspect-oriented requirements engineering for component-based software systems , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).