executable metamodeling for model v&v (may 25th, 2010)

63
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) [email protected] May 25, 2010 B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 1 / 33

Upload: benoit-combemale

Post on 12-Apr-2017

343 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Executable Metamodeling for Model V&V

Benoît Combemale

University of Rennes 1,TRISKELL team (IRISA & INRIA)[email protected]

May 25, 2010

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 1 / 33

Page 2: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Short CV

2009 – ... Associate ProfessorUniversity 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 FellowEMN, AtlanMod team (EMN & INRIA, Fr.).Research Interests: Infinite Model (Definition and Transformation)

2005 – 2008 PhD CandidateINPT 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

Page 3: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Context

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 3 / 33

Page 4: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Context

Modèle <<représente>>

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 3 / 33

Page 5: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Context

Concepteur

Modèle <<représente>>Langage

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 3 / 33

Page 6: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Context

générateurs

Concepteur

simulateursvérificateurs

Modèle <<représente>>Langage

éditeur

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 3 / 33

Page 7: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Context

générateurs

Concepteur

simulateursvérificateurs

Modèle <<représente>>Langage

éditeur

MétaModèle

<<représente>><<conformeA>>

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 3 / 33

Page 8: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Context

générateurs

Concepteur

simulateursvé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

Page 9: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Context

générateurs

Concepteur

simulateursvérificateurs

Modèle <<représente>>

Modèle<<représente>>

Modèle<<représente>>

Modèle

<<représente>>

DSML

éditeur

générateurs

Concepteur

simulateursvérificateurs

DSML

éditeur

générateurs

Concepteur

simulateursvérificateurs

DSML

éditeur

générateurs

Concepteur

simulateursvérificateurs

DSML

éditeur

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 3 / 33

Page 10: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Objectives

générateurs

Concepteur

simulateursvérificateurs

Modèle <<représente>>

Modèle<<représente>>

Modèle<<représente>>

Modèle

<<représente>>

DSML

éditeur

générateurs

Concepteur

simulateursvérificateurs

DSML

éditeur

générateurs

Concepteur

simulateursvérificateurs

DSML

éditeur

générateurs

Concepteur

simulateursvérificateurs

DSML

éditeur

Methodological foundations for executable metamodelingTo 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 metamodelingTo 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

Page 11: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Operational Semantics Vs. Translational Semantics

MyDSML

Metamodel

Rules

endogenoustransformation

Operational Semantics

+ intuitive definition,

− requires to define tools (e.g.,V&V) for each DSML.

MyDSML

Metamodel

FormalDomain

DataStructure

Rules

exogenoustransformation

Translational Semantics− expression of semantic equivalences,

+ allows to reuse existing tools (in thetarget domain).

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 5 / 33

Page 12: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & 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 dovar start_ok : kermeta::standard::Booleanvar previousActivities : seq Activity [0..*]var prevPrecedes : seq Precedes [0..*]if progress==-1 then// Getting the activities which have to be startedprevPrecedes := 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 finishedprevPrecedes := 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)

elseresult := false

endend

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

Page 13: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

DSML semantics using translational semantics

Example : Mapping a SimplePDL model into a time Petri net one to use theTINA toolkit.

SimplePDL.ecore

Process

.pdl

PDL2PN

.atl

Process

.net

Properties

.ltl

Tina

ATL<<instanceOf>> Process.PetriNet

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

Page 14: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Contributions

Executable Metamodeling Approach

FinishToStartFinishToStart

FinishToStart

Formal Verification by Model-Checking

Model Simulationby Graphical Animation

Formal Foundations for Executable Metamodeling

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 8 / 33

Page 15: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Outline

1 Context and Objectives

2 Executable Metamodeling Approach to Support Model V&VA Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

3 Formal Foundations for Executable MetamodelingMotivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

Intuitive approachFormal definitionsApplication 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

Page 16: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Outline

1 Context and Objectives

2 Executable Metamodeling Approach to Support Model V&VA Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

3 Formal Foundations for Executable MetamodelingMotivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

Intuitive approachFormal definitionsApplication 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

Page 17: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

A Design Pattern for Executable DSML

Events DefinitionMetaModel

EDMM

Domain DefinitionMetaModel

DDMM

States DefinitionMetaModel

SDMM

<<merge>><<merge>>

<<merge>>

Trace ManagementMetaModel

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

