O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Using Moose platform for the implementation of a Software Product Line according to Model-Based Delta-Oriented Programming

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 43 Anúncio

Using Moose platform for the implementation of a Software Product Line according to Model-Based Delta-Oriented Programming

Baixar para ler offline

Using Moose platform for the implementation of a Software Product Line according to Model-Based Delta-Oriented Programming

Boubou Thiam Niang, Giacomo Kahn, Nawel Amokrane, Yacine Ouzrout, Mustapha Derras and Jannik Laval

IWST 2022

Using Moose platform for the implementation of a Software Product Line according to Model-Based Delta-Oriented Programming

Boubou Thiam Niang, Giacomo Kahn, Nawel Amokrane, Yacine Ouzrout, Mustapha Derras and Jannik Laval

IWST 2022

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Semelhante a Using Moose platform for the implementation of a Software Product Line according to Model-Based Delta-Oriented Programming (20)

Mais de ESUG (20)

Anúncio

Mais recentes (20)

Using Moose platform for the implementation of a Software Product Line according to Model-Based Delta-Oriented Programming

  1. 1. 1 Using Moose platform for the implementation of a Software Product Line according to Model-Based Delta-Oriented Programming IWST22 — International Workshop on Smalltalk Technologies Novi Sad, Serbia; August 24th-26th, 2022 Boubou Thiam Niang, Giacomo Kahn, Nawel Amokrane, Yacine Ouzrout, Mustapha Derras and Jannik Laval Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  2. 2. Context Illustrative case study Overview of the tool prototype Ongoing and future work Outline
  3. 3. Context – Software providers ▪ Software companies provide dozens of products to customers. 3 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  4. 4. Context – Software providers ▪ Software companies provide dozens of products to different customers. ▪ Products can share common characteristics. 4 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  5. 5. Context – Constantly evolving systems ▪ Products represent business applications and technical components. 5 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  6. 6. Context – Constantly evolving systems ▪ Products represent business applications and technical components. ▪ Systems and components are constantly evolving. 6 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  7. 7. Context – Constantly evolving systems ▪ Products represent business applications and technical components. ▪ Systems and components are constantly evolving. ▪ We need to increase the reusability of functionality across multiple products. 7 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  8. 8. Context – Common reuse approach ▪ Clone-and-Own (CaO) 8 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  9. 9. Context – Common reuse approach ▪ Clone-and-Own (CaO) ▪ Component-Based Software Engineering: limited possibility 9 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  10. 10. Context – Common reuse approaches ▪ Clone-and-Own (CaO) ▪ Component-Based Software Engineering: limited possibility ▪ Software Product Line 10 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  11. 11. Context – Software Product Line 11 ▪ Software Product Line • A set of products with common • Variability is applied to create a specific software Interface Interface Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  12. 12. Context – SPL Engineering 12 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  13. 13. Context – SPL implementation 13 ▪ Paradigms Interface Interface Paradigms Approaches Approaches comment Feature oriented programming (FOP) [Ferreira et al., 2014] Compositional (positive variability) • Implement feature as distinct code units. • Generate a product for a feature selection, the corresponding code units are determined and composed. Aspect-Oriented Programming (AOP) [Kiczales et al., 1997] Delta-Oriented Programming (DOP) [Schulze et al., 2013] Preprocessor [Kästner 2013] Annotative (Negative variability) Implement features with some form of explicit or implicit annotations in the source code (Preprocessor #ifdef…endIf) Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  14. 14. Context – SPL implementation 14 ▪ Paradigms ▪ We opt for DOP paradigms Interface Interface Paradigms Approaches Approaches comment Feature oriented programming (FOP) [Ferreira et al., 2014] Compositional (positive variability) • Implement feature as distinct code units. • Generate a product for a feature selection, the corresponding code units are determined and composed. Aspect-Oriented Programming (AOP) [Kiczales et al., 1997] Delta-Oriented Programming (DOP) [Schulze et al., 2013] Preprocessor [Kästner 2013] Annotative (Negative variability) Implement features with some form of explicit or implicit annotations in the source code (Preprocessor #ifdef…endIf) Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  15. 15. Positioning – DOP paradigms ▪ Delta-Oriented Programming • A recent paradigm for the implementation of software product lines. 15 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  16. 16. Positioning – DOP paradigms ▪ Delta-Oriented Programming • A recent paradigm for the implementation of software product lines. ▪ Delta-Oriented Programming principle 16 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  17. 17. Positioning – DOP paradigms ▪ Delta-Oriented Programming • A recent paradigm for the implementation of software product lines. ▪ Delta-Oriented Programming principle ▪ Motivation for using Delta-Oriented Programming • Its ability to introduce variability into an existing software product • Interesting for ensuring the scalability of software and systems. 17 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  18. 18. Problem 18 ▪ Not many examples of concrete implementations the DOP • Lack of tools Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  19. 19. Problem 19 ▪ Not many examples of concrete implementations the DOP • Lack of tools ▪ There two main tools Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  20. 20. DeltaJava 20 Delta operation Core Class Decorator Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  21. 21. Context Illustrative case study Overview of the tool prototype Ongoing and future work Outline
  22. 22. Use case – Variability in connectors 22 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  23. 23. Use case – Variability in connectors 23 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  24. 24. Details of the process – Domain Engineering 24 ▪ Variability analysis Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  25. 25. Details of the process – Domain Engineering 25 ▪ Variability modeling Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  26. 26. Details of the process – Domain Engineering 26 ▪ The software product line implementation using the Delta-Oriented Programming. Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  27. 27. Details of the process – Domain Engineering 27 ▪ The software product line implementation using the Delta-Oriented Programming. Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  28. 28. Details of the process – Application Engineering 28 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  29. 29. Details of the process – Application Engineering 29 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  30. 30. Details of the process – Application Engineering 30 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  31. 31. Details of the process – Application Engineering 31 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  32. 32. Details of the process – Application Engineering 32 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  33. 33. Details of the process – Application Engineering 33 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  34. 34. Tool Perimeter ▪ Software Product Line steps covered by the process. 34 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  35. 35. Context Illustrative case study Overview of the tool prototype Ongoing and future work Outline
  36. 36. The tool prototype Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout" 36
  37. 37. The tool prototype Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout" 37
  38. 38. The tool prototype Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout" 38
  39. 39. The tool prototype Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout" 39
  40. 40. Context Illustrative case study Overview of the tool prototype Ongoing and future work Outline
  41. 41. Progression ▪ Ongoing work • Parser → Metamodel of feature model → Population of the metamodel and generating the Expression Product Line (EPL) • Generation of the EPL 41 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  42. 42. Progression ▪ Ongoing work • Parser → Metamodel of feature model → Population of the metamodel and generating the Expression Product Line (EPL) • Generation of the EPL ▪ Future work • Validation of the Expression product Line • Configurator interface • The model difference calculation engine → Plan to exploit Orion and the FamixDiff Project • Derivation engine 42 Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"
  43. 43. Thank you. Question? 43 Boubou Thiam Niang, Giacomo Kahn, Nawel Amokrane, Yacine Ouzrout, Mustapha Derras and Jannik Laval Modifier Titre : Insertion>En-tête/Pied>Compléter le titre puis "Appliquer Partout"

×