featured model types

49
Featured Model Types Gilles Perrouin, Moussa Amrani, Mathieu Acher, Benoît Combemale, Axel Legay, Pierre-Yves Schobbens Towards Systematic Reuse in Modelling Language Engineering MISE@ICSE, Austin May 16, 2016

Upload: gilles-perrouin

Post on 13-Jan-2017

161 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Featured Model Types

FeaturedModelTypes

GillesPerrouin,MoussaAmrani,MathieuAcher,BenoîtCombemale,AxelLegay,Pierre-YvesSchobbens

TowardsSystematicReuseinModellingLanguageEngineering

MISE@ICSE,AustinMay16,2016

Page 2: Featured Model Types

www.unamur.be

ReuseDimensions[1]

2

Granularity

Scope

Specificity

[1]Kuseletal.ReuseinModel-To-ModelTransformationLanguages:AreWeThereYet?SoSyM,14(2):537–572,May2015.

Page 3: Featured Model Types

www.unamur.be

ReuseDimensions[1]

2

Granularity

Scope

Specificity

[1]Kuseletal.ReuseinModel-To-ModelTransformationLanguages:AreWeThereYet?SoSyM,14(2):537–572,May2015.

Page 4: Featured Model Types

www.unamur.be

ReuseDimensions[1]

2

Granularity

Scope

Specificity

[1]Kuseletal.ReuseinModel-To-ModelTransformationLanguages:AreWeThereYet?SoSyM,14(2):537–572,May2015.

Page 5: Featured Model Types

www.unamur.be

ReuseDimensions[1]

2

Granularity

Scope

Specificity

LARGE:(transparts,orinfull)

SMALL:(functions,rules,etc.)

[1]Kuseletal.ReuseinModel-To-ModelTransformationLanguages:AreWeThereYet?SoSyM,14(2):537–572,May2015.

Page 6: Featured Model Types

www.unamur.be

CONCRETE:Boundtoaspecificmetamodel/translanguage

GENERIC:Independentofmetamodel/translanguage

ReuseDimensions[1]

2

Granularity

Scope

Specificity

LARGE:(transparts,orinfull)

SMALL:(functions,rules,etc.)

[1]Kuseletal.ReuseinModel-To-ModelTransformationLanguages:AreWeThereYet?SoSyM,14(2):537–572,May2015.

Page 7: Featured Model Types

www.unamur.be

CONCRETE:Boundtoaspecificmetamodel/translanguage

GENERIC:Independentofmetamodel/translanguage

ReuseDimensions[1]

2

Granularity

Scope

Specificity

LARGE:(transparts,orinfull)

SMALL:(functions,rules,etc.)

Inter:Reusedacrossmanytransformations

INTRA:Reuseinsidethesame

transformation

[1]Kuseletal.ReuseinModel-To-ModelTransformationLanguages:AreWeThereYet?SoSyM,14(2):537–572,May2015.

Page 8: Featured Model Types

www.unamur.be

ModelReuseStrategies

• Byadaptingthetransformationtobereused

• Byadaptingthesourcemetamodel

3

[1] Salay,RickandFamelis,MichalisandRubin,JuliaandDiSandro,AlessioandChechik,Marsha.LiftingModelTransformationsToProductLines.ICSE,2014.[2] deLara,JuanandGuerra,EstherandCuadrado,JesusSanchez.A-posterioritypingforModel-DrivenEngineering.MoDELS2015.[3] Tisi,MassimoandJouault,FrédéricandFraternali,PieroandCeri,StefanoandBézivin,Jean.OnTheUseofHigher-OrderTransformations.MDA-FA,2009.[4] Guy,ClémentandCombemale,BenoîtandDerrien,StevenandSteel,JamesandJézéquel,Jean-Marc.OnModelSubtyping.ECMFA,2012.[5] Moha,NaouelandMahé,VincentandBarais,OlivierandJézéquel,Jean-Marc.GenericModelRefactorings.MoDELS2009.[6] Sen,SagarandMoha,NaouelandMahé,VincentandBarais,OlivierandBaudry,BenoîtandJézéquel,Jean-Marc.Reusablemodeltransformations.SoSyM,11(1),2010.

