Your SlideShare is downloading. ×
Using Composite Feature Models to Support Agile Software Product Line Evolution - Models and Evolution 2012
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

332

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
332
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
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
  • Transcript

    • 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. PlanModels and Evolution 2012 2
    • 3. Plan • Usecase: ease the creation of customized information broadcasting systemModels and Evolution 2012 2
    • 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. 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. 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. 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. YourCast: to ease the creation of information broadcasting systemsModels and Evolution 2012 3
    • 9. YourCast: to ease the creation of information broadcasting systemsModels and Evolution 2012 4
    • 10. ... and the customization for different users.Models and Evolution 2012 5
    • 11. ... and the customization for different users.Models and Evolution 2012 5
    • 12. YourCast: some conceptsModels and Evolution 2012 6
    • 13. YourCast: some concepts SourcesModels and Evolution 2012 6
    • 14. YourCast: some concepts Sources LayoutModels and Evolution 2012 6
    • 15. YourCast: some concepts Sources Renderers LayoutModels and Evolution 2012 6
    • 16. RequirementsModels and Evolution 2012 7
    • 17. Requirements • One must be able to choose among all the avalaible elements: need of VariabilityModels and Evolution 2012 7
    • 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. 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. Software Product LineModels and Evolution 2012 8
    • 21. Software Product Line • Mass production of reliables and personalized softwaresModels and Evolution 2012 8
    • 22. Software Product Line • Mass production of reliables and personalized softwares • Generation of softwares from configurations and assetsModels and Evolution 2012 8
    • 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. Feature ModelModels and Evolution 2012 9
    • 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. 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. ... 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. Idea: composite feature modelsModels and Evolution 2012 12
    • 29. Idea: composite feature models • Use a composition of feature models to keep things separatedModels and Evolution 2012 12
    • 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. 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. Keep things separatedModels and Evolution 2012 13
    • 33. Keep things separatedModels and Evolution 2012 13
    • 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. 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. 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. 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. 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. 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. Still separated FMs are complex A simplified version realized in june 2012Models and Evolution 2012 18
    • 41. From domain objects to FMs by mergingModels and Evolution 2012 19
    • 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. 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. 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. 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. 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. 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. Conclusion 23
    • 49. ConclusionNeed of tools to agile management offeature models evolution 23
    • 50. ConclusionNeed of tools to agile management offeature models evolutionSeparation in many feature models 23
    • 51. ConclusionNeed of tools to agile management offeature models evolutionSeparation in many feature modelsDefinition of a model to link concepts 23
    • 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. 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. ... and perspectives!Models and Evolution 2012 24
    • 55. ... and perspectives! ‣ Validation of our approach on other usecases:Models and Evolution 2012 24
    • 56. ... and perspectives! ‣ Validation of our approach on other usecases: ‣ Internet-of-Things: Sens-App projectModels and Evolution 2012 24
    • 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. ... 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. Thanks!Models and Evolution 2012 25
    • 60. Thanks!Models and Evolution 2012 25
    • 61. 26

    ×