Featured Model Types

Post on 13-Jan-2017

161 views 0 download

Transcript of Featured Model Types

FeaturedModelTypes

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

TowardsSystematicReuseinModellingLanguageEngineering

MISE@ICSE,AustinMay16,2016

www.unamur.be

ReuseDimensions[1]

2

Granularity

Scope

Specificity

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

www.unamur.be

ReuseDimensions[1]

2

Granularity

Scope

Specificity

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

www.unamur.be

ReuseDimensions[1]

2

Granularity

Scope

Specificity

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

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.

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.

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.

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.

www.unamur.be

Issues[1]

4

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

www.unamur.be

Issues[1]I1–Insufficientabstractionfrommetamodel(s)tosupport

metamodel-independentreuse

4

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

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.

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.

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.

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.

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

5

5

Systematisingmodelreusebyadoptingaproductlineapproach

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

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

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 ?

www.unamur.be

FMT:What’sinaname?

Intent:Donotreinventthewheel!Reuseexistingtechniquesasmuchaspossible!

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

Configureyourlanguage!

7

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

www.unamur.be

Domain Engineering Activities

www.unamur.be

BuildingFMTs

10

www.unamur.be

BuildingFMTs

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

10

www.unamur.be

BuildingFMTs

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

10

www.unamur.be

BuildingFMTs

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

Challenges:providingconstructionprimitivesthatsupportmergingsimilarelementsandfeatures,correctbyconstructionFMTs,evolution…

10

www.unamur.be

ValidateFMTs

11

www.unamur.be

ValidateFMTs

Purpose

11

www.unamur.be

ValidateFMTs

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

11

www.unamur.be

ValidateFMTs

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

Challenges:Scalabilityofanalyses,“verifiability”oftransformations

11

www.unamur.be

Application Engineering

www.unamur.be

ConfigureandDeriveanMTProduct

13

www.unamur.be

ConfigureandDeriveanMTProduct

PurposeConfigureyourDSMLthesamewayyouconfigureyourcar…ConfiguratorpartiallygeneratedfromthefeaturemodelProductderivationtechniques(e.g.pruning)tobuilddesiredMTautomatically

13

www.unamur.be

ConfigureandDeriveanMTProduct

PurposeConfigureyourDSMLthesamewayyouconfigureyourcar…ConfiguratorpartiallygeneratedfromthefeaturemodelProductderivationtechniques(e.g.pruning)tobuilddesiredMTautomatically

ChallengesPartialconfiguration,userguidanceontherelevanceofelements(documentationissues)

13

www.unamur.be

ValidateMTs

14

www.unamur.be

ValidateMTs

Purpose

14

www.unamur.be

ValidateMTs

PurposePerformQAactivitiesthataretooexpensiveatthedomainengineeringlevel(e.g.“integration”tests)

14

www.unamur.be

ValidateMTs

PurposePerformQAactivitiesthataretooexpensiveatthedomainengineeringlevel(e.g.“integration”tests)

14

www.unamur.be

ValidateMTs

PurposePerformQAactivitiesthataretooexpensiveatthedomainengineeringlevel(e.g.“integration”tests)

ChallengesReusingvalidationartifactsfromdomainengineering,validatingthem(e.g.MutationAnalysis)

14

www.unamur.be

MatchingandCustomisingMTS

15

www.unamur.be

MatchingandCustomisingMTS

Purpose

15

www.unamur.be

MatchingandCustomisingMTS

PurposeRelatingyourMTwithexistingmetamodels

15

www.unamur.be

MatchingandCustomisingMTS

PurposeRelatingyourMTwithexistingmetamodelsNeededifyourMTisnotaDSMLinitselfbutpartofit

15

www.unamur.be

MatchingandCustomisingMTS

PurposeRelatingyourMTwithexistingmetamodelsNeededifyourMTisnotaDSMLinitselfbutpartofitForfullyderivedMTs,existingtechniquesapply

15

www.unamur.be

MatchingandCustomisingMTS

PurposeRelatingyourMTwithexistingmetamodelsNeededifyourMTisnotaDSMLinitselfbutpartofitForfullyderivedMTs,existingtechniquesapply

15

www.unamur.be

MatchingandCustomisingMTS

PurposeRelatingyourMTwithexistingmetamodelsNeededifyourMTisnotaDSMLinitselfbutpartofitForfullyderivedMTs,existingtechniquesapply

ChallengesDealingwithpartialMTs=>“variability-aware”matching

15

www.unamur.be

Conclusion

WeproposedavisionleveragingModelTypesandFeatureModellingtosupportproduct-lineengineeringofmodellinglanguagesFMTs=supporttomanagereusableMMassetsWishlistofhigh-leveloperationstoworkwithFMTs

16

www.unamur.be

FutureWork

17