Download presentation
Presentation is loading. Please wait.
Published bySherman Douglas Modified over 9 years ago
1
AOP-Driven Variability in Software Product Lines Vander Alves, Ayla Dantas, and Paulo Borba Informatics Center – UFPE – Brazil {vra,add,phmb}@cin.ufpe.br
2
Motivation Demand for pervasive computing applications Different devices and features Comply with ever- increasing quality and productivity requirements
3
Key idea Product line approach using AOP to implement feature variability
4
Management Core Asset Development Product Development Product Line Development
5
Product line Source: SEI
6
Product line Source: SEI
7
Product line variability
8
Aspect-oriented programming (AOP) Distribution, persistence, synchronization, logging, protocols. Crosscuting concerns Spread and tangled code Hard to maintain and reuse OO techniques cannot completely address
9
AOP AOP modularizes crosscutting concerns Join point model Aspect = {pointcut, advice, introduction} Localized implementation Composability Examples: AspectJ, HyperJ
10
Our approach Designproductlinearchitecture FeatureModeling Designvariationsusingaspects Compose aspects of a product and business classes using AOP Weavers Generate version of a product Feature= Aspect+ auxiliary classes
11
Our approach
12
Case study: J2ME dictionary Define product line features Identify common features for all products Identify variable features 1. Feature View
13
Case study: J2ME dictionary Design flexible architecture Focus on mandatory features Use architectural/design patterns 2. Architecture View
14
Case study: J2ME dictionary 3. Variation View Identify application points to be crossed Design aspects correspondent to variable features (feature -> aspect) Design auxiliary classes Use design patterns
15
Case study: J2ME dictionary 4. Composition View Weaver Collect the aspects relative to the desired features Select auxiliary classes Use an AOP Weaver Generate weaved code
16
Case study: J2ME dictionary 5. Product Generation View Process code Package the application Install and test
17
References http://www.sei.cmu.edu/plp/framework.html Sérgio Soares, Eduardo Laureano, Paulo Borba. Implementing distribution and persistence aspects with AspectJ. In 17th Annual ACM Conference on Object- Oriented Programming, Systems, Languages and Applications, OOPSLA'2002, pages 174-190, Seattle, USA, 4th-8th November 2002. Implementing distribution and persistence aspects with AspectJ www.cin.ufpe.br/gpqs Krzystof Czarnecki and Ulrich Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison- Wesley.2000 http://gpce.org
18
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.