SlideServe
Menu
Préférences
© SlideServe · v2026

AOP-Driven Variability in Software Product Lines

Jims avatar
18 diapositives · 660 Views · Feb 15, 2011

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

AOP-Driven Variability in Software Product Lines - slide 1
01 / 18AOP-Driven Variability in Software Product Lines
1 / 17

Télécharger la présentation

AOP-Driven Variability in Software Product Lines
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  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. 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. 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

  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 -> aspect) • Design auxiliary classes • Use design patterns

  15. 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

  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?