managing a software ecosystem using a multiple software product line: a case study on digital...

Post on 11-Jul-2015

192 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

urli@i3s.unice.fr

top related