Using Composite Feature                Models to Support Agile            Software Product Line Evolution                 ...
PlanModels and Evolution 2012    2
Plan               •     Usecase: ease the creation of customized                     information broadcasting systemModel...
Plan               •     Usecase: ease the creation of customized                     information broadcasting system     ...
Plan               •     Usecase: ease the creation of customized                     information broadcasting system     ...
Plan               •     Usecase: ease the creation of customized                     information broadcasting system     ...
Plan               •     Usecase: ease the creation of customized                     information broadcasting system     ...
YourCast: to ease the creation of                    information broadcasting systemsModels and Evolution 2012           3
YourCast: to ease the creation of                    information broadcasting systemsModels and Evolution 2012           4
... and the customization for different users.Models and Evolution 2012         5
... and the customization for different users.Models and Evolution 2012         5
YourCast: some conceptsModels and Evolution 2012   6
YourCast: some concepts                SourcesModels and Evolution 2012   6
YourCast: some concepts                Sources   LayoutModels and Evolution 2012   6
YourCast: some concepts                Sources                                Renderers   LayoutModels and Evolution 2012 ...
RequirementsModels and Evolution 2012        7
Requirements               • One must be able to choose among all the                     avalaible elements: need of Vari...
Requirements               • One must be able to choose among all the                     avalaible elements: need of Vari...
Requirements               • One must be able to choose among all the                     avalaible elements: need of Vari...
Software Product LineModels and Evolution 2012   8
Software Product Line               • Mass production of reliables and                     personalized softwaresModels an...
Software Product Line               • Mass production of reliables and                     personalized softwares         ...
Software Product Line               • Mass production of reliables and                     personalized softwares         ...
Feature ModelModels and Evolution 2012         9
Feature Model                                                                              Key                            ...
A first kernel...                                                                              Key                         ...
... which becomes difficult to evolve                                                BroadcastingSystem                    ...
Idea: composite feature modelsModels and Evolution 2012   12
Idea: composite feature models               • Use a composition of feature models to                     keep things sepa...
Idea: composite feature models               • Use a composition of feature models to                     keep things sepa...
Idea: composite feature models               • Use a composition of feature models to                     keep things sepa...
Keep things separatedModels and Evolution 2012      13
Keep things separatedModels and Evolution 2012      13
What about the dependencies?                                                BroadcastingSystem                            ...
Use models to drive composite FMs                                                                       1                 ...
Use models to drive composite FMs                                          BroadcastingSystem                             ...
Use models to drive composite FMs                                                                  BroadcastingSystem     ...
Define functions to express dependencies                                                                                   ...
Define functions to express dependencies                                                                                   ...
Still separated FMs are                                complex                                      A simplified version re...
From domain objects to FMs by mergingModels and Evolution 2012          19
From domain objects to FMs by merging                                  Source           Source       Source               ...
From domain objects to FMs by merging                                  Source                   Source                Sour...
Evolution driven by a                       community requires refactoring                    Source                      ...
Evolution driven by a community requires                                                refactoring                   Sour...
Evolution driven by a community requires                                                refactoring                   Sour...
Use refactoring scripts to                        support agile evolution                             // renaming         ...
Conclusion    23
ConclusionNeed of tools to agile management offeature models evolution                 23
ConclusionNeed of tools to agile management offeature models evolutionSeparation in many feature models                  23
ConclusionNeed of tools to agile management offeature models evolutionSeparation in many feature modelsDefinition of a mode...
ConclusionNeed of tools to agile management offeature models evolutionSeparation in many feature modelsDefinition of a mode...
ConclusionNeed of tools to agile management offeature models evolutionSeparation in many feature modelsDefinition of a mode...
... and perspectives!Models and Evolution 2012       24
... and perspectives!               ‣ Validation of our approach on other                     usecases:Models and Evolutio...
... and perspectives!               ‣ Validation of our approach on other                     usecases:                   ...
... and perspectives!               ‣ Validation of our approach on other                     usecases:                   ...
... and perspectives!               ‣ Validation of our approach on other                     usecases:                   ...
Thanks!Models and Evolution 2012      25
Thanks!Models and Evolution 2012      25
26
Upcoming SlideShare
Loading in …5
×

