Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Context and Objectives
Executable Metamodeling Approach to Support Model V&V
Formal Foundations for Executable Metamodelin...
Prochain SlideShare
Chargement dans…5
×

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

465 vues

Publié le

Invited talk in the Computer Science Department at Colorado State University

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

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

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

×