managing a software ecosystem using a multiple software product line: a case study on digital...
TRANSCRIPT
![Page 1: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/1.jpg)
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
I3S Laboratory - University Nice-Sophia Antipolis
1
![Page 2: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/2.jpg)
SEAA’14 - Verona August 2014
SPL for software intensive systems
2
![Page 3: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/3.jpg)
SEAA’14 - Verona August 2014
What about information systems?
3
![Page 4: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/4.jpg)
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
![Page 5: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/5.jpg)
SEAA’14 - Verona August 20145
DIGITAL SIGNAGE SYSTEMS
![Page 6: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/6.jpg)
SEAA’14 - Verona August 2014
Digital Signages everywhere
6
![Page 7: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/7.jpg)
SEAA’14 - Verona August 2014
Digital Signage Systems (DSS)
7
Company Services
Administration
Client Administration
Services
![Page 8: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/8.jpg)
SEAA’14 - Verona August 2014
Digital Signage System Variability
8
Concepts:- source- layout- zones- renderer- transition
Company Services
![Page 9: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/9.jpg)
SEAA’14 - Verona August 2014
Digital Signage System Variability
9
Concepts:- source- layout- zones- renderer- transition
![Page 10: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/10.jpg)
SEAA’14 - Verona August 2014
Digital Signage System Variability
10
Concepts:- source- layout- zone- renderer- transition
![Page 11: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/11.jpg)
SEAA’14 - Verona August 2014
Digital Signage System Variability
11
Concepts:- source- layout- zone- renderer- transition
![Page 12: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/12.jpg)
SEAA’14 - Verona August 2014
Digital Signage System Variability
12
Concepts:- source- layout- zone- renderer- transition
![Page 13: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/13.jpg)
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
![Page 14: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/14.jpg)
SEAA’14 - Verona August 201414
EcosystemDecentralized organization
Many contributors
Organic and fast evolution
Distributed knowledge
![Page 15: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/15.jpg)
SEAA’14 - Verona August 201415
EcosystemDecentralized organization
Many contributors
Organic and fast evolution
Distributed knowledge
![Page 16: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/16.jpg)
SEAA’14 - Verona August 201416
EcosystemDecentralized organization
Many contributors
Organic and fast evolution
Distributed knowledge
![Page 17: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/17.jpg)
SEAA’14 - Verona August 201417
EcosystemDecentralized organization
Many contributors
Organic and fast evolution
Distributed knowledge
![Page 18: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/18.jpg)
SEAA’14 - Verona August 201418
EcosystemDecentralized organization
Many contributors
Organic and fast evolution
Distributed knowledge
![Page 19: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/19.jpg)
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
![Page 20: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/20.jpg)
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
![Page 21: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/21.jpg)
SEAA’14 - Verona August 201421Extracted from jSeduite presentation. Author: S. Mosser
jSeduite deployment: a lot of variability to manage!
![Page 22: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/22.jpg)
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
![Page 23: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/23.jpg)
SEAA’14 - Verona August 2014
Goal
Build a SPL for DSS reusing the legacy jSeduite and keeping the
ecosystem growing.
23
![Page 24: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/24.jpg)
SEAA’14 - Verona August 2014
MSPL: several SPLs
24
Gen
erat
ion
Tool
s
SPLassets
SPLassets
SPLassets
SPLassets
SPLassetsAs
sets
Prod
ucts
SPLfor
layout
SPLfor
transitions
SPLfor
zones
SPLfor
renderers
SPLfor
sources
FMs
![Page 25: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/25.jpg)
SEAA’14 - Verona August 2014
Using MSPL
‣ Managing the complex variability
‣ Managing the fast evolution
‣ Integrating the final user in the SPL process
25
![Page 26: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/26.jpg)
SEAA’14 - Verona August 2014
Advertising
26
Layout Zone
Transition
Renderer Source1 1..*
11
1 1..* 1 1
Gen
erat
ion
Tool
s
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
SPLassets
SPLassets
SPLassets
SPLassets
SPLassets
Dom
ain
Mod
elAs
sets Shared
MSPLassets
Prod
ucts
SPLfor
layout
SPLfor
transitions
SPLfor
zones
SPLfor
renderers
SPLfor
sources
FMs
Details about reasoning engine available at SPLC’14
@ Florence!
![Page 27: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/27.jpg)
SEAA’14 - Verona August 2014
YourCast: MSPL Overview
27
Layout Zone
Transition
Renderer Source1 1..*
11
1 1..* 1 1
Gen
erat
ion
Tool
s
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
SPLassets
SPLassets
SPLassets
SPLassets
SPLassets
Dom
ain
Mod
elAs
sets Shared
MSPLassets
Prod
ucts
SPLfor
layout
SPLfor
transitions
SPLfor
zones
SPLfor
renderers
SPLfor
sources
FMs2
1
4
3
![Page 28: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/28.jpg)
SEAA’14 - Verona August 2014
Domain Model
28
Layout Zone
Transition
Renderer Source1 1..*
11
1 1..* 1 1G
ener
atio
n To
ols
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
SPLassets
SPLassets
SPLassets
SPLassets
SPLassets
Dom
ain
Mod
elAs
sets Shared
MSPLassets
Prod
ucts
SPLfor
layout
SPLfor
transitions
SPLfor
zones
SPLfor
renderers
SPLfor
sources
FMs2
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
![Page 29: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/29.jpg)
SEAA’14 - Verona August 2014
Assets Management
29
Layout Zone
Transition
Renderer Source1 1..*
11
1 1..* 1 1
Gen
erat
ion
Tool
s
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
SPLassets
SPLassets
SPLassets
SPLassets
SPLassets
Dom
ain
Mod
elAs
sets Shared
MSPLassets
Prod
ucts
SPLfor
layout
SPLfor
transitions
SPLfor
zones
SPLfor
renderers
SPLfor
sources
FMs2
1
4
3
![Page 30: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/30.jpg)
SEAA’14 - Verona August 2014
Assets Management... and Evolution
30
Source
TypeInfo Criteria
PictureAlbum Filter
FlickR Album
+ +
FM representing
new componentCode Assets
Textual information
![Page 31: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/31.jpg)
SEAA’14 - Verona August 2014
Evolving FM incrementally
31
Layout Zone
Transition
Renderer Source1 1..*
11
1 1..* 1 1G
ener
atio
n To
ols
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
MSP
L as
sets
SPLassets
SPLassets
SPLassets
SPLassets
SPLassets
Dom
ain
Mod
elAs
sets Shared
MSPLassets
Prod
ucts
SPLfor
layout
SPLfor
transitions
SPLfor
zones
SPLfor
renderers
SPLfor
sources
FMs2
1
4
3Source
TypeInfo Criteria
PictureAlbum Filter
FlickR Album
Mandatory featureOptional 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.
![Page 32: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/32.jpg)
SEAA’14 - Verona August 2014
Assets Management... and Evolution
32
Source
TypeInfo Criteria
PictureAlbum Filter
FlickR Album
+ +
Mandatory featureOptional 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
+ =
![Page 33: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/33.jpg)
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
![Page 34: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/34.jpg)
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
![Page 35: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/35.jpg)
SEAA’14 - Verona August 2014
jSeduite and YourCast in figures
35
jSeduite YourCastLifespan around 3 years less than 2 years
Internal developers 2 2Contributors 14 around 35Deployments 4 18
Number of sources around 25 68Number of renderers around 20 74Number of transitions mixed with renderers 15
Number of layouts around 5 13KLOC 200 470
![Page 36: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/36.jpg)
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
![Page 37: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/37.jpg)
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
![Page 38: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/38.jpg)
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
![Page 39: Managing a Software Ecosystem Using a Multiple Software Product Line: a Case Study on Digital Signage Systems](https://reader033.vdocuments.us/reader033/viewer/2022060205/55a103951a28abe6078b468e/html5/thumbnails/39.jpg)
SEAA’14 - Verona August 2014
Thanks for your attention!
39