Using Composite Feature Models to Support Agile Software Product Line Evolution - Models and Evolution 2012

808 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
808
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • customization !\n
  • customization !\n
  • customization !\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Présenté tout de suite le pb. Complexité\n
  • Présenté tout de suite le pb. Complexité\n
  • Présenté tout de suite le pb. Complexité\n
  • Transition avec les features models : capture de la variabilité dans les modèles pour simplifier la manipulation ou définitions séparées de la variabilité. \n
  • Transition avec les features models : capture de la variabilité dans les modèles pour simplifier la manipulation ou définitions séparées de la variabilité. \n
  • Transition avec les features models : capture de la variabilité dans les modèles pour simplifier la manipulation ou définitions séparées de la variabilité. \n
  • \n
  • Kernel ? \n
  • Pb à la fois humain et calculatoire + communauté qui fait évoluer\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • talk about feature models at the end\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Parler de validation\n
  • Parler de validation\n
  • Parler de validation\n
  • Parler de validation\n
  • Parler de validation\n
  • \n
  • \n
  • Using Composite Feature Models to Support Agile Software Product Line Evolution - Models and Evolution 2012

    1. 1. Using Composite Feature Models to Support Agile Software Product Line Evolution Simon Urli, Mireille Blay-Fornarino, Philippe Collet, Sébastien Mosser urli@i3s.unice.fr I3S Laboratory, Université de Nice-Sophia AntipolisModels and Evolution 2012 1
    2. 2. PlanModels and Evolution 2012 2
    3. 3. Plan • Usecase: ease the creation of customized information broadcasting systemModels and Evolution 2012 2
    4. 4. Plan • Usecase: ease the creation of customized information broadcasting system • Why a SPL is adapted to our usecase?Models and Evolution 2012 2
    5. 5. Plan • Usecase: ease the creation of customized information broadcasting system • Why a SPL is adapted to our usecase? • Why is it difficult to evolve this SPL?Models and Evolution 2012 2
    6. 6. Plan • Usecase: ease the creation of customized information broadcasting system • Why a SPL is adapted to our usecase? • Why is it difficult to evolve this SPL? • How a composition of feature models can help us?Models and Evolution 2012 2
    7. 7. Plan • Usecase: ease the creation of customized information broadcasting system • Why a SPL is adapted to our usecase? • Why is it difficult to evolve this SPL? • How a composition of feature models can help us? • How to manage the evolution of the different feature models independently?Models and Evolution 2012 2
    8. 8. YourCast: to ease the creation of information broadcasting systemsModels and Evolution 2012 3
    9. 9. YourCast: to ease the creation of information broadcasting systemsModels and Evolution 2012 4
    10. 10. ... and the customization for different users.Models and Evolution 2012 5
    11. 11. ... and the customization for different users.Models and Evolution 2012 5
    12. 12. YourCast: some conceptsModels and Evolution 2012 6
    13. 13. YourCast: some concepts SourcesModels and Evolution 2012 6
    14. 14. YourCast: some concepts Sources LayoutModels and Evolution 2012 6
    15. 15. YourCast: some concepts Sources Renderers LayoutModels and Evolution 2012 6
    16. 16. RequirementsModels and Evolution 2012 7
    17. 17. Requirements • One must be able to choose among all the avalaible elements: need of VariabilityModels and Evolution 2012 7
    18. 18. Requirements • One must be able to choose among all the avalaible elements: need of Variability • A community must be able to contribute to the system: need of EvolutivityModels and Evolution 2012 7
    19. 19. Requirements • One must be able to choose among all the avalaible elements: need of Variability • A community must be able to contribute to the system: need of Evolutivity • One must be able to configure a valid system at any time: need of AgilityModels and Evolution 2012 7
    20. 20. Software Product LineModels and Evolution 2012 8
    21. 21. Software Product Line • Mass production of reliables and personalized softwaresModels and Evolution 2012 8
    22. 22. Software Product Line • Mass production of reliables and personalized softwares • Generation of softwares from configurations and assetsModels and Evolution 2012 8
    23. 23. Software Product Line • Mass production of reliables and personalized softwares • Generation of softwares from configurations and assets • Configurations created by end-users from variability modelsModels and Evolution 2012 8
    24. 24. Feature ModelModels and Evolution 2012 9
    25. 25. Feature Model Key Source Mandatory feature Optional feature InfoKind Criteria XOR OR Implies PictureAlbum Announces Sort Filter Excludes Picasa FlickR AnnouncementModels and Evolution 2012 9
    26. 26. A first kernel... Key BroadcastingSystem Mandatory feature Optional feature Layout Source Renderer XOR OR Implies Classic InfoKind SupportInfo Excludes Announces Announces Announcement SimpleAnnouncesModels and Evolution 2012 10
    27. 27. ... which becomes difficult to evolve BroadcastingSystem AboutKey domain objects for now. 80 Mandatory feature About 280Optional features if we 000 feature Layout Source Renderer represent them in one FM XOR OR Implies Excludes Classic IRSAM InfoKind SupportInfo Calendar PictureAlbum Announces Announces PictureAlbum Calendar HyperCal AlbumMosaic CalendarByDay FlickR Menu AgendaSession Picasa Announcement CalendarByMonth SimpleAnnounces AlbumSlideICalReader SimpleMenuModels and Evolution 2012 11
    28. 28. Idea: composite feature modelsModels and Evolution 2012 12
    29. 29. Idea: composite feature models • Use a composition of feature models to keep things separatedModels and Evolution 2012 12
    30. 30. Idea: composite feature models • Use a composition of feature models to keep things separated • Manage the evolution of each domain objects separatelyModels and Evolution 2012 12
    31. 31. Idea: composite feature models • Use a composition of feature models to keep things separated • Manage the evolution of each domain objects separately • Manage the evolution of dependencies in abstracting themModels and Evolution 2012 12
    32. 32. Keep things separatedModels and Evolution 2012 13
    33. 33. Keep things separatedModels and Evolution 2012 13
    34. 34. What about the dependencies? BroadcastingSystem Key Mandatory feature Optional feature Layout Source Renderer XOR OR Implies Excludes Classic IRSAM InfoKind SupportInfo Calendar PictureAlbum Announces Announces PictureAlbum Calendar HyperCal AlbumMosaic CalendarByDay FlickR Menu AgendaSession Picasa Announcement CalendarByMonth SimpleAnnounces AlbumSlideICalReader SimpleMenuModels and Evolution 2012 14
    35. 35. Use models to drive composite FMs 1 RestrictionFunction FMAssociation FMAssociationEnd 0..* 1 Metamodel 1 FeatureModel DomainElement MultiplicityElement 1 BroadcastingSystem Model 1..* 1..1 1..* 1..1 1..* 1..1 1..1 Layout Renderer SourceModels and Evolution 2012 15
    36. 36. Use models to drive composite FMs BroadcastingSystem Model 1..* 1..1 1..* 1..1 1..* 1..1 1..1 Layout Renderer Source Feature modelsModels and Evolution 2012 16
    37. 37. Use models to drive composite FMs BroadcastingSystem Model 1..* 1..1 1..* 1..1 1..* 1..1 1..1 Layout Renderer Source Source Layout InfoKind Renderer Classic IRSAM SupportInfo Calendar PictureAlbum Announces Announces PictureAlbum Calendar ICalReader HyperCal Picasa FlickR Announcement Menu CalendarByDay AlbumSlide SimpleMenu CalendarByMonth AlbumMosaic AgendaSession Feature SimpleAnnounces modelsModels and Evolution 2012 16
    38. 38. Define functions to express dependencies 1 RestrictionFunction FMAssociation FMAssociationEnd 0..* 1 Metamodel 1 FeatureModel DomainElement MultiplicityElement 1 1..1 1..1 Renderer Source Model Feature modelsModels and Evolution 2012 17
    39. 39. Define functions to express dependencies 1 RestrictionFunction FMAssociation FMAssociationEnd 0..* 1 Metamodel 1 FeatureModel DomainElement MultiplicityElement 1 1..1 1..1 Renderer Source Model Feature modelsModels and Evolution 2012 17
    40. 40. Still separated FMs are complex A simplified version realized in june 2012Models and Evolution 2012 18
    41. 41. From domain objects to FMs by mergingModels and Evolution 2012 19
    42. 42. From domain objects to FMs by merging Source Source Source TypeInfo TypeInfo TypeInfo PictureAlbum PictureAlbum Tweet FlickR Picasa TwitterModels and Evolution 2012 19
    43. 43. From domain objects to FMs by merging Source Source Source TypeInfo TypeInfo TypeInfo PictureAlbum PictureAlbum Tweet FlickR Picasa Twitter ∪ FlickR Source TypeInfo PictureAlbum Picasa Tweet TwitterModels and Evolution 2012 19
    44. 44. Evolution driven by a community requires refactoring Source Source Source InfoKind Criteria InfoKind Criteria InfoKind Criteria ... Announces Sort PictureAlbum Sort PictureAlbum Sort Announcement Date FlickR DateTime Picasa ByDateModels and Evolution 2012 20
    45. 45. Evolution driven by a community requires refactoring Source Source Source InfoKind Criteria InfoKind Criteria InfoKind Criteria ... Announces Sort PictureAlbum Sort PictureAlbum Sort Announcement Date FlickR DateTime Picasa ByDateModels and Evolution 2012 21
    46. 46. Evolution driven by a community requires refactoring Source Source Source InfoKind Criteria InfoKind Criteria InfoKind Criteria ... Announces Sort PictureAlbum Sort PictureAlbum Sort Announcement Date FlickR DateTime Picasa ByDateModels and Evolution 2012 = 21
    47. 47. Use refactoring scripts to support agile evolution // renaming renameFeature sourcePicasa.DateTime as "Date" rootname = strConcat rootname "." foreach (t in s) do fname = name t newname = strConcat rootname fname renameFeature t newname end // remove/insert removeFeature sourcePicasa.Date insert fmPartiel into fm1.fmroot with MAND FAMILIAR: FeAture Model scrIpt Language for manIpulation and Automatic ReasoningModels and Evolution 2012 22
    48. 48. Conclusion 23
    49. 49. ConclusionNeed of tools to agile management offeature models evolution 23
    50. 50. ConclusionNeed of tools to agile management offeature models evolutionSeparation in many feature models 23
    51. 51. ConclusionNeed of tools to agile management offeature models evolutionSeparation in many feature modelsDefinition of a model to link concepts 23
    52. 52. ConclusionNeed of tools to agile management offeature models evolutionSeparation in many feature modelsDefinition of a model to link conceptsExpression of dependencies in the model 23
    53. 53. ConclusionNeed of tools to agile management offeature models evolutionSeparation in many feature modelsDefinition of a model to link conceptsExpression of dependencies in the modelCreation of feature models in a bottom-upapproach using a merge operator 23
    54. 54. ... and perspectives!Models and Evolution 2012 24
    55. 55. ... and perspectives! ‣ Validation of our approach on other usecases:Models and Evolution 2012 24
    56. 56. ... and perspectives! ‣ Validation of our approach on other usecases: ‣ Internet-of-Things: Sens-App projectModels and Evolution 2012 24
    57. 57. ... and perspectives! ‣ Validation of our approach on other usecases: ‣ Internet-of-Things: Sens-App project ‣ Scientific Workflows: refactoring of an existing workModels and Evolution 2012 24
    58. 58. ... and perspectives! ‣ Validation of our approach on other usecases: ‣ Internet-of-Things: Sens-App project ‣ Scientific Workflows: refactoring of an existing work ‣ Automatization of vocabulary alignment: towards ontologyModels and Evolution 2012 24
    59. 59. Thanks!Models and Evolution 2012 25
    60. 60. Thanks!Models and Evolution 2012 25
    61. 61. 26

    ×