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

Aop driven variability in software product lines l.jpg
Download
1 / 18

  • 369 Views
  • Uploaded on
  • Presentation posted in: Industry

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

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

Download Presentation

AOP-Driven Variability in Software Product Lines

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 l.jpg

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 l.jpg

Motivation

  • Demand for pervasive computing applications

  • Different devices and features

  • Comply with ever-increasing quality and productivity requirements


Key idea l.jpg

Key idea

  • Product line approach using AOP to implement feature variability


Slide4 l.jpg

Product Line Development

Product

Development

Core Asset

Development

Management


Product line l.jpg

Product line

Source: SEI


Product line6 l.jpg

Product line

Source: SEI


Product line variability l.jpg

Product line variability


Aspect oriented programming aop l.jpg

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 l.jpg

AOP

  • AOP modularizes crosscutting concerns

  • Join point model

  • Aspect = {pointcut, advice, introduction}

  • Localized implementation

  • Composability

  • Examples: AspectJ, HyperJ


Our approach l.jpg

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


Our approach11 l.jpg

Our approach


Case study j2me dictionary l.jpg

Case study: J2ME dictionary

1. Feature View

  • Define product line features

  • Identify common features for all products

  • Identify variable features


Case study j2me dictionary13 l.jpg

Case study: J2ME dictionary

2. Architecture View

  • Design flexible architecture

  • Focus on mandatory features

  • Use architectural/design

    patterns


Case study j2me dictionary14 l.jpg

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 l.jpg

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 l.jpg

Case study: J2ME dictionary

5. Product Generation View

  • Process code

  • Package the application

  • Install and test


References l.jpg

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


Questions l.jpg

Questions?


  • Login