SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
SEAA’14 -Verona August 2014
Managing a Software Ecosystem Using a
Multiple Software Product Line:
a Case Study on Digital Signage Systems
Simon Urli, Mireille Blay-Fornarino,
Philippe Collet, Sébastien Mosser, Michel Riveill
urli@i3s.unice.fr
I3S Laboratory - University Nice-Sophia Antipolis
1
SEAA’14 -Verona August 2014
SPL for software intensive systems
2
SEAA’14 -Verona August 2014
What about information systems?
3
SEAA’14 -Verona August 2014
Using SPL for Information Systems?
‣ Managing the complex variability
‣ Managing the fast evolution
‣ Integrating the final user in the SPL process
4
SEAA’14 -Verona August 20145
DIGITAL SIGNAGE SYSTEMS
SEAA’14 -Verona August 2014
Digital Signages everywhere
6
SEAA’14 -Verona August 2014
Digital Signage Systems (DSS)
7
Company
Services
Administration
Client Administration
Services
SEAA’14 -Verona August 2014
Digital Signage System Variability
8
Concepts:
- source
- layout
- zones
- renderer
- transition
Company
Services
SEAA’14 -Verona August 2014
Digital Signage System Variability
9
Concepts:
- source
- layout
- zones
- renderer
- transition
SEAA’14 -Verona August 2014
Digital Signage System Variability
10
Concepts:
- source
- layout
- zone
- renderer
- transition
SEAA’14 -Verona August 2014
Digital Signage System Variability
11
Concepts:
- source
- layout
- zone
- renderer
- transition
SEAA’14 -Verona August 2014
Digital Signage System Variability
12
Concepts:
- source
- layout
- zone
- renderer
- transition
SEAA’14 -Verona August 2014
History
13
2007: first DSS prototype
2009: DSS ecosystem
2012: start a SPL for DSS
2013: MSPL dedicated to DSS created
Today: the MSPL is still growing with its
ecosystem
SEAA’14 -Verona August 201414
Ecosystem
Decentralized
organization
Many contributors
Organic and fast
evolution
Distributed
knowledge
SEAA’14 -Verona August 201415
Ecosystem
Decentralized
organization
Many contributors
Organic and fast
evolution
Distributed
knowledge
SEAA’14 -Verona August 201416
Ecosystem
Decentralized organization
Many contributors
Organic and fast
evolution
Distributed
knowledge
SEAA’14 -Verona August 201417
Ecosystem
Decentralized organization
Many contributors
Organic and fast
evolution
Distributed
knowledge
SEAA’14 -Verona August 201418
Ecosystem
Decentralized organization
Many contributors
Organic and fast evolution
Distributed
knowledge
SEAA’14 -Verona August 2014
History
19
2007: first DSS prototype
2009: emerging DSS ecosystem
2012: start a SPL for DSS
2013: MSPL dedicated to DSS created
Today: the MSPL is still growing with its
ecosystem
j
SEAA’14 -Verona August 2014
History
20
2007: first DSS prototype
2009: emerging DSS ecosystem
2012: start a SPL for DSS
2013: MSPL dedicated to DSS created
Today: the MSPL is still growing with its
ecosystem
SEAA’14 -Verona August 201421Extracted from jSeduite presentation.Author: S. Mosser
jSeduite deployment: a lot of variability to manage!
SEAA’14 -Verona August 2014
History
22
2007: first DSS prototype
2009: emerging DSS ecosystem
2012: start a SPL for DSS
2013: MSPL dedicated to DSS created
Today: the MSPL is still growing with its
ecosystem
SEAA’14 -Verona August 2014
Goal
Build a SPL for DSS reusing the
legacy jSeduite and keeping the
ecosystem growing.
23
SEAA’14 -Verona August 2014
MSPL: several SPLs
24
GenerationTools
SPL
assets
SPL
assets
SPL
assets
SPL
assets
SPL
assets
AssetsProducts
SPL
for
layout
SPL
for
transitions
SPL
for
zones
SPL
for
renderers
SPL
for
sources
FMs
SEAA’14 -Verona August 2014
Using MSPL
‣ Managing the complex variability
‣ Managing the fast evolution
‣ Integrating the final user in the SPL process
25
SEAA’14 -Verona August 2014
Advertising
26
Layout Zone
Transition
Renderer Source
1 1..*
1
1
1 1..* 1 1
GenerationTools
MSPLassets
MSPLassets
MSPLassets
MSPLassets
MSPLassets
SPL
assets
SPL
assets
SPL
assets
SPL
assets
SPL
assets
DomainModelAssets
Shared
MSPL
assets
Products
SPL
for
layout
SPL
for
transitions
SPL
for
zones
SPL
for
renderers
SPL
for
sources
FMs
Details about reasoning
engine available at SPLC’14
@ Florence!
SEAA’14 -Verona August 2014
YourCast: MSPL Overview
27
Layout Zone
Transition
Renderer Source
1 1..*
1
1
1 1..* 1 1
GenerationTools
MSPLassets
MSPLassets
MSPLassets
MSPLassets
MSPLassets
SPL
assets
SPL
assets
SPL
assets
SPL
assets
SPL
assets
DomainModelAssets
Shared
MSPL
assets
Products
SPL
for
layout
SPL
for
transitions
SPL
for
zones
SPL
for
renderers
SPL
for
sources
FMs
2
1
4
3
SEAA’14 -Verona August 2014
Domain Model
28
Layout Zone
Transition
Renderer Source
1 1..*
1
1
1 1..* 1 1GenerationTools
MSPLassets
MSPLassets
MSPLassets
MSPLassets
MSPLassets
SPL
assets
SPL
assets
SPL
assets
SPL
assets
SPL
assets
DomainModelAssets
Shared
MSPL
assets
Products
SPL
for
layout
SPL
for
transitions
SPL
for
zones
SPL
for
renderers
SPL
for
sources
FMs
2
1
4
3
blueLayout
Zone1
Zone2
Zone3
Zone4
ForecastRenderer WeatherChannel
NoTransition
ArticleRenderer InternalNews
MosaicRenderer FlickR
Fade
RSSTitleRenderer RSSReader
ScrollingRight2Left
RSSDetailsRenderer RSSReader
PushTop2Bottom
Configuration
conforms to
SEAA’14 -Verona August 2014
Assets Management
29
Layout Zone
Transition
Renderer Source
1 1..*
1
1
1 1..* 1 1
GenerationTools
MSPLassets
MSPLassets
MSPLassets
MSPLassets
MSPLassets
SPL
assets
SPL
assets
SPL
assets
SPL
assets
SPL
assets
DomainModelAssets
Shared
MSPL
assets
Products
SPL
for
layout
SPL
for
transitions
SPL
for
zones
SPL
for
renderers
SPL
for
sources
FMs
2
1
4
3
SEAA’14 -Verona August 2014
Assets Management... and Evolution
30
Source
TypeInfo Criteria
PictureAlbum Filter
FlickR Album
+ +
FM
representing
new component
Code Assets
Textual
information
SEAA’14 -Verona August 2014
Evolving FM incrementally
31
Layout Zone
Transition
Renderer Source
1 1..*
1
1
1 1..* 1 1GenerationTools
MSPLassets
MSPLassets
MSPLassets
MSPLassets
MSPLassets
SPL
assets
SPL
assets
SPL
assets
SPL
assets
SPL
assets
DomainModelAssets
Shared
MSPL
assets
Products
SPL
for
layout
SPL
for
transitions
SPL
for
zones
SPL
for
renderers
SPL
for
sources
FMs
2
1
4
3
Source
TypeInfo Criteria
PictureAlbum Filter
FlickR Album
Mandatory feature
Optional feature
XOR
Key
Source
TypeInfo Criteria
Calendar PictureAlbum Filter
ICalReader FlickR Picasa Album Period
Source
TypeInfo Criteria
PictureAlbum Filter
Picasa Album
Source
TypeInfo Criteria
Calendar Filter
ICalReader Period
+ + =
Acher, M., Collet, P., Lahire, P., & France, R. B. (2012, March).
Separation of concerns in feature modeling: support and applications.
In Proceedings of the 11th annual international conference on Aspect-oriented Software Development. ACM.
SEAA’14 -Verona August 2014
Assets Management... and Evolution
32
Source
TypeInfo Criteria
PictureAlbum Filter
FlickR Album
+ +
Mandatory feature
Optional feature
XOR
Key
Source
TypeInfo Criteria
Calendar PictureAlbum Filter
ICalReader FlickR Picasa Album Period
Source
TypeInfo Criteria
PictureAlbum Filter
Picasa Album
Source
TypeInfo Criteria
Calendar Filter
ICalReader Period
+ =
SEAA’14 -Verona August 2014
MDE based generation
33
blueLayout
Zone1
Zone2
Zone3
Zone4
ForecastRenderer WeatherChannel
NoTransition
ArticleRenderer InternalNews
MosaicRenderer FlickR
Fade
RSSTitleRenderer RSSReader
ScrollingRight2Left
RSSDetailsRenderer RSSReader
PushTop2Bottom
conforms to
Administration
Company
Services
metamodel
SEAA’14 -Verona August 2014
History
34
2007: first DSS prototype
2009: DSS ecosystem
2012: start a SPL for DSS
2013: MSPL dedicated to DSS created
Today: the MSPL is still growing with its
ecosystem
SEAA’14 -Verona August 2014
jSeduite andYourCast in figures
35
jSeduite YourCast
Lifespan around 3 years less than 2 years
Internal developers 2 2
Contributors 14 around 35
Deployments 4 18
Number of sources around 25 68
Number of renderers around 20 74
Number of transitions mixed with renderers 15
Number of layouts around 5 13
KLOC 200 470
SEAA’14 -Verona August 2014
Tomorrow?
‣ Towards a better integration of final users
‣ More automated integration tests
‣ Automated production of documentation
‣ Managing evolution of SPL constraints
36
SEAA’14 -Verona August 2014
In a nutshell, what was the value in
creating a MSPL for our DSS
ecosystem?
• SPL benefits: ROI, fast derivation,
variability management
• Ecosystem benefits: fast evolving family
of products, many contributors
• MSPL benefits: final-user oriented SPL,
complex variability management
37
SEAA’14 -Verona August 2014
In a nutshell, where creating
a MSPL can be valuable?
• for SPL dedicated to complex domains
• for fast evolving SPL
• to manage properly a growing
ecosystem for complex domains
• to help building a community around
a complex domain
38
SEAA’14 -Verona August 2014
Thanks for your
attention!
39
urli@i3s.unice.fr

