aop driven variability in software product lines
Download
Skip this Video
Download Presentation
AOP-Driven Variability in Software Product Lines

Loading in 2 Seconds...

play fullscreen
1 / 18

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


  • 401 Views
  • Uploaded on

AOP-Driven Variability in Software Product Lines. Vander Alves, Ayla Dantas, and Paulo Borba Informatics Center – UFPE – Brazil {vra,add,phmb}@cin.ufpe.br. Motivation. Demand for pervasive computing applications Different devices and features

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'AOP-Driven Variability in Software Product Lines' - Jims


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
aop driven variability in software product lines

AOP-Driven Variability in Software Product Lines

Vander Alves, Ayla Dantas, and Paulo Borba

Informatics Center – UFPE – Brazil

{vra,add,phmb}@cin.ufpe.br

motivation
Motivation
  • Demand for pervasive computing applications
  • Different devices and features
  • Comply with ever-increasing quality and productivity requirements
key idea
Key idea
  • Product line approach using AOP to implement feature variability
slide4

Product Line Development

Product

Development

Core Asset

Development

Management

product line
Product line

Source: SEI

product line6
Product line

Source: SEI

aspect oriented programming aop
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
slide9
AOP
  • AOP modularizes crosscutting concerns
  • Join point model
  • Aspect = {pointcut, advice, introduction}
  • Localized implementation
  • Composability
  • Examples: AspectJ, HyperJ
our approach

Feature= Aspect+

auxiliary classes

Feature

Modeling

Design

product

line

architecture

Compose aspects of a

product and business

classes using

AOP Weavers

Design

variations

using

aspects

Generate

version of a

product

Our approach
case study j2me dictionary
Case study: J2ME dictionary

1. Feature View

  • Define product line features
  • Identify common features for all products
  • Identify variable features
case study j2me dictionary13
Case study: J2ME dictionary

2. Architecture View

  • Design flexible architecture
  • Focus on mandatory features
  • Use architectural/design

patterns

case study j2me dictionary14
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
case study j2me dictionary15

Weaver

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
case study j2me dictionary16
Case study: J2ME dictionary

5. Product Generation View

  • Process code
  • Package the application
  • Install and test
references
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
ad