Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Executable Metamodeling for Model V&V (May 25th, 2010)
1. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Executable Metamodeling for Model V&V
Benoît Combemale
University of Rennes 1,
TRISKELL team (IRISA & INRIA)
benoit.combemale@irisa.fr
May 25, 2010
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 1 / 33
2. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Short CV
2009 – ... Associate Professor
University of Rennes 1, Triskell team (INRIA & IRISA, Fr.).
Research Interests: MDE, MDLE, Formal behavioral semantics of languages, V&V,
Models@runtime
2008 – 2009 Post-Doctoral Fellow
EMN, AtlanMod team (EMN & INRIA, Fr.).
Research Interests: Infinite Model (Definition and Transformation)
2005 – 2008 PhD Candidate
INPT ENSEEIHT, ACADIE team (IRIT, Fr.).
PhD Thesis: « Metamodeling Approach for Model Simulation and Verification »
2004 – 2005 M.Sc. « Software Safety »
ENSEEIHT (INPT), ISYCOM team (GRIMM, Fr.)
Master Thesis: « Specification and Verification of Process Model »
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 2 / 33
3. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Context
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 3 / 33
4. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Context
Modèle
<<représente>>
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 3 / 33
5. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Context
Concepteur
Modèle
<<représente>>
Langage
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 3 / 33
6. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Context
générateurs
Concepteur
simulateurs
vérificateurs
Modèle
<<représente>>
Langage
éditeur
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 3 / 33
7. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Context
générateurs
Concepteur
simulateurs
vérificateurs
Modèle
<<représente>>
Langage
éditeur
Méta
Modèle
<<représente>>
<<conformeA>>
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 3 / 33
8. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Context
générateurs
Concepteur
simulateurs
vérificateurs
Modèle
<<représente>>
Modèle
<<représente>>
Modèle
<<représente>>
Modèle
<<représente>>
DSML
éditeur
Concepteur
DSML
Concepteur
DSML
Concepteur
DSML
DSML = Domain Specific Modeling Language
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 3 / 33
9. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Context
générateurs
Concepteur
simulateurs
vérificateurs
Modèle
<<représente>>
Modèle
<<représente>>
Modèle
<<représente>>
Modèle
<<représente>>
DSML
éditeur
générateurs
Concepteur
simulateurs
vérificateurs
DSML
éditeur
générateurs
Concepteur
simulateurs
vérificateurs
DSML
éditeur
générateurs
Concepteur
simulateurs
vérificateurs
DSML
éditeur
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 3 / 33
10. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Objectives
générateurs
Concepteur
simulateurs
vérificateurs
Modèle
<<représente>>
Modèle
<<représente>>
Modèle
<<représente>>
Modèle
<<représente>>
DSML
éditeur
générateurs
Concepteur
simulateurs
vérificateurs
DSML
éditeur
générateurs
Concepteur
simulateurs
vérificateurs
DSML
éditeur
générateurs
Concepteur
simulateurs
vérificateurs
DSML
éditeur
Methodological foundations for executable metamodeling
To capture the necessary information in metamodel for model execution,
To support generative approaches that ease the definition of V&V tools.
Formal foundations for executable metamodeling
To validate the use of formal verification tools,
To validate the consistencies between the use of different tools.
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 4 / 33
11. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Operational Semantics Vs. Translational Semantics
MyDSML
Metamodel
Rules
endogenous
transformation
Operational Semantics
+ intuitive definition,
− requires to define tools (e.g.,
V&V) for each DSML.
MyDSML
Metamodel
FormalDomain
Data
Structure
Rules
exogenous
transformation
Translational Semantics
− expression of semantic equivalences,
+ allows to reuse existing tools (in the
target domain).
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 5 / 33
12. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
DSML semantics using operational semantics
May be achieved thanks to :
meta-programming language (kermeta, action language. . . )
startable() Operation : Kermeta code
operation startable() : Boolean is do
var start_ok : kermeta::standard::Boolean
var previousActivities : seq Activity [0..*]
var prevPrecedes : seq Precedes [0..*]
if progress==-1 then
// Getting the activities which have to be started
prevPrecedes := previous.select{p | p.kind ==
PrecedenceKind.pk_start_start }
previousActivities := prevPrecedes.collect{p | p.before}
start_ok := previousActivities.forAll{a | a.progress >= 0}
// Getting the activities which have to be finished
prevPrecedes := previous.select{p | p.kind ==
PrecedenceKind.pk_finish_start }
previousActivities := prevPrecedes.collect{p | p.before}
start_ok := start_ok and
(previousActivities.forAll{a | a.progress==100})
result := start_ok or (previous.size() == 0)
else
result := false
end
end
endogenous transformations (ATL. . . )
Main advantage: Deals with concepts related to the DSL.
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 6 / 33
13. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
DSML semantics using translational semantics
Example : Mapping a SimplePDL model into a time Petri net one to use the
TINA toolkit.
SimplePDL
.ecore
Process
.pdl
PDL2PN
.atl
Process
.net
Properties
.ltl
Tina
ATL<<instanceOf>> Process
.Petri
Net
Petrinet
.ecore
<<instanceOf>>
Main advantage: reuse the tools available in the target technical space.
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 7 / 33
14. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Contributions
Executable
Metamodeling Approach
FinishToStart
FinishToStart
FinishToStart
Formal Verification
by Model-Checking
Model Simulation
by Graphical Animation
Formal Foundations for
Executable Metamodeling
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 8 / 33
15. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Outline
1 Context and Objectives
2 Executable Metamodeling Approach to Support Model V&V
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
3 Formal Foundations for Executable Metamodeling
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
Intuitive approach
Formal definitions
Application to EMOF and OMG pyramid issues
4 Conclusion & Future Works
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 9 / 33
16. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Outline
1 Context and Objectives
2 Executable Metamodeling Approach to Support Model V&V
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
3 Formal Foundations for Executable Metamodeling
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
Intuitive approach
Formal definitions
Application to EMOF and OMG pyramid issues
4 Conclusion & Future Works
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 10 / 33
17. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
A Design Pattern for Executable DSML
Events Definition
MetaModel
EDMM
Domain Definition
MetaModel
DDMM
States Definition
MetaModel
SDMM
<<merge>>
<<merge>>
<<merge>>
Trace Management
MetaModel
TM3
<<import>>
Semantics
Mapping
Semantics
Action Language or
Model Transformation
Metamodeling Language
(e.g., MOF)
MetaMetaModel
(M3)
MetaModel
(M2)
<<conformsTo>>
<<conformsTo>>
<<triggeredBy>>
<<changes>>
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 11 / 33
18. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
A Design Pattern for Executable DSML
Domain Definition MetaModel (DDMM)
Capture the structural information (domain specific concepts, their
relationships and their constraints.
States Definition MetaModel (SDMM)
Capture the "dynamic" information, characterizing the whole possible states of
model (during execution).
Events Definition MetaModel (EDMM)
Capture the events (and their parameters) that evolve the model execution.
Trace Management MetaModel (TM3)
Capture sets of event through traces and scenarios.
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 12 / 33
19. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
A Design Pattern for Executable DSML
Domain Definition MetaModel (DDMM)
States Definition MetaModel (SDMM)
Events Definition MetaModel (EDMM)
Trace Management MetaModel (TM3)
A Design Pattern for Executable DSML
Lm =< AS,CS∗,M∗
ac,SD,Mas >, s.t.
AS = {DDMM,SDMM,EDMM}∪{TM3}
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 13 / 33
20. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
Events Definition
MetaModel
EDMM
Domain Definition
MetaModel
DDMM
States Definition
MetaModel
SDMM
<<merge>><<merge>>
<<merge>>
Animator
Editor
Scenario
Builder
Trace Management
MetaModel
TM3
<<import>>
Execution Engine
& Control Panel
Figure: DSML-based Tooling
Control
Panel
Graphical
Animator
MDDMM
Scenario
Builder
Model Execution Framework
Generic Execution Engine
A Semantics for an
Executable Language
Graphical
Editor
MEDMM
MSDMM
control
update
create
create
use
update
use
visualize
Figure: Interactions between Components
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 14 / 33
21. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
Events Definition
MetaModel
EDMM
Domain Definition
MetaModel
DDMM
States Definition
MetaModel
SDMM
<<merge>><<merge>>
<<merge>>
Trace Management
MetaModel
TM3
<<import>>
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 15 / 33
22. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
reactionOnEv1()
...
reactionOnEvN()
Semantics2
Events Definition
MetaModel
EDMM
Domain Definition
MetaModel
DDMM
States Definition
MetaModel
SDMM
<<merge>><<merge>>
<<merge>>
reactionOnEv1()
...
reactionOnEvN()
Semantics
reactionOnEv1()
...
reactionOnEvN()
Semantics1
Trace Management
MetaModel
TM3
<<import>>
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 15 / 33
23. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
reactionOnEv1()
...
reactionOnEvN()
Semantics2
Action Languages
Events Definition
MetaModel
EDMM
Domain Definition
MetaModel
DDMM
States Definition
MetaModel
SDMM
<<merge>><<merge>>
<<merge>>
reactionOnEv1()
...
reactionOnEvN()
Semantics
reactionOnEv1()
...
reactionOnEvN()
Semantics1
Trace Management
MetaModel
TM3
<<import>>
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 15 / 33
24. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
reactionOnEv1()
...
reactionOnEvN()
Semantics2
Action Languages
Events Definition
MetaModel
EDMM
Domain Definition
MetaModel
DDMM
States Definition
MetaModel
SDMM
<<merge>><<merge>>
<<merge>>
reactionOnEv1()
...
reactionOnEvN()
Semantics
reactionOnEv1()
...
reactionOnEvN()
Semantics1
Trace Management
MetaModel
TM3
<<import>>
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 15 / 33
25. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
reactionOnEv1()
...
reactionOnEvN()
Semantics2
Action Languages
Events Definition
MetaModel
EDMM
Domain Definition
MetaModel
DDMM
States Definition
MetaModel
SDMM
<<merge>><<merge>>
<<merge>>
reactionOnEv1()
...
reactionOnEvN()
Semantics
reactionOnEv1()
...
reactionOnEvN()
Semantics1
Trace Management
MetaModel
TM3
<<import>>
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 15 / 33
26. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
reactionOnEv1()
...
reactionOnEvN()
Semantics2
Action Languages
Events Definition
MetaModel
EDMM
Domain Definition
MetaModel
DDMM
States Definition
MetaModel
SDMM
<<merge>><<merge>>
<<merge>>
reactionOnEv1()
...
reactionOnEvN()
Semantics
reactionOnEv1()
...
reactionOnEvN()
Semantics1
Animateur
Editeur
Constructeur
de scénario
Trace Management
MetaModel
TM3
<<import>>
Moteur de simulation &
panneau de contrôle
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 15 / 33
27. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
Graphical
Editor
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33
28. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
MDDMM
Graphical
Editor
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33
29. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
MDDMM
Scenario
Builder
Graphical
Editor
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33
30. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
MDDMM
Scenario
Builder
Graphical
Editor
MEDMM
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33
31. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
MDDMM
Scenario
Builder
Simulation Engine
Graphical
Editor
MEDMM
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33
32. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
MDDMM
Scenario
Builder
Simulation Engine
Generic Simulation Engine
DSML_1
Semantics
Graphical
Editor
MEDMM
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33
33. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
MDDMM
Scenario
Builder
Simulation Engine
Generic Simulation Engine
DSML_1
Semantics
Graphical
Editor
MEDMM
MSDMM
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33
34. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
Graphical
Animator
MDDMM
Scenario
Builder
Simulation Engine
Generic Simulation Engine
DSML_1
Semantics
Graphical
Editor
MEDMM
MSDMM
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33
35. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
Graphical
Animator
MDDMM
Scenario
Builder
Simulation Engine
Generic Simulation Engine
DSML_1
Semantics
Graphical
Editor
MEDMM
MSDMM
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33
36. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
Graphical
Animator
MDDMM
Scenario
Builder
Simulation Engine
Generic Simulation Engine
DSML_1
Semantics
Graphical
Editor
MEDMM
MSDMM
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33
37. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Model Simulation
Control
Panel
Graphical
Animator
MDDMM
Scenario
Builder
Simulation Engine
Generic Simulation Engine
DSML_1
Semantics
Graphical
Editor
MEDMM
MSDMM
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33
38. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Formal Verification
xSPEM
.ecore
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 17 / 33
39. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Formal Verification
xSPEM
.ecore
myProcess
.xspem
myProcess
.net
<<conformsTo>>
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 17 / 33
40. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Formal Verification
xSPEM
.ecore
PetriNet
.ecore
myProcess
.xspem
myProcess
.PetriNet
myProcess
.net
<<conformsTo>>
<<conformsTo>>
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 17 / 33
41. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Formal Verification
xSPEM
.ecore
PetriNet
.ecore
myProcess
.xspem
myProcess
.PetriNet
xSPEM2
PetriNet
.atl
myProcess
.net
<<conformsTo>>
<<conformsTo>>
ATL
(M2M)
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 17 / 33
42. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Formal Verification
xSPEM
.ecore
PetriNet
.ecore
myProcess
.xspem
myProcess
.PetriNet
xSPEM2
PetriNet
.atl
myProcess
.net
<<conformsTo>>
<<conformsTo>>
ATL
(M2M)
Tina.tcs
TCS
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 17 / 33
43. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Formal Verification
xSPEM
.ecore
PetriNet
.ecore
myProcess
.xspem
myProcess
.PetriNet
xSPEM2
PetriNet
.atl
myProcess
.net
<<conformsTo>>
<<conformsTo>>
ATL
(M2M)
Tina.tcs
TCS
DDMM: réseau de Petri (RdP)
SDMM: marquage du RdP
EDMM: preuve de bisimulation
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 17 / 33
44. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Formal Verification
Tina
xSPEM
.ecore
PetriNet
.ecore
myProcess
.xspem
myProcess
.PetriNet
xSPEM2
PetriNet
.atl
myProcess
.net
<<conformsTo>>
<<conformsTo>>
ATL
(M2M)
Tina.tcs
TCS
DDMM: réseau de Petri (RdP)
SDMM: marquage du RdP
EDMM: preuve de bisimulation
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 17 / 33
45. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
Using the Design Pattern for Formal Verification
ATL
(M2T)
Tina
xSPEM
.ecore
PetriNet
.ecore
myProcess
.xspem
myProcess
.PetriNet
xSPEM2
PetriNet
.atl
myProcess
.net
<<conformsTo>>
<<conformsTo>>
ATL
(M2M)
Tina.tcs
TCS
properties
.ltl
TOCL
.ecore
properties
.tocl
<<conformsTo>>
<<use>>
TOCL2
LTL
.atl
<<dependOn>>
DDMM: réseau de Petri (RdP)
SDMM: marquage du RdP
EDMM: preuve de bisimulation
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 17 / 33
46. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
Outline
1 Context and Objectives
2 Executable Metamodeling Approach to Support Model V&V
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
3 Formal Foundations for Executable Metamodeling
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
Intuitive approach
Formal definitions
Application to EMOF and OMG pyramid issues
4 Conclusion & Future Works
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 18 / 33
47. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
Consistency of multiple semantics
Usefulness of several semantics
Define operational semantics for model interpretation.
Define translational semantics to reuse tools or code generation.
Problem
How to assert that all the defined semantics are consistent?
Our solution
Defining a framework based on formal tools like the COQ proof assistant to
1 define operational semantics of the DSL (called reference semantics)
2 define operational semantics of the technical space (semantic domain)
3 express the mapping from the DSL to the semantic domain
4 prove the equivalence of translational semantics and reference semantics
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 19 / 33
48. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
Issues
How to formally express the concepts of
models, metamodels,
meta-metamodels. . . ?
⇒ what are their various types ?
⇒ what is the encoding in a formal domain
semantics ?
With this encoding, how to express the
structural and behavioral semantics ?
⇒ does a model conform to its language ?
⇒ are two languages equivalent from a
structural or behavioral point of view ?
Warning: the OMG vision being one
of the possible MDE view... The
framework must be more general.
M1
M
0
M2
M3
metamodel(UML, SPEM...)
model(UML models...)
"real" world
metametamodel
(MOF)
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 20 / 33
49. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
ReferenceModel and Model
Intuitive approach
REFERENCEMODEL ( concepts,relations,semantics ):
modelling language from which one can define a family of models,
specifies the semantic properties of its models.
MODEL ( objects,links ): the instance level.
Model (M) ReferenceModel (RM)
<<promotionOf>>
<<conformsTo>>
A model MUST conform to a RM.
A RM may be directly defined.
A RM may be obtained as the promotion of a model.
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 21 / 33
50. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
Conformity and Promotion
Intuitive approach
Conformity
1 Every object o in M is the instance of a class C in RM;
2 Every link between two objects is such that it exists, in RM, a reference
between the two classes typing the two elements.
3 Every semantic property defined in RM is satisfied in M.
Promotion
1 Identify the different concepts among the model elements.
2 Identify relations between the previous concepts.
3 Define the different semantic properties that must hold on the models that
conform to the Reference Model.
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 22 / 33
51. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
Formal Approach
General Definitions
Let us consider:
Definition
Classes the set of all possible classes,
References the set of reference labels,
Objects the set of instances of such classes.
Definition
C ⊆ Classes be a set of classes,
R ⊆ { c1,r,c2 | c1,c2 ∈ C ,r ∈References} be the set of references
among classes where
∀c1 ∈ C ,r ∈References, card{ c1,r,c2 ∈ R} ≤ 1.
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 23 / 33
52. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
Formal Approach
Model and ReferenceModel
Definition (Model)
A model MV,ME ∈ Model(C ,R) is a multigraph built over a finite set MV of
typed objects and a finite set ME of typed edges such that:
MV ⊆ { o,c | o ∈ Objects,c ∈ C }
ME ⊆ o1,c1 ,r, o2,c2 o1,c1 , o2,c2 ∈ MV, c1,r,c2 ∈ R
Definition (ReferenceModel)
A reference model (RV,RE),conformsTo is a multigraph built over a finite
set RV of classes and a finite set RE of references, with semantic properties
over the instances of both classes and references.
RV ⊆ Classes
RE ⊆ { c1,r,c2 | c1,c2 ∈ RV,r ∈ References}
conformsTo : Model(RV,RE) → Bool
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 24 / 33
53. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
EMOF Core as a Reference Model
Traditional notation (class diagram notation)
Property
lower: Natural⊤ = 1
upper : Natural⊤ = 1
isOrdered : Boolean = false
isComposite: Boolean = false
default: String = ""
Class
isAbstract: Boolean = false
{ordered} 0..*
ownedAttribute
0..1
opposite
NamedElement
name: String
0..*
superClass
Type TypedElement
type
1
DataType
Boolean String Natural
owner
⊤
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 25 / 33
54. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
EMOF Core as a Reference Model
Formal notation
Definition (EMOF Core)
The EMOF Core Reference Model is RV,RE ,conformsTo where :
RV { NamedElement,Type,TypedElement,DataType,Boolean,
String,Natural ,Class,Property }
RE { Class,ownedAttribute,Property , Class,isAbstract,Boolean ,
Class,inh,Type ,... }
conformsTo( MV,ME ) MV,ME ∈ Model(RV, RE)
∧ lower(TypedElement,type,1)
∧ upper(TypedElement,type,1)
∧ and other semantic properties (next slide)...
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 26 / 33
55. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
EMOF Core as a Reference Model: semantics
Definition (Lower Property)
lower(c1 ∈ RV,r1 ∈ RE,n ∈ Natural ) MV,ME →
∀ o,c ∈ MV,c = c1 ⇒ card({m2 ∈ MV | o,c1 ,r1,m2 ∈ ME}) ≥ n
Definition (Opposite Property)
isOpposite(r1,r2 ∈ RE) MV,ME →
∀m1,m2 ∈ MV, m1,r1,m2 ∈ ME ⇔ m2,r2,m1 ∈ ME
Definition (Abstract Classes)
isAbstract(r ∈ RE,c1 ∈ RV) MV,ME →
∀ o,c ∈ MV,c = c1 ⇒ ∃c2 ∈ RV, o,c2 ,r, o,c1 ∈ ME
And also: upper, inheritance, composite, ordered. . . .
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 27 / 33
56. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
An Evaluation of COQ4MDE
Formalization of the EMOF_Core
reference model (MCMOF ).
MOF:MC
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 28 / 33
57. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
An Evaluation of COQ4MDE
Formalization of the EMOF_Core
reference model (MCMOF ).
Verification of the EMOF_Core
metacircularity: definition of the MMOF
model conforms to MCMOF , and the
promotion P, s.t. P(MMOF ) = MCMOF
MOF:M
MOF:MC
<<promotionOf>>
<<conformsTo>>
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 28 / 33
58. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
An Evaluation of COQ4MDE
Formalization of the EMOF_Core
reference model (MCMOF ).
Verification of the EMOF_Core
metacircularity: definition of the MMOF
model conforms to MCMOF , and the
promotion P, s.t. P(MMOF ) = MCMOF
Formalization of the OMG’s pyramid.
MOF:M
MOF:MC
<<promotionOf>>
<<conformsTo>>
xSPEM:M xSPEM:MC
<<promotionOf>>
<<conformsTo>>
Process:M
<<conformsTo>>
Real World M0
M1
M2
M3
metametamodel
metamodel
model
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 28 / 33
59. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Outline
1 Context and Objectives
2 Executable Metamodeling Approach to Support Model V&V
A Design Pattern for Executable DSML
Application for Model Simulation
Application for Model Verification
3 Formal Foundations for Executable Metamodeling
Motivations & Issues
COQ4MDE: a Framework for (meta)Model Formalization
Intuitive approach
Formal definitions
Application to EMOF and OMG pyramid issues
4 Conclusion & Future Works
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 29 / 33
60. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Conclusion & Future Works
Main contributions:
Methodological foundations for executable metamodeling
⇒ a design pattern reifying information for model execution
⇒ application1
to define simulators (UML, SysML, SAM...), and
transformations to model checker (TINA).
Formal foundations for executable metamodeling
⇒ a formal framework implemented using the COQ proof assistant
⇒ application to formally verify properties preserving transformations.
Other contributions:
Use of the previous foundations for process engineering (definition of an
eXecutable SPEM2.0, with simulation and verification facilities) [APSEC’07],
Use of the previous foundations for models@runtime (specification and
formalization of adaptation policies) [MoDELS’08].
1
in the TOPCASED project (http://www.topcased.org)
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 30 / 33
61. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Research Program
Methodological and Formal Foundations for Executable Metamodeling
How to build an executable DSML ? What systematic approach ?
How to provide a formal support for MDE (executable metamodeling,
transformation, composition) ? can a theory of model be defined ?
⇒ Hope to define a generic and formal framework for model execution (based
on Kermeta).
Model Validation & Verification
How to integrate verification techniques by meta-approaches ?
How to combine verification techniques (mainly testing, simulation,
model-checking and proofs)
Models at runtime
How to consider adaptation policies like a DSML’s behavioral semantics ?
How to support V&V techniques at runtime ?
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 31 / 33
62. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Interests at CSU
To prepare collaboration about the use of MDE for hardware and
embedded systems,
To share experiences about semantics definition (e.g., fUML),
To define formal operator for model composition,
I am also (generally) open minded, and curious about funny and
challenging problems...
⇒ If you have this kind of problem, and the courage to bear my english...,
don’t hesitate !
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 32 / 33
63. Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodeling
Conclusion & Future Works
Thank you
for your attention...
Questions?
B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 33 / 33