Featured Model Types
-
Upload
gilles-perrouin -
Category
Technology
-
view
161 -
download
0
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