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.

Dynamic V&V in Language-Oriented Modeling

567 vues

Publié le

Slides of the keynote given at MoDeVVA @ MODELS 2016

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Dynamic V&V in Language-Oriented Modeling

  1. 1. Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/Benoit.Combemale benoit.combemale@irisa.fr @bcombemale Dynamic Validation & Verification in Language-Oriented Modeling Workshop MoDeVVa @ MODELS 2016, Oct. 3rd, 2016
  2. 2. Complex Software-Intensive Systems Software intensive systems - 2Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 • Multi-engineering approach • Some forms of domain-specific modeling • Software as integration layer • Openness and dynamicity
  3. 3. Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction 3 Multiple concerns, stakeholders, tools and methods
  4. 4. 4 Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction Heterogeneous Modeling
  5. 5. - 5Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 "the majority of MDE examples in our study followed domain-specific modeling paradigms" J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model- Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85.
  6. 6. Model-Driven Engineering (MDE) - 6Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 Engineering Modeling Languages: Turning Domain Knowledge into Tools, by BenoitCombemale,RobertB. France, Jean-Marc Jézéquel,Bernhard Rumpe,Jim R.H. Steel, and Didier Vojtisek.Chapman and Hall/CRC,pp.398,2016.Companion website:http://mdebook.irisa.fr
  7. 7. Model-Driven Engineering (MDE) - 7Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 Editors (textuals, graphicals, …) Test generators Simulators Analyzers Refactoring Checkers (static & dynamics) Translators Compilers Code generators Etc. Engineering Modeling Languages: Turning Domain Knowledge into Tools, by BenoitCombemale,RobertB. France, Jean-Marc Jézéquel,Bernhard Rumpe,Jim R.H. Steel, and Didier Vojtisek.Chapman and Hall/CRC,pp.398,2016.Companion website:http://mdebook.irisa.fr
  8. 8. - 8Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 J-M. Favre, D. Gasevic, R. Lämmel, and E. Pek. "Empirical language analysis in software linguistics," In Software Language Engineering, volume 6563 of LNCS, pages 316–326. Springer, 2011. "Software languages are software too"
  9. 9. Software Language Engineering (SLE) Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 9 • Application of systematic, disciplined, and measurable approaches to the development, deployment, use, and maintenance of software languages • Supported by various kind of "language workbench" • Eclipse EMF, Xtext, Sirius, Melange, GEMOC, Papyrus • Jetbrain’s MPS • Spoofax • MS DSL Tools • Etc. • Various shapes and ways to implement software languages • External, internal or embedded DSLs, Profile, etc. • Grammar, metamodel, ontology, etc. • More and more literature, a dedicated Intl. conference (ACM SLE, cf. http://www.sleconf.org)…
  10. 10. Context of the talk Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 10 MDE SLE
  11. 11. Context of the talk Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 11 MDE SLE Software- Intensive Systems DSMLs
  12. 12. Context of the talk Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 12 MDE SLE Software- Intensive Systems DSMLs • Methods: patterns for executable metamodeling • Tools: generative and generic approaches to automate the development of V&V tools
  13. 13. THE XDSML PATTERN FOR EXECUTABLE METAMODELING - 13Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 ? 1
  14. 14. Execution functions Internal data/control event (e.g., method call, scheduler) or external (stimuli from env.) Execution trace Execution state Domain model The xDSML Pattern - 14Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 Event Definition MetaModel EDMM Domain Definition MetaModel DDMM State Definition MetaModel SDMM <<merge>> <<merge>> <<merge>> Trace Management MetaModel TM3 <<import>> Semantics Mapping Semantics <<triggeredBy>> <<changes>> Benoit Combemale, Xavier Crégut, Marc Pantel, "ADesign Pattern to Build Executable DSMLs and associated V&V tools", In APSEC 2012 Benoît Combemale, Xavier Crégut, Pierre-Loïc Garoche, Xavier Thirioux, "Essay on Semantics Definition in MDE - An Instrumented Approach for Model Verification," In Journal of Software (JSW), 2009
  15. 15. The xDSML Pattern - 15Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 Event Definition MetaModel EDMM Domain Definition MetaModel DDMM State Definition MetaModel SDMM <<merge>> <<merge>> <<merge>> Trace Management MetaModel TM3 <<import>> Semantics Mapping Semantics <<triggeredBy>> <<changes>> • Mashup of metalanguages (Ecore, OCL, Kermeta) [Jézéquel et al., SoSyM’14] • Efficient OCL checking [Sun et al., JOT’15] • Domain-specific execution trace management [Bousse et al., MODELS’14, ECMFA’15] • Omniscient and multi-dimensional model debugging [Bousse et al., SLE’15] • Tracing executions back to a xDSML [Combemale et al., ECMFA’11]
  16. 16. TheGEMOCStudio - 16 http://gemoc.org/studio/ Benoit Combemale, Julien Deantoni, Olivier Barais, Arnaud Blouin, Erwan Bousse, Cédric Brun, Thomas Degueule and Didier Vojtisek, "A Solution to the TTC'15 Model Execution Case Using the GEMOC Studio," In 8th Transformation Tool Contest (TTC), 2015. Overall Winner Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  17. 17. Breathe Life Into Your Designer! - 17Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 Model Animator Operational Semantics (executable) Model (executable) Modeling Language Metamodeling LanguagesKermeta Ecore aModel trace manager, timeline, control panel, omniscient debugger Concrete Syntax Graphical representation Sirius Graphical representation DSA Executor Interpreter Diagram Model Editor Diagram Domain-Specific Actions Execution Functions Execution Data Abstract Syntax Domain Model (Metamodel) Legend code generation <<dependsOn>> <<conformsTo>>
  18. 18. - 18 ActivityDiagramDebugger https://github.com/gemoc/activitydiagram Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  19. 19. - 19 TransformationLg Debugger https://github.com/tetrabox/minitl Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 TETRABox http://modeltransformation.net /tetrabox/ Wimmer, Bousse et al.
  20. 20. - 20 ArduinoDesigner(&Debugger) https://github.com/gemoc/arduinomodeling • Graphical animation • Breakpoint definition on model element • Multi-dimensional and efficient trace management • Model debugging facilities (incl., timeline, step backward, stimuli management, etc.) Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  21. 21. - 21 ArduinoDesigner(&Debugger) https://github.com/gemoc/arduinomodeling Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 • Graphical animation • Breakpoint definition on model element • Multi-dimensional and efficient trace management • Model debugging facilities (incl., timeline, step backward, stimuli management, etc.) • Concurrency simulation and formal analysis Modern platforms are highly parallel (e.g., many-core, GPGPU, distributed platform). Complex software systems are highly concurrent systems per se (e.g., IoT, CPS).
  22. 22. Reifying Concurrency in xDSML: Limitations - 22 • Concurrency remains implicit and ad-hoc in language design and implementation: • Design: implicitly inherited from the meta-language used • Implementation: mostly embedded in the underlying execution environment • The lack of an explicit concurrency specification in language design prevents: • leveraging the concurrency concern of a particular domain or platform • a complete understanding of the behavioral semantics • effective concurrency-aware analysis techniques • effective techniques for producing semantic variants • analysis of the deployment on parallel architectures Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  23. 23. Reifying Concurrency in xDSML: Grand Challenge - 23 Cross fertilization in languages of the algorithm theory and the concurrency theory Leslie Lamport, “Turing Lecture: The Computer Science of Concurrency: The Early Years,” Com. ACM, vol. 58, no. 6, 2015, pp. 71–76. "Concurrency models were generally event-based, and avoided the use of state. They did not easily describe algorithms or the usual way of thinking about them based on the standard model." Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  24. 24. Reifying Concurrency in xDSML: Approach - 24Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 Algorithm Theory Concurrency Theory Abstract Syntax (AS) Concrete Syntax (CS) Mas cs Mas sd Semantic Domain (SD) Abstract Syntax (AS) Concrete Syntax (CS) Mas cs Domain-Specific Actions Model of Concurrency
  25. 25. Reifying Concurrency in xDSML: Approach - 25 Semantics AS DSA MOC Static Introduction Delegation Pattern Domain Model Exec. function and data Concurrency Model The MoCC serves as a (family of) scheduler(s) of the execution functions that manipulate the execution data (i.e. program state) Benoit Combemale, Cécile Hardebolle, Christophe Jacquet, Frédéric Boulanger, Benoit Baudry, "Bridging the Chasm between Executable Metamodeling and Models of Computation," In Software Language Engineering (SLE), 2012. Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  26. 26. Reifying Concurrency in xDSML: Approach - 26 Benoit Combemale, Julien Deantoni, Matias Vara Larsen, Frédéric Mallet, Olivier Barais, Benoit Baudry, Robert France, "Reifying Concurrency for Executable Metamodeling," In Software Language Engineering (SLE), 2013 Semantics AS DSA MOC DSE (Domain Specific Event) • Data • Control • Communication The DSE serve as a mapping from the MOC to the DSA Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  27. 27. Reifying Concurrency in xDSML: Approach - 27 Florent Latombe, Xavier Crégut, Benoît Combemale, Julien DeAntoni, Marc Pantel, "Weaving concurrency in executable domain-specific modeling languages," In Software Language Engineering (SLE), 2015 Semantics AS DSA MOC DSE (Domain Specific Event) • Data • Control • Communication The DSEs serve as a protocol between the MOC and the DSA Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  28. 28. Weave Concurrency Constraints Into Your DSL! - 28Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 Model Animator Operational Semantics Model of Concurrency and Communication (executable) Model (executable) Modeling Language Metamodeling LanguagesMoCCML Kermeta Ecore Concurrency Constraints Domain-Specific Events aModel omniscient debugger, concurrency explorer. Concrete Syntax Graphical representation Sirius Graphical representation MOCC Solver DSA Executor Execution Model Interpreter Diagram Model Editor Diagram Domain-Specific Actions Execution Functions Execution Data Abstract Syntax Domain Model (Metamodel) Legend code generation <<dependsOn>> <<conformsTo>> Benoit Combemale, Julien Deantoni, Matias Vara Larsen, Frédéric Mallet, Olivier Barais, Benoit Baudry, Robert France, "Reifying Concurrency for Executable Metamodeling," In Software Language Engineering (SLE), 2013
  29. 29. - 29 ActivityDiagramDebugger https://github.com/gemoc/activitydiagram Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  30. 30. Coping with Semantic Variation Points - 30Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 Florent Latombe, Xavier Crégut, Julien Deantoni, Marc Pantel, Benoit Combemale, "Coping with Semantic Variation Points in Domain-Specific Modeling Languages", In EXE@MoDELS 2015.
  31. 31. - 31 J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model- Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85. "A clear challenge, then, is how to integrate multiple DSLs." Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  32. 32. Multiplication of DSMLs Increasing number of stakeholders and concerns - 32 Increasing number of application domains 4 Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction Heterogeneous Modeling Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  33. 33. Globalization of Modeling Languages - 33 • DSMLs are developed in an independent manner to meet the specific needs of domain experts, • DSMLs should also have an associated framework that regulates interactions needed to support collaboration and work coordination across different system domains. Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel, Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 2014 Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  34. 34. Globalization of Modeling Languages - 34 Supporting coordinated use of modeling languages leads to what we call the globalization of modeling languages, that is, the use of multiple modeling languages to support coordinated development of diverse aspects of a system. Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel, Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 2014
  35. 35. Globalization of Modeling Language - 35 • Context: new emerging DSML in open world ⇒ impossible a priori unification ⇒ require a posteriori globalization • Objective: socio-technical coordination to support interactions across different system aspects ⇒ Language-based support for technical integration of multiples domains ⇒ Language-based support for social translucence • Community: the GEMOC initiative (cf. http://gemoc.org) Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 "Globalizing Domain-Specific Languages," Combemale, B., Cheng, B.H.C., France, R.B., Jézéquel, J.-M., Rumpe, B. (Eds.). Springer, Programming and Software Engineering, Vol. 9400, 2015.
  36. 36. The GEMOC Initiative - 36 An open and international initiative to • coordinate (between members) • disseminate (on behalf the members) worldwide R&D efforts on the globalization of modeling languages http://gemoc.org @gemocinitiative Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  37. 37. The GEMOC Studio - 37Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 Design and compose your executable DSMLs http://gemoc.org/studio Language Workbench Modeling Workbench Edit, simulate and animate your heterogeneous models
  38. 38. The GEMOC Community - 38Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  39. 39. The GEMOC Community - 39 • Keynote: “Towards Live DSLs”, by Tijs van der Storm (CWI) • 5 paper presentations • Discussion and demos Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  40. 40. Towards Language Interfaces - 40Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 xDSML2 xDSML1 structural/ axiomatic behavioral xDSML3 subtyping relation coordination pattern Symbolic event structure (for behavioral coordination) Model type (for language reuse) A language interface is a contract that exhibits the relevant information for a given purpose (i.e., to support specific composition operators) Thomas Degueule, Benoît Combemale, Arnaud Blouin, Olivier Barais, Jean-Marc Jézéquel, "Melange: a meta-language for modular and reusable development of DSLs," In SLE 2015 Matias Ezequiel Vara Larsen, Julien Deantoni, Benoit Combemale, Frédéric Mallet, "ABehavioral Coordination Operator Language (BCOoL)," In MODELS 2015
  41. 41. CONCLUSION AND PERSPECTIVES - 41Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016
  42. 42. Conclusion Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 42 • How to leverage existing efforts in V&V techniques for any DSLs? • V&V techniques can be reified at the language level through generic or generative approaches • require structural metamodeling patterns
  43. 43. Conclusion Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 43 • Modular definition of xDSMLs • Reification of the concurrency in xDSMLs • Language interfaces for reuse and behavioral coordination
  44. 44. Conclusion Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 - 44 language-oriented modeling with tools and methods to implement, reuse and coordinate xDSMLs and associated V&V tools
  45. 45. Perspectives - 45Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 DSMLs as a key pivot for the socio-technical coordination Model ExperiencingEnvironments for informeddecision andbroader engagement insmarttechnologies Heuristics-Laws Scientists Open Data Engineers General Public Policy Makers MEEs ("what-if" scenarios) System Models Physical Laws (economic, environmental, social) Simulation Tool (incl. constraint solver, prediction tool, etc.) Sustainability System (e.g., smart grid) Context sensors actuators Energy Production/ Consumption System Software <<controls>><<senses>> ApproximateDSML runtimes for designspaceexploration, runtimeadaptationandsecurity Metamorphic DSMLs for fittinguserneeds static int __rep_queue_filedone(dbenv, rep, rfp) DB_ENV *dbenv; REP *rep; __rep_fileinfo_args *rfp; { #ifndef HAVE_QUEUE COMPQUIET(rep, NULL); COMPQUIET(rfp, NULL); return (__db_no_queue_am(dbenv)); #else db_pgno_t first, last; u_int32_t flags; int empty, ret, t_ret; #ifdef DIAGNOSTIC DB_MSGBUF mb; #endif // over 100 lines of additional code } #endif not, and, or, implies B. Combemale,B. Cheng,A. Moreira,J.-M. Bruel, J. Gray, "Modeling for Sustainability," MiSE@ICSE 2015 M. Acher, B. Combemale,P. Collet, "Metamorphic Domain-Specific Languages:AJourney into the Shapes of a Language,"Onward!Essays 2014 M. C. Rodrigez,B. Combemale,B. Baudry, " Automatic Microbenchmark Generation to Prevent Dead Code Elimination and ConstantFolding,"ASE 2016
  46. 46. - 46Dynamic V&V in Language-Oriented Modeling – B. Combemale (Inria & Univ. Rennes 1) – Oct. 3, 2016 "If you believe that language design can significantly affect the quality of software systems, then it should follow that language design can also affect the quality of energy systems. And if the quality of such energy systems will, in turn, affect the livability of our planet, then it’s critical that the language development community give modeling languages the attention they deserve." − Bret Victor (Nov., 2015), http://worrydream.com/ClimateChange

×