Presentation is loading. Please wait.

Presentation is loading. Please wait.

AOP-Driven Variability in Software Product Lines Vander Alves, Ayla Dantas, and Paulo Borba Informatics Center – UFPE – Brazil

Similar presentations


Presentation on theme: "AOP-Driven Variability in Software Product Lines Vander Alves, Ayla Dantas, and Paulo Borba Informatics Center – UFPE – Brazil"— Presentation transcript:

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?


Download ppt "AOP-Driven Variability in Software Product Lines Vander Alves, Ayla Dantas, and Paulo Borba Informatics Center – UFPE – Brazil"

Similar presentations


Ads by Google