Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computing Department Awais Rashid Aspect-Oriented Software Development in Practice: Tales from AOSD-Europe © A. Rashid (2009)

Similar presentations


Presentation on theme: "Computing Department Awais Rashid Aspect-Oriented Software Development in Practice: Tales from AOSD-Europe © A. Rashid (2009)"— Presentation transcript:

1 Computing Department Awais Rashid Aspect-Oriented Software Development in Practice: Tales from AOSD-Europe © A. Rashid (2009)

2 Computing Department Acknowledgements All members of AOSD-Europe Special thanks to: –Regine Meunier and Daniel Wiese (Siemens, Germany) –David Cousins (IBM UK) –Phil Greenwood, Thomas Cottenier, James Walkerdine (Lancaster University, UK) –Roberta Coelho (Lancaster University and Pontifical Catholic University, Rio de Janeiro, Brazil) –Wouter Joosen (Katholieke Universiteit Leuven, Belgium)

3 Computing Department AOSD = Improved Modularity = Better for your organisation

4 Computing Department Three Key Questions How is AOSD being used in industrial projects today? Does the improved modularity yield real benefits when engineering and evolving software? What do I need to watch out for when using AOSD techniques?

5 Computing Department AOSD-Europe A large-scale academia-industry collaboration funded by the European Commission FP6 Programme for –Large-scale AOSD research –Shared investment in development of tools and methodologies –Building bridges between AOSD research and practice 11 organisations investing approx pm of effort

6 Computing Department AOSD-Europe Siemens AG IBM UK Lancaster University Coordinator Trinity College Dublin Universidad de Malaga INRIA Technion Israel Institute of Technology Universiteit Twente Vrije Universiteit Brussel Katholeike Universiteit Leuven Technische Universitaet Darmstadt

7 Computing Department Inventory of Non-Trivial AOSD Applications IBM Websphere Application Server: Uses AspectJ to isolate features of different editions JBoss Application Server: Services such as Security and Transactions deployed with JBoss AOP Oracle TopLink: Spring AOP for high levels of persistence transparency Sun Microsystems: AspectJ to simplify the development of mobile applications for deployment to different operator decks and different mobile gaming interfaces. Siemens SOARIAN: A health information management system using AspectJ and FastAOP to integrate crosscutting features into an agile development process. 7

8 Computing Department Inventory of Non-Trivial AOSD Applications Motorola wi4: A cellular infrastructure system that provides support for the WiMAX wireless broadband standard and uses AO modelling (WEAVR) for debugging and testing purposes. ASML: Miriam (aspect-oriented C) to modularize tracing, profiling and error handling concerns in lithography systems. Glassbox: A troubleshooting agent that monitors the activity of the Java virtual machine using AspectJ. Mysql: The logging feature in mysql is based on AspectJ. 8

9 Computing Department Inventory of Non-Trivial AOSD Applications Isis: A UK academia-law enforcement partnership using the AOSD-Europe Middleware Reference Architecture and technologies for AORE for monitoring in online systems Toll System Demonstrator from AOSD-Europe Digital Publishing Demonstrator from AOSD- Europe 9

10 Computing Department How is AOSD being used in industrial projects today ?

11 Computing Department Most industrial projects use basic features of aspect-oriented technologies

12 Computing Department Cases in Point Siemens: SOARIAN project IBM: WebSphere Learning effort is low Easy to see the benefits – no need to be an AO expert

13 Computing Department Sophisticated AO features are mainly used in academia-industry pilots

14 Computing Department Cases in point KUL/VUB/Telecom solution provider: Padus TUD/TUBerlin/Fraunhofer FIRST/GEBIT solutions/blueCarat: TopPRax Need expert guidance Can be risky for shipped products Normal academia-industry transfer route

15 Computing Department Incremental introduction is a good strategy: address developmental concerns first

16 Computing Department Cases in point Siemens: SOARIAN project IBM: WebSphere MySQL Enforce architectural constraints across large developer teams Tracing and logging

17 Computing Department AOSD is mainly used for modularising well-known crosscutting problems

18 Computing Department Cases in point Siemens: SOARIAN project  Tracing, Auditing, Caching, Performance Monitoring IBM: WebSphere  Tracing, Logging, First Failure Data Capture MySQL  Logging Motorola: WEAVR  Tracing, TimeOut Lancaster University/Specialist UK Law Enforcement: Isis Project  Monitoring for Online Child Protection Non-invasive Low risk, high return

19 Computing Department Does the improved modularity yield real benefits when engineering and evolving software ?

20 Computing Department AOSD techniques improve design stability during software evolution

21 Computing Department Case in Point Lancaster-led international initiative: The AOSD testbed –Empirical study over 9 evolutionary scenarios in the HealthWatcher system Concurrency Pointcuts absorb some changes Upfront aspectisation further improves stability Aspects better preserve the open- closed principle

22 Computing Department AOSD techniques can substantially reduce model size through modularisation of replicated behavior

23 Computing Department Case in Point Motorola: WEAVR A study of production models at Motorola estimates that the size of the models could be reduced by more than 40% if replication due to crosscutting could be avoided A study of production models at Motorola estimates that the size of the models could be reduced by more than 40% if replication due to crosscutting could be avoided Model-driven aspect engineering facilitates manipulation of and code generation for crosscutting concerns

24 Computing Department What do I need to watch out for when using AOSD techniques ?

25 Computing Department Pointcut fragility may cause ripple effects

26 Computing Department Case in Point Lancaster-led international initiative: The AOSD testbed –Empirical study over 9 evolutionary scenarios in the HealthWatcher system View Ripple effects observed in interacting aspect interfaces AO modifications tended to propagate to seemingly unrelated modules

27 Computing Department Exceptional interfaces need to be carefully considered in the presence of aspects

28 Computing Department Case in Point Lancaster/PUC-Rio Empirical Study of three real-world systems –Health Watcher, AJHotDraw, MobilePhoto Pointcut mistakes in aspect handlers Aspects throw additional exceptions Errors in use of AspectJ declare soft

29 Computing Department Revisiting the three key questions How is AOSD being used in industrial projects today? –Mainly basic AO features where learning curves are low –Developmental concerns that allow incremental introduction –Well-known crosscutting problems – low risk, high yield Does the improved modularity yield real benefits when engineering and evolving software? –Improved design stability –Reduction in model size in large-scale projects What do I need to watch out for when using AOSD techniques? –Carefully design your pointcut expressions –Carefully consider the exceptional interfaces

30 Computing Department In Summary We are over the hype-curve. Aspects are steadily making their way into products and services. Academia and industry need to work together to transfer cutting edge technologies to address some of the pitfalls, such as pointcut fragility. 30

31 Computing Department 31 Bridging the academia-industry gap is one of the fundamental challenges facing software engineering research.


Download ppt "Computing Department Awais Rashid Aspect-Oriented Software Development in Practice: Tales from AOSD-Europe © A. Rashid (2009)"

Similar presentations


Ads by Google