Page 9: Featured Model Types

www.unamur.be

Issues[1]

4

[1]Kuseletal.ReuseinModel-To-ModelTransformationLanguages:AreWeThereYet?SoSyM,14(2):537–572,May2015.

Page 10: Featured Model Types

www.unamur.be

Issues[1]I1–Insufficientabstractionfrommetamodel(s)tosupport

metamodel-independentreuse

4

[1]Kuseletal.ReuseinModel-To-ModelTransformationLanguages:AreWeThereYet?SoSyM,14(2):537–572,May2015.

Page 11: Featured Model Types

www.unamur.be

Issues[1]I1–Insufficientabstractionfrommetamodel(s)tosupport

metamodel-independentreuse

Bygeneralization:decoupletransformationlogicfromtypeinfo Bysimplification:exposeinterface;hiderealisation

4

[1]Kuseletal.ReuseinModel-To-ModelTransformationLanguages:AreWeThereYet?SoSyM,14(2):537–572,May2015.

Page 12: Featured Model Types

www.unamur.be

Issues[1]I1–Insufficientabstractionfrommetamodel(s)tosupport

metamodel-independentreuse

Bygeneralization:decoupletransformationlogicfromtypeinfo Bysimplification:exposeinterface;hiderealisation

I2–Lackofrepositoriesforsimplifyingartifactsselection,atcoarse-(e.g.,fulltransfos)andfine-grained(e.g.,functions)levels

4

[1]Kuseletal.ReuseinModel-To-ModelTransformationLanguages:AreWeThereYet?SoSyM,14(2):537–572,May2015.

Page 13: Featured Model Types

www.unamur.be

Issues[1]I1–Insufficientabstractionfrommetamodel(s)tosupport

metamodel-independentreuse

Bygeneralization:decoupletransformationlogicfromtypeinfo Bysimplification:exposeinterface;hiderealisation

I2–Lackofrepositoriesforsimplifyingartifactsselection,atcoarse-(e.g.,fulltransfos)andfine-grained(e.g.,functions)levels

I3–Lackofmeta-informationforselectingappropriatereusableelementswithoutknowingthetransformation’sinternal

4

[1]Kuseletal.ReuseinModel-To-ModelTransformationLanguages:AreWeThereYet?SoSyM,14(2):537–572,May2015.

Page 14: Featured Model Types

www.unamur.be

Issues[1]I1–Insufficientabstractionfrommetamodel(s)tosupport

metamodel-independentreuse

Bygeneralization:decoupletransformationlogicfromtypeinfo Bysimplification:exposeinterface;hiderealisation

I2–Lackofrepositoriesforsimplifyingartifactsselection,atcoarse-(e.g.,fulltransfos)andfine-grained(e.g.,functions)levels

I3–Lackofmeta-informationforselectingappropriatereusableelementswithoutknowingthetransformation’sinternal

Providedocumentation,pre-conditions,testmodels,formalrequirements,etc

4

[1]Kuseletal.ReuseinModel-To-ModelTransformationLanguages:AreWeThereYet?SoSyM,14(2):537–572,May2015.

Page 15: Featured Model Types

www.unamur.be

Issues[1]I1–Insufficientabstractionfrommetamodel(s)tosupport

metamodel-independentreuse

Bygeneralization:decoupletransformationlogicfromtypeinfo Bysimplification:exposeinterface;hiderealisation

I2–Lackofrepositoriesforsimplifyingartifactsselection,atcoarse-(e.g.,fulltransfos)andfine-grained(e.g.,functions)levels

I3–Lackofmeta-informationforselectingappropriatereusableelementswithoutknowingthetransformation’sinternal

Providedocumentation,pre-conditions,testmodels,formalrequirements,etc

4

