AOP-Driven Variability in Software Product Lines - PowerPoint PPT Presentation

About This Presentation
Title:

AOP-Driven Variability in Software Product Lines

Description:

Demand for pervasive computing applications. Different ... Generative Programming: Methods, Tools, and Applications. Addison-Wesley.2000. http://gpce.org ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 19
Provided by: ayladborad
Category:

less

Transcript and Presenter's Notes

Title: AOP-Driven Variability in Software Product Lines


1
AOP-Driven Variability in Software Product Lines
Vander Alves, Ayla Dantas, and Paulo
Borba Informatics Center UFPE Brazil
vra,add,phmb_at_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
Product Line Development
Product Development
Core Asset Development
Management
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
11
Our approach
12
Case study J2ME dictionary
1. Feature View
  • Define product line features
  • Identify common features for all products
  • Identify variable features

13
Case study J2ME dictionary
2. Architecture View
  • Design flexible architecture
  • Focus on mandatory features
  • Use architectural/design
  • patterns

14
Case study J2ME dictionary
3. Variation View
  • Identify application points to be crossed
  • Design aspects correspondent to variable
  • features (feature -gt aspect)
  • Design auxiliary classes
  • Use design patterns

15
Case study J2ME dictionary
4. Composition View
  • 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.
  • www.cin.ufpe.br/gpqs
  • Krzystof Czarnecki and Ulrich Eisenecker.
    Generative Programming Methods, Tools, and
    Applications. Addison-Wesley.2000
  • http//gpce.org

18
Questions?
Write a Comment
User Comments (0)
About PowerShow.com