Slides related to the paper "Managing a Software Ecosystem Using a Multiple Software Product Line:
a Case Study on Digital Signage Systems" presented at the Euromicro DSD/SEAA Conference 2014 @ Verone.
It's about how a multiple software product line dedicated to build digital signage systems help us to manage a growing ecosystem.
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
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
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