[1]Kuseletal.ReuseinModel-To-ModelTransformationLanguages:AreWeThereYet?SoSyM,14(2):537–572,May2015.

System

aticreu

seis n

ot

there y

et

Page 16: Featured Model Types

5

Page 17: Featured Model Types

5

Systematisingmodelreusebyadoptingaproductlineapproach

Page 18: Featured Model Types

www.unamur.be

VariationsoveranFSM

6

FSM

State Transition

Graph

Vertex Edge

FSM

State Transition

Init Final

Normal

current

FSM

State Transitiontime:real

FSM

State Transition

Page 19: Featured Model Types

www.unamur.be

VariationsoveranFSM

6

FSM

State Transition

Graph

Vertex Edge

FSM

State Transition

Init Final

Normal

current

FSM

State Transitiontime:real

Applicabletransformations:minimize() : FSM

Applicabletransformations:accept() : boolean

Applicabletransformations:wcet() : real

FSM

State Transition

Page 20: Featured Model Types

www.unamur.be

VariationsoveranFSM

6

FSM

State Transition

Graph

Vertex Edge

FSM

State Transition

Init Final

Normal

current

FSM

State Transitiontime:real

Applicabletransformations:minimize() : FSM

Applicabletransformations:accept() : boolean

Applicabletransformations:wcet() : real

FSM

State Transition

Model

Typescap

ture th

e

FSMvar

iants,but

what

capturesthe

Model

Type

Variants ?

Page 21: Featured Model Types

www.unamur.be

FMT:What’sinaname?

Intent:Donotreinventthewheel!Reuseexistingtechniquesasmuchaspossible!

ManageexplicitlyyourlanguageassetsOperatewithmulti-granularity(bothcoarse-/fine-grained);Createrepositoriesofspecialiseddomainassets

Configureyourlanguage!

7

Page 22: Featured Model Types

www.unamur.be 8

FSM

Transition

Init Final

Normal

currentState

time:real

nested

r

h x t

requires

r / minimise() : FSM r ˄ h / flatten() : HFSM r ˄ t ˄ x / wcet() : real r ˄ x / accept() : Boolean

FSM_FMT

Page 23: Featured Model Types

www.unamur.be

Domain Engineering Activities

Page 24: Featured Model Types

www.unamur.be

BuildingFMTs

10

Page 25: Featured Model Types

www.unamur.be

BuildingFMTs

PurposeDefineFMTconstructionapproaches:“BigBang”:DesignFMTsexplicitlyw.r.tSPLparadigm“Incremental”:StartfromaMTandincrementallyaddfeaturesandMMelements

10

Page 26: Featured Model Types

www.unamur.be

BuildingFMTs

PurposeDefineFMTconstructionapproaches:“BigBang”:DesignFMTsexplicitlyw.r.tSPLparadigm“Incremental”:StartfromaMTandincrementallyaddfeaturesandMMelements

10

Page 27: Featured Model Types

www.unamur.be

BuildingFMTs

PurposeDefineFMTconstructionapproaches:“BigBang”:DesignFMTsexplicitlyw.r.tSPLparadigm“Incremental”:StartfromaMTandincrementallyaddfeaturesandMMelements

Challenges:providingconstructionprimitivesthatsupportmergingsimilarelementsandfeatures,correctbyconstructionFMTs,evolution…

10

Page 28: Featured Model Types

www.unamur.be

ValidateFMTs

11

Page 29: Featured Model Types

www.unamur.be

ValidateFMTs

Purpose

11

Page 30: Featured Model Types

www.unamur.be

ValidateFMTs

PurposeDealingwithFMTsinconsistenciesStructural:conflictingNames,references/multiplicitiesmismatches=>Canbeaddressedwithvariability-awaretypecheckingSemantic:unintendedinteractionsamongsttransformations,transformationsnotmeanttoworkonhierarchies,…CanbeaddressedviaSPLtestingorverification

11

Page 31: Featured Model Types

www.unamur.be

ValidateFMTs