Page 18: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

A Design Pattern for Executable DSML

Domain Definition MetaModel (DDMM)

Capture the structural information (domain specific concepts, theirrelationships and their constraints.

States Definition MetaModel (SDMM)

Capture the "dynamic" information, characterizing the whole possible states ofmodel (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

Page 19: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication 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

Page 20: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

Events DefinitionMetaModel

EDMM

Domain DefinitionMetaModel

DDMM

States DefinitionMetaModel

SDMM

<<merge>><<merge>>

<<merge>>

Animator

Editor

ScenarioBuilder Trace Management

MetaModel

TM3

<<import>>

Execution Engine & Control Panel

Figure: DSML-based Tooling

Control Panel

Graphical Animator

MDDMM

ScenarioBuilder

Model Execution Framework

Generic Execution Engine

A Semantics for an Executable Language

GraphicalEditor

MEDMMMSDMM

control

update

create

create

use

updateuse

visualize

Figure: Interactions between Components

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 14 / 33

Page 21: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

Events DefinitionMetaModel

EDMM

Domain DefinitionMetaModel

DDMM

States DefinitionMetaModel

SDMM

<<merge>><<merge>>

<<merge>>

Trace ManagementMetaModel

TM3

<<import>>

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 15 / 33

Page 22: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

reactionOnEv1()...reactionOnEvN()

Semantics2

Events DefinitionMetaModel

EDMM

Domain DefinitionMetaModel

DDMM

States DefinitionMetaModel

SDMM

<<merge>><<merge>>

<<merge>>

reactionOnEv1()...reactionOnEvN()

Semantics

reactionOnEv1()...reactionOnEvN()

Semantics1

Trace ManagementMetaModel

TM3

<<import>>

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 15 / 33

Page 23: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

reactionOnEv1()...reactionOnEvN()

Semantics2

Action Languages

Events DefinitionMetaModel

EDMM

Domain DefinitionMetaModel

DDMM

States DefinitionMetaModel

SDMM

<<merge>><<merge>>

<<merge>>

reactionOnEv1()...reactionOnEvN()

Semantics

reactionOnEv1()...reactionOnEvN()

Semantics1

Trace ManagementMetaModel

TM3

<<import>>

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 15 / 33

Page 24: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

reactionOnEv1()...reactionOnEvN()

Semantics2

Action Languages

Events DefinitionMetaModel

EDMM

Domain DefinitionMetaModel

DDMM

States DefinitionMetaModel

SDMM

<<merge>><<merge>>

<<merge>>

reactionOnEv1()...reactionOnEvN()

Semantics

reactionOnEv1()...reactionOnEvN()

Semantics1

Trace ManagementMetaModel

TM3

<<import>>

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 15 / 33

Page 25: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

reactionOnEv1()...reactionOnEvN()

Semantics2

Action Languages

Events DefinitionMetaModel

EDMM

Domain DefinitionMetaModel

DDMM

States DefinitionMetaModel

SDMM

<<merge>><<merge>>

<<merge>>

reactionOnEv1()...reactionOnEvN()

Semantics

reactionOnEv1()...reactionOnEvN()

Semantics1

Trace ManagementMetaModel

TM3

<<import>>

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 15 / 33

Page 26: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

reactionOnEv1()...reactionOnEvN()

Semantics2

Action Languages

Events DefinitionMetaModel

EDMM

Domain DefinitionMetaModel

DDMM

States DefinitionMetaModel

SDMM

<<merge>><<merge>>

<<merge>>

reactionOnEv1()...reactionOnEvN()

Semantics

reactionOnEv1()...reactionOnEvN()

Semantics1

Animateur

Editeur

Constructeur de scénario

Trace ManagementMetaModel

TM3

<<import>>

Moteur de simulation & panneau de contrôle

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 15 / 33

Page 27: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

GraphicalEditor

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33

Page 28: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

MDDMM

GraphicalEditor

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33

Page 29: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

MDDMMScenarioBuilder

GraphicalEditor

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33

Page 30: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

MDDMMScenarioBuilder

GraphicalEditor

MEDMM

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33

Page 31: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

MDDMMScenarioBuilder

Simulation Engine

GraphicalEditor

MEDMM

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33

Page 32: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

MDDMMScenarioBuilder

Simulation Engine

Generic Simulation Engine

DSML_1Semantics

GraphicalEditor

MEDMM

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33

Page 33: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

MDDMMScenarioBuilder

Simulation Engine

Generic Simulation Engine

DSML_1Semantics

GraphicalEditor

MEDMM

MSDMM

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33

Page 34: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

Graphical Animator

MDDMMScenarioBuilder

Simulation Engine

Generic Simulation Engine

DSML_1Semantics

GraphicalEditor

MEDMM

MSDMM

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33

Page 35: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

Graphical Animator

MDDMMScenarioBuilder

Simulation Engine

Generic Simulation Engine

DSML_1Semantics

GraphicalEditor

MEDMM

MSDMM

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33

Page 36: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

Graphical Animator

MDDMMScenarioBuilder

Simulation Engine

Generic Simulation Engine

DSML_1Semantics

GraphicalEditor

MEDMM

MSDMM

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33

Page 37: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Model Simulation

Control Panel

Graphical Animator

MDDMMScenarioBuilder

Simulation Engine

Generic Simulation Engine

DSML_1Semantics

GraphicalEditor

MEDMM

MSDMM

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 16 / 33

Page 38: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication 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

Page 39: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication 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

Page 40: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication 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

Page 41: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Formal Verification

xSPEM.ecore

PetriNet.ecore

myProcess.xspem

myProcess.PetriNet

xSPEM2PetriNet.atl

myProcess.net

<<conformsTo>><<conformsTo>>

ATL(M2M)

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 17 / 33

Page 42: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Formal Verification

xSPEM.ecore

PetriNet.ecore

myProcess.xspem

myProcess.PetriNet

xSPEM2PetriNet.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

Page 43: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Formal Verification

xSPEM.ecore

PetriNet.ecore

myProcess.xspem

myProcess.PetriNet

xSPEM2PetriNet

.atl

myProcess.net

<<conformsTo>><<conformsTo>>

ATL(M2M)

Tina.tcs

TCS

DDMM: réseau de Petri (RdP)SDMM: marquage du RdPEDMM: preuve de bisimulation

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 17 / 33

Page 44: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Formal Verification

Tina

xSPEM.ecore

PetriNet.ecore

myProcess.xspem

myProcess.PetriNet

xSPEM2PetriNet

.atl

myProcess.net

<<conformsTo>><<conformsTo>>

ATL(M2M)

Tina.tcs

TCS

DDMM: réseau de Petri (RdP)SDMM: marquage du RdPEDMM: preuve de bisimulation

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 17 / 33

Page 45: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

A Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

Using the Design Pattern for Formal Verification

ATL(M2T)

Tina

xSPEM.ecore

PetriNet.ecore

myProcess.xspem

myProcess.PetriNet

xSPEM2PetriNet

.atl

myProcess.net

<<conformsTo>><<conformsTo>>

ATL(M2M)

Tina.tcs

TCS

properties.ltl

TOCL.ecore

properties.tocl

<<conformsTo>>

<<use>>

TOCL2LTL.atl

<<dependOn>>

DDMM: réseau de Petri (RdP)SDMM: marquage du RdPEDMM: preuve de bisimulation

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 17 / 33

Page 46: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Motivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

Outline

1 Context and Objectives

2 Executable Metamodeling Approach to Support Model V&VA Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

3 Formal Foundations for Executable MetamodelingMotivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

Intuitive approachFormal definitionsApplication 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

Page 47: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Motivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

Consistency of multiple semantics

Usefulness of several semanticsDefine operational semantics for model interpretation.

Define translational semantics to reuse tools or code generation.

ProblemHow to assert that all the defined semantics are consistent?

Our solutionDefining 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 domain4 prove the equivalence of translational semantics and reference semantics

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 19 / 33

Page 48: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Motivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

Issues

How to formally express the concepts ofmodels, metamodels,meta-metamodels. . . ?⇒ what are their various types ?⇒ what is the encoding in a formal domain

semantics ?

With this encoding, how to express thestructural 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 oneof the possible MDE view... Theframework must be more general.

M1

M0

M2

M3metamodel(UML, SPEM...)

model(UML models...)

"real" world

metametamodel(MOF)

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 20 / 33

Page 49: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Motivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

ReferenceModel and ModelIntuitive 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

Page 50: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Motivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

Conformity and PromotionIntuitive approach

Conformity1 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.

Promotion1 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

Page 51: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Motivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

Formal ApproachGeneral Definitions

Let us consider:

DefinitionClasses 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 referencesamong 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

Page 52: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Motivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

Formal ApproachModel and ReferenceModel

Definition (Model)

A model 〈MV ,ME〉 ∈ Model(C ,R) is a multigraph built over a finite set MV oftyped 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 finiteset RV of classes and a finite set RE of references, with semantic propertiesover the instances of both classes and references.

RV ⊆ ClassesRE ⊆ {〈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

Page 53: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Motivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

EMOF Core as a Reference ModelTraditional notation (class diagram notation)

Propertylower: Natural⊤ = 1 upper : Natural⊤ = 1isOrdered : Boolean = false isComposite: Boolean = falsedefault: String = ""

ClassisAbstract: Boolean = false

{ordered} 0..*ownedAttribute

0..1opposite

NamedElementname: String

0..*superClass

Type TypedElementtype1

DataType

Boolean String Natural

owner

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 25 / 33

Page 54: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Motivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

EMOF Core as a Reference ModelFormal 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

Page 55: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Motivations & IssuesCOQ4MDE: 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〉 7→∀〈o,c〉 ∈MV ,c = c1⇒ card({m2 ∈MV | 〈〈o,c1〉, r1,m2〉 ∈ME})≥ n

Definition (Opposite Property)

isOpposite(r1, r2 ∈ RE) , 〈MV ,ME〉 7→∀m1,m2 ∈MV ,〈m1, r1,m2〉 ∈ME ⇔ 〈m2, r2,m1〉 ∈ME

Definition (Abstract Classes)

isAbstract(r ∈ RE ,c1 ∈ RV ) , 〈MV ,ME〉 7→∀〈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

Page 56: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Motivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

An Evaluation of COQ4MDE

Formalization of the EMOF_Corereference model (MCMOF ).

Verification of the EMOF_Coremetacircularity: definition of the MMOF

model conforms to MCMOF , and thepromotion P, s.t. P(MMOF ) = MCMOF

Formalization of the OMG’s pyramid.

MOF:MC

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 28 / 33

Page 57: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Motivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

An Evaluation of COQ4MDE

Formalization of the EMOF_Corereference model (MCMOF ).

Verification of the EMOF_Coremetacircularity: definition of the MMOF

model conforms to MCMOF , and thepromotion P, s.t. P(MMOF ) = MCMOF

Formalization of the OMG’s pyramid.

MOF:M

MOF:MC<<promotionOf>>

<<conformsTo>>

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 28 / 33

Page 58: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Motivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

An Evaluation of COQ4MDE

Formalization of the EMOF_Corereference model (MCMOF ).

Verification of the EMOF_Coremetacircularity: definition of the MMOF

model conforms to MCMOF , and thepromotion 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 M0M1

M2

M3

metam

etamodel

metam

odel

model

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 28 / 33

Page 59: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Outline

1 Context and Objectives

2 Executable Metamodeling Approach to Support Model V&VA Design Pattern for Executable DSMLApplication for Model SimulationApplication for Model Verification

3 Formal Foundations for Executable MetamodelingMotivations & IssuesCOQ4MDE: a Framework for (meta)Model Formalization

Intuitive approachFormal definitionsApplication 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

Page 60: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & 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 aneXecutable SPEM2.0, with simulation and verification facilities) [APSEC’07],

Use of the previous foundations for models@runtime (specification andformalization of adaptation policies) [MoDELS’08].

1in the TOPCASED project (http://www.topcased.org)B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 30 / 33

Page 61: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Research Program

Methodological and Formal Foundations for Executable MetamodelingHow 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 (basedon Kermeta).

Model Validation & VerificationHow to integrate verification techniques by meta-approaches ?How to combine verification techniques (mainly testing, simulation,model-checking and proofs)

Models at runtimeHow 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

Page 62: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Interests at CSU

To prepare collaboration about the use of MDE for hardware andembedded 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 andchallenging 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

Page 63: Executable Metamodeling for Model V&V (May 25th, 2010)

Context and ObjectivesExecutable Metamodeling Approach to Support Model V&V

Formal Foundations for Executable MetamodelingConclusion & Future Works

Thank youfor your attention...

Questions?

B. Combemale (UR1, IRISA) Executable Metamodeling for Model V&V May 25, 2010 33 / 33