39
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 [email protected] I3S Laboratory - University Nice-Sophia Antipolis 1

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

Embed Size (px)

Citation preview

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

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

[email protected]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SEAA’14 - Verona August 2014

Thanks for your attention!

39

[email protected]