Contenu connexe

En vedette

S&L Digital Signage - Case Study - Virgin Pier Perth Airport
S&L Digital Signage - Case Study - Virgin Pier Perth AirportS&L Digital Signage - Case Study - Virgin Pier Perth Airport
S&L Digital Signage - Case Study - Virgin Pier Perth AirportTim Webb
 
Measuring Digital Signage Networks - Quividi
Measuring Digital Signage Networks - QuividiMeasuring Digital Signage Networks - Quividi
Measuring Digital Signage Networks - QuividiBroadSign
 
Measuring & Bench-marking Digital Signage
Measuring & Bench-marking Digital SignageMeasuring & Bench-marking Digital Signage
Measuring & Bench-marking Digital SignageRon Graham
 
Digital Signage Solution Malaysia
Digital Signage Solution MalaysiaDigital Signage Solution Malaysia
Digital Signage Solution MalaysiaNajib Habeb
 
Digital_Signage_Finacial_Network_BIA
Digital_Signage_Finacial_Network_BIADigital_Signage_Finacial_Network_BIA
Digital_Signage_Finacial_Network_BIAGreg Weaver
 
MCSi Digital Signage Presentation
MCSi Digital Signage PresentationMCSi Digital Signage Presentation
MCSi Digital Signage PresentationGary Quasebarth
 