PurposeDealingwithFMTsinconsistenciesStructural:conflictingNames,references/multiplicitiesmismatches=>Canbeaddressedwithvariability-awaretypecheckingSemantic:unintendedinteractionsamongsttransformations,transformationsnotmeanttoworkonhierarchies,…CanbeaddressedviaSPLtestingorverification

Challenges:Scalabilityofanalyses,“verifiability”oftransformations

11

Page 32: Featured Model Types

www.unamur.be

Application Engineering

Page 33: Featured Model Types

www.unamur.be

ConfigureandDeriveanMTProduct

13

Page 34: Featured Model Types

www.unamur.be

ConfigureandDeriveanMTProduct

PurposeConfigureyourDSMLthesamewayyouconfigureyourcar…ConfiguratorpartiallygeneratedfromthefeaturemodelProductderivationtechniques(e.g.pruning)tobuilddesiredMTautomatically

13

Page 35: Featured Model Types

www.unamur.be

ConfigureandDeriveanMTProduct

PurposeConfigureyourDSMLthesamewayyouconfigureyourcar…ConfiguratorpartiallygeneratedfromthefeaturemodelProductderivationtechniques(e.g.pruning)tobuilddesiredMTautomatically

ChallengesPartialconfiguration,userguidanceontherelevanceofelements(documentationissues)

13

Page 36: Featured Model Types

www.unamur.be

ValidateMTs

14

Page 37: Featured Model Types

www.unamur.be

ValidateMTs

Purpose

14

Page 38: Featured Model Types

www.unamur.be

ValidateMTs

PurposePerformQAactivitiesthataretooexpensiveatthedomainengineeringlevel(e.g.“integration”tests)

14

Page 39: Featured Model Types

www.unamur.be

ValidateMTs

PurposePerformQAactivitiesthataretooexpensiveatthedomainengineeringlevel(e.g.“integration”tests)

14

Page 40: Featured Model Types

www.unamur.be

ValidateMTs

PurposePerformQAactivitiesthataretooexpensiveatthedomainengineeringlevel(e.g.“integration”tests)

ChallengesReusingvalidationartifactsfromdomainengineering,validatingthem(e.g.MutationAnalysis)

14

Page 41: Featured Model Types

www.unamur.be

MatchingandCustomisingMTS

15

Page 42: Featured Model Types

www.unamur.be

MatchingandCustomisingMTS

Purpose

15

Page 43: Featured Model Types

www.unamur.be

MatchingandCustomisingMTS

PurposeRelatingyourMTwithexistingmetamodels

15

Page 44: Featured Model Types

www.unamur.be

MatchingandCustomisingMTS

PurposeRelatingyourMTwithexistingmetamodelsNeededifyourMTisnotaDSMLinitselfbutpartofit

15

Page 45: Featured Model Types

www.unamur.be

MatchingandCustomisingMTS

PurposeRelatingyourMTwithexistingmetamodelsNeededifyourMTisnotaDSMLinitselfbutpartofitForfullyderivedMTs,existingtechniquesapply

15

Page 46: Featured Model Types

www.unamur.be

MatchingandCustomisingMTS

PurposeRelatingyourMTwithexistingmetamodelsNeededifyourMTisnotaDSMLinitselfbutpartofitForfullyderivedMTs,existingtechniquesapply

15

Page 47: Featured Model Types

www.unamur.be

MatchingandCustomisingMTS

PurposeRelatingyourMTwithexistingmetamodelsNeededifyourMTisnotaDSMLinitselfbutpartofitForfullyderivedMTs,existingtechniquesapply

ChallengesDealingwithpartialMTs=>“variability-aware”matching

15

Page 48: Featured Model Types

www.unamur.be

Conclusion

WeproposedavisionleveragingModelTypesandFeatureModellingtosupportproduct-lineengineeringofmodellinglanguagesFMTs=supporttomanagereusableMMassetsWishlistofhigh-leveloperationstoworkwithFMTs

16

Page 49: Featured Model Types

www.unamur.be

FutureWork

17