Featured Model Types
-
Upload
gilles-perrouin -
Category
Technology
-
view
161 -
download
0
Transcript of Featured Model Types
![Page 1: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/1.jpg)
FeaturedModelTypes
GillesPerrouin,MoussaAmrani,MathieuAcher,BenoîtCombemale,AxelLegay,Pierre-YvesSchobbens
TowardsSystematicReuseinModellingLanguageEngineering
MISE@ICSE,AustinMay16,2016
![Page 2: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/2.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/3.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/4.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/5.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/6.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/7.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/8.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/9.jpg)
www.unamur.be
Issues[1]
4
[1]Kuseletal.ReuseinModel-To-ModelTransformationLanguages:AreWeThereYet?SoSyM,14(2):537–572,May2015.
![Page 10: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/10.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/11.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/12.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/13.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/14.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/15.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/16.jpg)
5
![Page 17: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/17.jpg)
5
Systematisingmodelreusebyadoptingaproductlineapproach
![Page 18: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/18.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/19.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/20.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/21.jpg)
www.unamur.be
FMT:What’sinaname?
Intent:Donotreinventthewheel!Reuseexistingtechniquesasmuchaspossible!
ManageexplicitlyyourlanguageassetsOperatewithmulti-granularity(bothcoarse-/fine-grained);Createrepositoriesofspecialiseddomainassets
Configureyourlanguage!
7
![Page 22: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/22.jpg)
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](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/23.jpg)
www.unamur.be
Domain Engineering Activities
![Page 24: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/24.jpg)
www.unamur.be
BuildingFMTs
10
![Page 25: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/25.jpg)
www.unamur.be
BuildingFMTs
PurposeDefineFMTconstructionapproaches:“BigBang”:DesignFMTsexplicitlyw.r.tSPLparadigm“Incremental”:StartfromaMTandincrementallyaddfeaturesandMMelements
10
![Page 26: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/26.jpg)
www.unamur.be
BuildingFMTs
PurposeDefineFMTconstructionapproaches:“BigBang”:DesignFMTsexplicitlyw.r.tSPLparadigm“Incremental”:StartfromaMTandincrementallyaddfeaturesandMMelements
10
![Page 27: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/27.jpg)
www.unamur.be
BuildingFMTs
PurposeDefineFMTconstructionapproaches:“BigBang”:DesignFMTsexplicitlyw.r.tSPLparadigm“Incremental”:StartfromaMTandincrementallyaddfeaturesandMMelements
Challenges:providingconstructionprimitivesthatsupportmergingsimilarelementsandfeatures,correctbyconstructionFMTs,evolution…
10
![Page 28: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/28.jpg)
www.unamur.be
ValidateFMTs
11
![Page 29: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/29.jpg)
www.unamur.be
ValidateFMTs
Purpose
11
![Page 30: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/30.jpg)
www.unamur.be
ValidateFMTs
PurposeDealingwithFMTsinconsistenciesStructural:conflictingNames,references/multiplicitiesmismatches=>Canbeaddressedwithvariability-awaretypecheckingSemantic:unintendedinteractionsamongsttransformations,transformationsnotmeanttoworkonhierarchies,…CanbeaddressedviaSPLtestingorverification
11
![Page 31: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/31.jpg)
www.unamur.be
ValidateFMTs
PurposeDealingwithFMTsinconsistenciesStructural:conflictingNames,references/multiplicitiesmismatches=>Canbeaddressedwithvariability-awaretypecheckingSemantic:unintendedinteractionsamongsttransformations,transformationsnotmeanttoworkonhierarchies,…CanbeaddressedviaSPLtestingorverification
Challenges:Scalabilityofanalyses,“verifiability”oftransformations
11
![Page 32: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/32.jpg)
www.unamur.be
Application Engineering
![Page 33: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/33.jpg)
www.unamur.be
ConfigureandDeriveanMTProduct
13
![Page 34: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/34.jpg)
www.unamur.be
ConfigureandDeriveanMTProduct
PurposeConfigureyourDSMLthesamewayyouconfigureyourcar…ConfiguratorpartiallygeneratedfromthefeaturemodelProductderivationtechniques(e.g.pruning)tobuilddesiredMTautomatically
13
![Page 35: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/35.jpg)
www.unamur.be
ConfigureandDeriveanMTProduct
PurposeConfigureyourDSMLthesamewayyouconfigureyourcar…ConfiguratorpartiallygeneratedfromthefeaturemodelProductderivationtechniques(e.g.pruning)tobuilddesiredMTautomatically
ChallengesPartialconfiguration,userguidanceontherelevanceofelements(documentationissues)
13
![Page 36: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/36.jpg)
www.unamur.be
ValidateMTs
14
![Page 37: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/37.jpg)
www.unamur.be
ValidateMTs
Purpose
14
![Page 38: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/38.jpg)
www.unamur.be
ValidateMTs
PurposePerformQAactivitiesthataretooexpensiveatthedomainengineeringlevel(e.g.“integration”tests)
14
![Page 39: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/39.jpg)
www.unamur.be
ValidateMTs
PurposePerformQAactivitiesthataretooexpensiveatthedomainengineeringlevel(e.g.“integration”tests)
14
![Page 40: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/40.jpg)
www.unamur.be
ValidateMTs
PurposePerformQAactivitiesthataretooexpensiveatthedomainengineeringlevel(e.g.“integration”tests)
ChallengesReusingvalidationartifactsfromdomainengineering,validatingthem(e.g.MutationAnalysis)
14
![Page 41: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/41.jpg)
www.unamur.be
MatchingandCustomisingMTS
15
![Page 42: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/42.jpg)
www.unamur.be
MatchingandCustomisingMTS
Purpose
15
![Page 43: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/43.jpg)
www.unamur.be
MatchingandCustomisingMTS
PurposeRelatingyourMTwithexistingmetamodels
15
![Page 44: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/44.jpg)
www.unamur.be
MatchingandCustomisingMTS
PurposeRelatingyourMTwithexistingmetamodelsNeededifyourMTisnotaDSMLinitselfbutpartofit
15
![Page 45: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/45.jpg)
www.unamur.be
MatchingandCustomisingMTS
PurposeRelatingyourMTwithexistingmetamodelsNeededifyourMTisnotaDSMLinitselfbutpartofitForfullyderivedMTs,existingtechniquesapply
15
![Page 46: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/46.jpg)
www.unamur.be
MatchingandCustomisingMTS
PurposeRelatingyourMTwithexistingmetamodelsNeededifyourMTisnotaDSMLinitselfbutpartofitForfullyderivedMTs,existingtechniquesapply
15
![Page 47: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/47.jpg)
www.unamur.be
MatchingandCustomisingMTS
PurposeRelatingyourMTwithexistingmetamodelsNeededifyourMTisnotaDSMLinitselfbutpartofitForfullyderivedMTs,existingtechniquesapply
ChallengesDealingwithpartialMTs=>“variability-aware”matching
15
![Page 48: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/48.jpg)
www.unamur.be
Conclusion
WeproposedavisionleveragingModelTypesandFeatureModellingtosupportproduct-lineengineeringofmodellinglanguagesFMTs=supporttomanagereusableMMassetsWishlistofhigh-leveloperationstoworkwithFMTs
16
![Page 49: Featured Model Types](https://reader031.fdocuments.net/reader031/viewer/2022022203/587899ae1a28ab375f8b72b3/html5/thumbnails/49.jpg)
www.unamur.be
FutureWork
17