En vedette (8)

S&L Digital Signage - Case Study - Virgin Pier Perth Airport
S&L Digital Signage - Case Study - Virgin Pier Perth AirportS&L Digital Signage - Case Study - Virgin Pier Perth Airport
S&L Digital Signage - Case Study - Virgin Pier Perth Airport
 
Measuring Digital Signage Networks - Quividi
Measuring Digital Signage Networks - QuividiMeasuring Digital Signage Networks - Quividi
Measuring Digital Signage Networks - Quividi
 
Measuring & Bench-marking Digital Signage
Measuring & Bench-marking Digital SignageMeasuring & Bench-marking Digital Signage
Measuring & Bench-marking Digital Signage
 
New CDS Digital Signage Brochure 2017
New CDS Digital Signage Brochure 2017New CDS Digital Signage Brochure 2017
New CDS Digital Signage Brochure 2017
 
Digital Signage Solution Malaysia
Digital Signage Solution MalaysiaDigital Signage Solution Malaysia
Digital Signage Solution Malaysia
 
Software Product Lines
Software Product LinesSoftware Product Lines
Software Product Lines
 
Digital_Signage_Finacial_Network_BIA
Digital_Signage_Finacial_Network_BIADigital_Signage_Finacial_Network_BIA
Digital_Signage_Finacial_Network_BIA
 
