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

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

Embed Size (px)

Citation preview

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

Computing Department

Awais Rashid

Aspect-Oriented Software Development in Practice: Tales from AOSD-Europe

© A. Rashid (2009)

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

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)

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

Computing Department

AOSD = Improved Modularity = Better for your organisation

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

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?

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

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. 1000 pm of effort

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

Computing Department

AOSD-Europe

Siemens AG

IBM UK

LancasterUniversityCoordinator

Trinity CollegeDublin

Universidad de Malaga

INRIA

TechnionIsrael Instituteof Technology

UniversiteitTwente

Vrije UniversiteitBrussel

KatholeikeUniversiteitLeuven

TechnischeUniversitaetDarmstadt

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

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

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

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

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

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

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

Computing Department

How is AOSD being used in industrial projects today

?

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

Computing Department

Most industrial projects use basic features of aspect-oriented technologies

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

Computing Department

Cases in Point

• Siemens: SOARIAN project• IBM: WebSphere

Learning effort is lowEasy to see the benefits – no need to be an AO expert

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

Computing Department

Sophisticated AO features are mainly used in academia-industry pilots

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

Computing Department

Cases in point

• KUL/VUB/Telecom solution provider: Padus• TUD/TUBerlin/Fraunhofer FIRST/GEBIT

solutions/blueCarat: TopPRax

Need expert guidanceCan be risky for shipped productsNormal academia-industry transfer route

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

Computing Department

Incremental introduction is a good strategy: address developmental concerns first

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

Computing Department

Cases in point

• Siemens: SOARIAN project• IBM: WebSphere• MySQL

Enforce architectural constraints across large developer teamsTracing and logging

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

Computing Department

AOSD is mainly used for modularising well-known crosscutting problems

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

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 ProtectionNon-invasive

Low risk, high return

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

Computing Department

Does the improved modularity yield real benefits when engineering and evolving software

?

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

Computing Department

AOSD techniques improve design stability during software evolution

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

Computing Department

Case in Point

• Lancaster-led international initiative: The AOSD testbed – Empirical study over 9 evolutionary

scenarios in the HealthWatcher system

Concurrency

ConcurrencyPointcuts absorb some changesUpfront aspectisation further improves stabilityAspects better preserve the open-closed principle

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

Computing Department

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

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

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

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

Computing Department

What do I need to watch out for when using AOSD techniques

?

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

Computing Department

Pointcut fragility may cause ripple effects

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

Computing Department

Case in Point

• Lancaster-led international initiative: The AOSD testbed – Empirical study over 9 evolutionary

scenarios in the HealthWatcher system

View

ViewRipple effects observed in interacting aspect interfacesAO modifications tended to propagate to seemingly unrelated modules

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

Computing Department

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

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

Computing Department

Case in Point

• Lancaster/PUC-Rio Empirical Study of three real-world systems– Health Watcher, AJHotDraw, MobilePhoto

Health Watcher V1

43

196 153

43173

50

100

200

300

400

500

600

OO AO

# e

xce

ptio

n p

ath

s

Uncaught Same Exception Subsumption

Health Watcher V9

28

277 242

47

271

9

OO AO

Mobile Photo V4

4753

4613

2

0

20

40

60

80

100

OO AO

Mobile Photo V6

5663

219

6

OO AO

HotDraw

124 136

64

316

5

384

0

100

200

300

400

500

600

OO AO

Pointcut mistakes in aspect handlersAspects throw additional exceptionsErrors in use of AspectJ declare soft

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

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

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

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

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

Computing Department31

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