Upload
simon-urli
View
192
Download
2
Tags:
Embed Size (px)
Citation preview
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
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
EcosystemDecentralized organization
Many contributors
Organic and fast evolution
Distributed knowledge
SEAA’14 - Verona August 201415
EcosystemDecentralized organization
Many contributors
Organic and fast evolution
Distributed knowledge
SEAA’14 - Verona August 201416
EcosystemDecentralized organization
Many contributors
Organic and fast evolution
Distributed knowledge
SEAA’14 - Verona August 201417
EcosystemDecentralized organization
Many contributors
Organic and fast evolution
Distributed knowledge
SEAA’14 - Verona August 201418
EcosystemDecentralized 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
Gen
erat
ion
Tool
s
SPLassets
SPLassets
SPLassets
SPLassets
SPLassetsAs
sets
Prod
ucts
SPLfor
layout
SPLfor
transitions
SPLfor
zones
SPLfor
renderers
SPLfor
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 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!
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
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
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
SEAA’14 - Verona August 2014
Assets Management... and Evolution
30
Source
TypeInfo Criteria
PictureAlbum Filter
FlickR Album
+ +
FM representing
new componentCode Assets
Textual information
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.
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
+ =
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 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
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