MCSi Digital Signage Presentation
MCSi Digital Signage PresentationMCSi Digital Signage Presentation
MCSi Digital Signage Presentation
 

Similaire à Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems

3-D Cloud Monitoring: Enabling Effective Cloud Infrastructure and Application...
3-D Cloud Monitoring: Enabling Effective Cloud Infrastructure and Application...3-D Cloud Monitoring: Enabling Effective Cloud Infrastructure and Application...
3-D Cloud Monitoring: Enabling Effective Cloud Infrastructure and Application...Florian Blum
 
Designing a Better Planet with Big Data and Sensor Networks (for Intelligent ...
Designing a Better Planet with Big Data and Sensor Networks (for Intelligent ...Designing a Better Planet with Big Data and Sensor Networks (for Intelligent ...
Designing a Better Planet with Big Data and Sensor Networks (for Intelligent ...Rainer Sternfeld
 
Sika_APIForceMuleSoftMeetUp_5April2024.pdf
Sika_APIForceMuleSoftMeetUp_5April2024.pdfSika_APIForceMuleSoftMeetUp_5April2024.pdf
Sika_APIForceMuleSoftMeetUp_5April2024.pdfMarianaLemus7
 
FIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEs
FIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEsFIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEs
FIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEsCodemotion
 
Eclipse RMF - Requirements Modeling Framework - ReqIF in der Open Source
Eclipse RMF - Requirements Modeling Framework - ReqIF in der Open Source Eclipse RMF - Requirements Modeling Framework - ReqIF in der Open Source
Eclipse RMF - Requirements Modeling Framework - ReqIF in der Open Source Mark Brörkens
 
Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_popeAddy Pope
 
Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_popeAddy Pope
 
DOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeDOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeGene Kim
 
3° Fiware Overview-Chile- Track
3° Fiware Overview-Chile- Track3° Fiware Overview-Chile- Track
3° Fiware Overview-Chile- TrackTIDChile
 
Presentazione SCOPE by flyby
Presentazione SCOPE by flyby Presentazione SCOPE by flyby
Presentazione SCOPE by flyby SLOPE Project
 
Continuous Code Quality with the sonar ecosystem
Continuous Code Quality with the sonar ecosystemContinuous Code Quality with the sonar ecosystem
Continuous Code Quality with the sonar ecosystemRoman Pickl
 
20140902 LinDa Workshop Semantincs2014 - LinDA Project Overview
20140902 LinDa Workshop Semantincs2014 - LinDA Project Overview20140902 LinDa Workshop Semantincs2014 - LinDA Project Overview
20140902 LinDa Workshop Semantincs2014 - LinDA Project OverviewLinDa_FP7
 
Data warehouse approach to statistical data management and the perspective of...
Data warehouse approach to statistical data management and the perspective of...Data warehouse approach to statistical data management and the perspective of...
Data warehouse approach to statistical data management and the perspective of...Istituto nazionale di statistica
 
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving ITDynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving ITDynatrace
 
Empirical research results for the evolution of a data-intensive software sys...
Empirical research results for the evolution of a data-intensive software sys...Empirical research results for the evolution of a data-intensive software sys...
Empirical research results for the evolution of a data-intensive software sys...Tom Mens
 
Metrics Monitoring Is So Critical - What's Your Best Approach?
Metrics Monitoring Is So Critical - What's Your Best Approach? Metrics Monitoring Is So Critical - What's Your Best Approach?
Metrics Monitoring Is So Critical - What's Your Best Approach? Wavefront
 
IO Visor Summit 2017: Welcome & Overview via Pere Monclus
IO Visor Summit 2017: Welcome & Overview via Pere MonclusIO Visor Summit 2017: Welcome & Overview via Pere Monclus
IO Visor Summit 2017: Welcome & Overview via Pere MonclusIO Visor Project
 

Similaire à Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems (20)

3-D Cloud Monitoring: Enabling Effective Cloud Infrastructure and Application...
3-D Cloud Monitoring: Enabling Effective Cloud Infrastructure and Application...3-D Cloud Monitoring: Enabling Effective Cloud Infrastructure and Application...
3-D Cloud Monitoring: Enabling Effective Cloud Infrastructure and Application...
 
Designing a Better Planet with Big Data and Sensor Networks (for Intelligent ...
Designing a Better Planet with Big Data and Sensor Networks (for Intelligent ...Designing a Better Planet with Big Data and Sensor Networks (for Intelligent ...
Designing a Better Planet with Big Data and Sensor Networks (for Intelligent ...
 
Evolving Mobile Data Application Services With SDN
Evolving Mobile Data Application Services With SDNEvolving Mobile Data Application Services With SDN
Evolving Mobile Data Application Services With SDN
 
Sip@iPLM 2016
Sip@iPLM 2016 Sip@iPLM 2016
Sip@iPLM 2016
 
Sika_APIForceMuleSoftMeetUp_5April2024.pdf
Sika_APIForceMuleSoftMeetUp_5April2024.pdfSika_APIForceMuleSoftMeetUp_5April2024.pdf
Sika_APIForceMuleSoftMeetUp_5April2024.pdf
 
FIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEs
FIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEsFIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEs
FIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEs
 
Eclipse RMF - Requirements Modeling Framework - ReqIF in der Open Source
Eclipse RMF - Requirements Modeling Framework - ReqIF in der Open Source Eclipse RMF - Requirements Modeling Framework - ReqIF in der Open Source
Eclipse RMF - Requirements Modeling Framework - ReqIF in der Open Source
 
Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_pope
 
Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_pope
 
DOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeDOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - Sonatype
 
3° Fiware Overview-Chile- Track
3° Fiware Overview-Chile- Track3° Fiware Overview-Chile- Track
3° Fiware Overview-Chile- Track
 
Presentazione SCOPE by flyby
Presentazione SCOPE by flyby Presentazione SCOPE by flyby
Presentazione SCOPE by flyby
 
Continuous Code Quality with the sonar ecosystem
Continuous Code Quality with the sonar ecosystemContinuous Code Quality with the sonar ecosystem
Continuous Code Quality with the sonar ecosystem
 
Meet the OWASP
Meet the OWASPMeet the OWASP
Meet the OWASP
 
20140902 LinDa Workshop Semantincs2014 - LinDA Project Overview
20140902 LinDa Workshop Semantincs2014 - LinDA Project Overview20140902 LinDa Workshop Semantincs2014 - LinDA Project Overview
20140902 LinDa Workshop Semantincs2014 - LinDA Project Overview
 
Data warehouse approach to statistical data management and the perspective of...
Data warehouse approach to statistical data management and the perspective of...Data warehouse approach to statistical data management and the perspective of...
Data warehouse approach to statistical data management and the perspective of...
 
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving ITDynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
 
Empirical research results for the evolution of a data-intensive software sys...
Empirical research results for the evolution of a data-intensive software sys...Empirical research results for the evolution of a data-intensive software sys...
Empirical research results for the evolution of a data-intensive software sys...
 
Metrics Monitoring Is So Critical - What's Your Best Approach?
Metrics Monitoring Is So Critical - What's Your Best Approach? Metrics Monitoring Is So Critical - What's Your Best Approach?
Metrics Monitoring Is So Critical - What's Your Best Approach?
 
IO Visor Summit 2017: Welcome & Overview via Pere Monclus
IO Visor Summit 2017: Welcome & Overview via Pere MonclusIO Visor Summit 2017: Welcome & Overview via Pere Monclus
IO Visor Summit 2017: Welcome & Overview via Pere Monclus
 

Plus de Simon Urli

Spoon: Open Source Library to analyze, rewrite, transform, transpile Java Sou...
Spoon: Open Source Library to analyze, rewrite, transform, transpile Java Sou...Spoon: Open Source Library to analyze, rewrite, transform, transpile Java Sou...
Spoon: Open Source Library to analyze, rewrite, transform, transpile Java Sou...Simon Urli
 
How to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator ProjectHow to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator ProjectSimon Urli
 
How to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator ProjectHow to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator ProjectSimon Urli
 
A Visual Support for Decomposing Complex Feature Models
A Visual Support for Decomposing Complex Feature ModelsA Visual Support for Decomposing Complex Feature Models
A Visual Support for Decomposing Complex Feature ModelsSimon Urli
 
GDR GPL 2015 - Processus de Configuration Flexible pour Lignes de Produits Lo...
GDR GPL 2015 - Processus de Configuration Flexible pour Lignes de Produits Lo...GDR GPL 2015 - Processus de Configuration Flexible pour Lignes de Produits Lo...
GDR GPL 2015 - Processus de Configuration Flexible pour Lignes de Produits Lo...Simon Urli
 
Handling Complex Configurations in Software Product Lines: a Tooled Approach
Handling Complex Configurations in Software Product Lines: a Tooled ApproachHandling Complex Configurations in Software Product Lines: a Tooled Approach
Handling Complex Configurations in Software Product Lines: a Tooled ApproachSimon Urli
 
Vers des interfaces graphiques flexibles de configurations
Vers des interfaces graphiques flexibles de configurationsVers des interfaces graphiques flexibles de configurations
Vers des interfaces graphiques flexibles de configurationsSimon Urli
 
Using Composite Feature Models to Support Agile Software Product Line Evoluti...
Using Composite Feature Models to Support Agile Software Product Line Evoluti...Using Composite Feature Models to Support Agile Software Product Line Evoluti...
Using Composite Feature Models to Support Agile Software Product Line Evoluti...Simon Urli
 

Plus de Simon Urli (8)

Spoon: Open Source Library to analyze, rewrite, transform, transpile Java Sou...
Spoon: Open Source Library to analyze, rewrite, transform, transpile Java Sou...Spoon: Open Source Library to analyze, rewrite, transform, transpile Java Sou...
Spoon: Open Source Library to analyze, rewrite, transform, transpile Java Sou...
 
How to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator ProjectHow to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator Project
 
How to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator ProjectHow to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator Project
 
A Visual Support for Decomposing Complex Feature Models
A Visual Support for Decomposing Complex Feature ModelsA Visual Support for Decomposing Complex Feature Models
A Visual Support for Decomposing Complex Feature Models
 
GDR GPL 2015 - Processus de Configuration Flexible pour Lignes de Produits Lo...
GDR GPL 2015 - Processus de Configuration Flexible pour Lignes de Produits Lo...GDR GPL 2015 - Processus de Configuration Flexible pour Lignes de Produits Lo...
GDR GPL 2015 - Processus de Configuration Flexible pour Lignes de Produits Lo...
 
Handling Complex Configurations in Software Product Lines: a Tooled Approach
Handling Complex Configurations in Software Product Lines: a Tooled ApproachHandling Complex Configurations in Software Product Lines: a Tooled Approach
Handling Complex Configurations in Software Product Lines: a Tooled Approach
 
Vers des interfaces graphiques flexibles de configurations
Vers des interfaces graphiques flexibles de configurationsVers des interfaces graphiques flexibles de configurations
Vers des interfaces graphiques flexibles de configurations
 
Using Composite Feature Models to Support Agile Software Product Line Evoluti...
Using Composite Feature Models to Support Agile Software Product Line Evoluti...Using Composite Feature Models to Support Agile Software Product Line Evoluti...
Using Composite Feature Models to Support Agile Software Product Line Evoluti...
 

Dernier

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 

Dernier (20)

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems

  • 1. SEAA’14 -Verona August 2014 Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems Simon Urli, Mireille Blay-Fornarino, Philippe Collet, Sébastien Mosser, Michel Riveill urli@i3s.unice.fr I3S Laboratory - University Nice-Sophia Antipolis 1
  • 2. SEAA’14 -Verona August 2014 SPL for software intensive systems 2
  • 3. SEAA’14 -Verona August 2014 What about information systems? 3
  • 4. SEAA’14 -Verona August 2014 Using SPL for Information Systems? ‣ Managing the complex variability ‣ Managing the fast evolution ‣ Integrating the final user in the SPL process 4
  • 5. SEAA’14 -Verona August 20145 DIGITAL SIGNAGE SYSTEMS
  • 6. SEAA’14 -Verona August 2014 Digital Signages everywhere 6
  • 7. SEAA’14 -Verona August 2014 Digital Signage Systems (DSS) 7 Company Services Administration Client Administration Services
  • 8. SEAA’14 -Verona August 2014 Digital Signage System Variability 8 Concepts: - source - layout - zones - renderer - transition Company Services
  • 9. SEAA’14 -Verona August 2014 Digital Signage System Variability 9 Concepts: - source - layout - zones - renderer - transition
  • 10. SEAA’14 -Verona August 2014 Digital Signage System Variability 10 Concepts: - source - layout - zone - renderer - transition
  • 11. SEAA’14 -Verona August 2014 Digital Signage System Variability 11 Concepts: - source - layout - zone - renderer - transition
  • 12. SEAA’14 -Verona August 2014 Digital Signage System Variability 12 Concepts: - source - layout - zone - renderer - transition
  • 13. SEAA’14 -Verona August 2014 History 13 2007: first DSS prototype 2009: DSS ecosystem 2012: start a SPL for DSS 2013: MSPL dedicated to DSS created Today: the MSPL is still growing with its ecosystem
  • 14. SEAA’14 -Verona August 201414 Ecosystem Decentralized organization Many contributors Organic and fast evolution Distributed knowledge
  • 15. SEAA’14 -Verona August 201415 Ecosystem Decentralized organization Many contributors Organic and fast evolution Distributed knowledge
  • 16. SEAA’14 -Verona August 201416 Ecosystem Decentralized organization Many contributors Organic and fast evolution Distributed knowledge
  • 17. SEAA’14 -Verona August 201417 Ecosystem Decentralized organization Many contributors Organic and fast evolution Distributed knowledge
  • 18. SEAA’14 -Verona August 201418 Ecosystem Decentralized organization Many contributors Organic and fast evolution Distributed knowledge
  • 19. SEAA’14 -Verona August 2014 History 19 2007: first DSS prototype 2009: emerging DSS ecosystem 2012: start a SPL for DSS 2013: MSPL dedicated to DSS created Today: the MSPL is still growing with its ecosystem j
  • 20. SEAA’14 -Verona August 2014 History 20 2007: first DSS prototype 2009: emerging DSS ecosystem 2012: start a SPL for DSS 2013: MSPL dedicated to DSS created Today: the MSPL is still growing with its ecosystem
  • 21. SEAA’14 -Verona August 201421Extracted from jSeduite presentation.Author: S. Mosser jSeduite deployment: a lot of variability to manage!
  • 22. SEAA’14 -Verona August 2014 History 22 2007: first DSS prototype 2009: emerging DSS ecosystem 2012: start a SPL for DSS 2013: MSPL dedicated to DSS created Today: the MSPL is still growing with its ecosystem
  • 23. SEAA’14 -Verona August 2014 Goal Build a SPL for DSS reusing the legacy jSeduite and keeping the ecosystem growing. 23
  • 24. SEAA’14 -Verona August 2014 MSPL: several SPLs 24 GenerationTools SPL assets SPL assets SPL assets SPL assets SPL assets AssetsProducts SPL for layout SPL for transitions SPL for zones SPL for renderers SPL for sources FMs
  • 25. SEAA’14 -Verona August 2014 Using MSPL ‣ Managing the complex variability ‣ Managing the fast evolution ‣ Integrating the final user in the SPL process 25
  • 26. SEAA’14 -Verona August 2014 Advertising 26 Layout Zone Transition Renderer Source 1 1..* 1 1 1 1..* 1 1 GenerationTools MSPLassets MSPLassets MSPLassets MSPLassets MSPLassets SPL assets SPL assets SPL assets SPL assets SPL assets DomainModelAssets Shared MSPL assets Products SPL for layout SPL for transitions SPL for zones SPL for renderers SPL for sources FMs Details about reasoning engine available at SPLC’14 @ Florence!
  • 27. SEAA’14 -Verona August 2014 YourCast: MSPL Overview 27 Layout Zone Transition Renderer Source 1 1..* 1 1 1 1..* 1 1 GenerationTools MSPLassets MSPLassets MSPLassets MSPLassets MSPLassets SPL assets SPL assets SPL assets SPL assets SPL assets DomainModelAssets Shared MSPL assets Products SPL for layout SPL for transitions SPL for zones SPL for renderers SPL for sources FMs 2 1 4 3
  • 28. SEAA’14 -Verona August 2014 Domain Model 28 Layout Zone Transition Renderer Source 1 1..* 1 1 1 1..* 1 1GenerationTools MSPLassets MSPLassets MSPLassets MSPLassets MSPLassets SPL assets SPL assets SPL assets SPL assets SPL assets DomainModelAssets Shared MSPL assets Products SPL for layout SPL for transitions SPL for zones SPL for renderers SPL for sources FMs 2 1 4 3 blueLayout Zone1 Zone2 Zone3 Zone4 ForecastRenderer WeatherChannel NoTransition ArticleRenderer InternalNews MosaicRenderer FlickR Fade RSSTitleRenderer RSSReader ScrollingRight2Left RSSDetailsRenderer RSSReader PushTop2Bottom Configuration conforms to
  • 29. SEAA’14 -Verona August 2014 Assets Management 29 Layout Zone Transition Renderer Source 1 1..* 1 1 1 1..* 1 1 GenerationTools MSPLassets MSPLassets MSPLassets MSPLassets MSPLassets SPL assets SPL assets SPL assets SPL assets SPL assets DomainModelAssets Shared MSPL assets Products SPL for layout SPL for transitions SPL for zones SPL for renderers SPL for sources FMs 2 1 4 3
  • 30. SEAA’14 -Verona August 2014 Assets Management... and Evolution 30 Source TypeInfo Criteria PictureAlbum Filter FlickR Album + + FM representing new component Code Assets Textual information
  • 31. SEAA’14 -Verona August 2014 Evolving FM incrementally 31 Layout Zone Transition Renderer Source 1 1..* 1 1 1 1..* 1 1GenerationTools MSPLassets MSPLassets MSPLassets MSPLassets MSPLassets SPL assets SPL assets SPL assets SPL assets SPL assets DomainModelAssets Shared MSPL assets Products SPL for layout SPL for transitions SPL for zones SPL for renderers SPL for sources FMs 2 1 4 3 Source TypeInfo Criteria PictureAlbum Filter FlickR Album Mandatory feature Optional feature XOR Key Source TypeInfo Criteria Calendar PictureAlbum Filter ICalReader FlickR Picasa Album Period Source TypeInfo Criteria PictureAlbum Filter Picasa Album Source TypeInfo Criteria Calendar Filter ICalReader Period + + = Acher, M., Collet, P., Lahire, P., & France, R. B. (2012, March). Separation of concerns in feature modeling: support and applications. In Proceedings of the 11th annual international conference on Aspect-oriented Software Development. ACM.
  • 32. SEAA’14 -Verona August 2014 Assets Management... and Evolution 32 Source TypeInfo Criteria PictureAlbum Filter FlickR Album + + Mandatory feature Optional feature XOR Key Source TypeInfo Criteria Calendar PictureAlbum Filter ICalReader FlickR Picasa Album Period Source TypeInfo Criteria PictureAlbum Filter Picasa Album Source TypeInfo Criteria Calendar Filter ICalReader Period + =
  • 33. SEAA’14 -Verona August 2014 MDE based generation 33 blueLayout Zone1 Zone2 Zone3 Zone4 ForecastRenderer WeatherChannel NoTransition ArticleRenderer InternalNews MosaicRenderer FlickR Fade RSSTitleRenderer RSSReader ScrollingRight2Left RSSDetailsRenderer RSSReader PushTop2Bottom conforms to Administration Company Services metamodel
  • 34. SEAA’14 -Verona August 2014 History 34 2007: first DSS prototype 2009: DSS ecosystem 2012: start a SPL for DSS 2013: MSPL dedicated to DSS created Today: the MSPL is still growing with its ecosystem
  • 35. SEAA’14 -Verona August 2014 jSeduite andYourCast in figures 35 jSeduite YourCast Lifespan around 3 years less than 2 years Internal developers 2 2 Contributors 14 around 35 Deployments 4 18 Number of sources around 25 68 Number of renderers around 20 74 Number of transitions mixed with renderers 15 Number of layouts around 5 13 KLOC 200 470
  • 36. SEAA’14 -Verona August 2014 Tomorrow? ‣ Towards a better integration of final users ‣ More automated integration tests ‣ Automated production of documentation ‣ Managing evolution of SPL constraints 36
  • 37. SEAA’14 -Verona August 2014 In a nutshell, what was the value in creating a MSPL for our DSS ecosystem? • SPL benefits: ROI, fast derivation, variability management • Ecosystem benefits: fast evolving family of products, many contributors • MSPL benefits: final-user oriented SPL, complex variability management 37
  • 38. SEAA’14 -Verona August 2014 In a nutshell, where creating a MSPL can be valuable? • for SPL dedicated to complex domains • for fast evolving SPL • to manage properly a growing ecosystem for complex domains • to help building a community around a complex domain 38
  • 39. SEAA’14 -Verona August 2014 Thanks for your attention! 39 urli@i3s.unice.fr