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.

Towards Language-Oriented Modeling (HDR Defense)

755 vues

Publié le

Defense of my "Habilitation a Diriger des Recherches" (HDR) entitled "Towards Language-Oriented Modeling", December 4th, 2015

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Towards Language-Oriented Modeling (HDR Defense)

  1. 1. Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/Benoit.Combemale benoit.combemale@irisa.fr @bcombemale Towards Language-Oriented Modeling Habilitation à Diriger des Recherches Université de Rennes 1 December 4, 2015
  2. 2. Complex Software-Intensive Systems Software intensive systems - 2Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 •  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. - 5Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 "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) - 6Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 Jean-Marc Jézéquel, Benoît Combemale et Didier Vojtisek, "Ingénierie Dirigée par les Modèles : des concepts a la pratique," Ellipses edition, février 2012 Systems engineers A B C language engineering process Experts Language Engineers Application Final users systems engineering process Experts Language Users Application Final system Tools & Methods Engineers DSML DSML Tools Leverage on domain specific experience Development of a system in the context of a given domain
  7. 7. Model-Driven Engineering (MDE) - 7Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 Editors (textuals, graphicals, …) Test generators Simulators Analyzers Refactoring Checkers (static & dynamics) Translators Compilers Code generators Etc. Jean-Marc Jézéquel, Benoît Combemale et Didier Vojtisek, "Ingénierie Dirigée par les Modèles : des concepts a la pratique," Ellipses edition, février 2012
  8. 8. - 8Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 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) Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 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, GEMOC, Papyrus •  Jetbrain’s MPS •  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. Scientific Context Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 10 MDE SLE
  11. 11. Scientific Context Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 11 MDE SLE Software- Intensive Systems DSMLs
  12. 12. Scientific Context Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 12 MDE SLE Software- Intensive Systems DSMLs
  13. 13. Research Statement, Challenges and Contributions Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 13 ? 1
  14. 14. Research Statement, Challenges and Contributions Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 14 Abstract Syntax (AS) Concrete Syntax (CS) Semantics Domain (SD) Mac Mas domain behaviorsconcurrency Dynamic V&V tools domain concepts ? 1
  15. 15. xDSML Pattern xDSML1 Abstract Syntax (AS) Concrete Syntax (CS) Semantics Domain (SD) Mac Mas domain behaviorsconcurrency Dynamic V&V tools domain concepts ? 1 Research Statement, Challenges and Contributions Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 15
  16. 16. xDSML2 xDSML2 xDSML2 xDSML2 xDSML Pattern xDSML1' xDSML1 xDSML2 Abstract Syntax (AS) Concrete Syntax (CS) Semantics Domain (SD) Mac Mas domain behaviorsconcurrency Dynamic V&V tools domain concepts 4 Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction Heterogeneous Modeling ? 1 ? 2 Research Statement, Challenges and Contributions Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 16
  17. 17. GEMOC Studio (DSML coordination) xDSML2 xDSML2 Melange (DSML reuse) xDSML2 xDSML2 xDSML Pattern xDSML1' xDSML1 structural/ axiomatic behavioral xDSML2 Abstract Syntax (AS) Concrete Syntax (CS) Semantics Domain (SD) Mac Mas domain behaviorsconcurrency Dynamic V&V tools domain concepts 4 Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction Heterogeneous Modeling ? 1 ? 2 Research Statement, Challenges and Contributions Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 17
  18. 18. Outline Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 18 1. Tools and methods for xDSML design and implementation 2. Language globalization for reuse and coordination
  19. 19. THE XDSML PATTERN FOR EXECUTABLE METAMODELING - 19Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 ? 1
  20. 20. 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 - 20Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 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, "A Design 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
  21. 21. The xDSML Pattern - 21Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 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]
  22. 22. - 22 ActivityDiagramDebugger https://github.com/gemoc/activitydiagram Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  23. 23. - 23 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.) Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  24. 24. - 24 ArduinoDesigner(&Debugger) https://github.com/gemoc/arduinomodeling Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 •  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 Complex software systems are highly concurrent systems per se (e.g., IoT, CPS). Modern platforms are highly parallel (e.g., many-core, GPGPU, distributed platform).
  25. 25. Reifying Concurrency in xDSML: Limitations - 25 •  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 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  26. 26. Reifying Concurrency in xDSML: Grand Challenge - 26 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." Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  27. 27. Reifying Concurrency in xDSML: Approach - 27 Kermeta ModHel'X Abstract Syntax (AS) Concrete Syntax (CS) Mas cs Mas sd Semantic Domain (SD) Abstract Syntax (AS) Concrete Syntax (CS) MoC Domain-Specific Actions Mas cs 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. Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  28. 28. Reifying Concurrency in xDSML: Approach - 28 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. Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  29. 29. Reifying Concurrency in xDSML: Approach - 29 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 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  30. 30. Reifying Concurrency in xDSML: Approach - 30 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 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  31. 31. Reifying Concurrency in xDSML: Contribution - 31 Model of Concurrency & Communication Domain-Specific Actions Abstract Syntax Domain-Specific Events Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  32. 32. Reifying Concurrency in xDSML: Contribution - 32 Model of Concurrency & Communication Domain-Specific Actions Abstract Syntax Domain-Specific Events 0..* DSAMoCC DSE Concept0..* Concepts (from Las) Execution Function (from Ldsa) Las Event (from Lmoc) Ldsa Ldse Lmocc Event 0..* * * Constraint 0..* 0..* Legend <<dependsOn>> <<conformsTo>> Property type 1Execution State 0..* Execution Function 0..* 0..* Ecore Kermeta MoccML GEL/ECL Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  33. 33. (executable) Model (executable) Modeling Language Metamodeling Languages MoccML Kermeta Ecore MoC.lib.moc (MoC) MyDSML .xtend (DSA) MyDSML .ecore (AS) GEL/ECL DSE4MyDSML .gel (MoC<->DSA) aModel MyDSML DSA-AS.jar MyDSML Concurrency Model.mocLegend code generation <<dependsOn>> <<conformsTo>> Reifying Concurrency in xDSML: Contribution - 33Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  34. 34. TheGEMOCStudio A Journey Through MDE, DSL and SLE - Benoit Combemale (INRIA and Univ. Rennes 1) - July 2nd, 2015 - 34 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
  35. 35. - 35 ActivityDiagramDebugger https://github.com/gemoc/activitydiagram Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  36. 36. Coping with Semantic Variation Points - 36Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 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.
  37. 37. - 37 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." Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  38. 38. Multiplication of DSMLs Increasing number of stakeholders and concerns - 38 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 Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  39. 39. ON THE GLOBALIZATION OF MODELING LANGUAGES - 39Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 ? 2
  40. 40. Globalization of Modeling Languages - 40 •  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 68 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE COLUMN SECTION TITLESOFTWARE TECHNOLOGIES Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management. I n the software and sys- tems modeling community, domain-specific modeling language (DSML) research is focused on providing technolo- gies for developing languages and tools that allow domain experts to develop system solutions efficiently. Unfortunately, it’s very difficult for software and systems engineers to reason about information spread across models describing different system aspects because of the cur- rent lack of support for explicitly relating concepts expressed in dif- ferent DSMLs. Here, we describe a research initiative that broadens the DSML research focus beyond independent DSML development to one that supports globalized DSMLs—that is, DSMLs that facili- tate coordination of work across different domains of expertise. DOMAIN-SPECIFIC MODELING LANGUAGES Model-driven engineering (MDE) aims to reduce the accidental com- plexity associated with developing complex software-intensive systems.1 A primary source of this complex- ity is the wide gap between the high-level concepts used by domain experts to express their specific needs and the low-level abstrac- tions provided by general-purpose programming languages.2 Manually bridging this gap, particularly in the presence of changing requirements, is costly in terms of both time and effort. MDE approaches this problem through the use of modeling tech- niques that support separation of concerns and automated generation of major system artifacts (for exam- ple, test cases and implementations) from models. In MDE, a model describes an aspect of a system and is typically created for specific development purposes. Separation of concerns is supported through the use of dif- ferent modeling languages, each providing constructs based on ab- stractions that are specific to an aspect of a system. For example, gen- eralized stochastic Petri nets can be used to create performance models, whereas the notation provided by the Simulink tool is adapted to simula- tion models. MDE technologies also provide support for manipulating models, such as for querying, trans- forming, merging, and analyzing (including executing) models. Model- ing languages are thus at MDE’s core. Globalizing Modeling Languages Benoit Combemale, Inria and Univerity of Rennes Julien DeAntoni, University of Nice Sophia-Antipolis Benoit Baudry, Inria Robert B. France, Colorado State University Jean-Marc Jézéquel, University of Rennes Jeff Gray, University of Alabama r6sof.indd 68 5/22/14 10:47 AM Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  41. 41. Globalization of Modeling Languages - 41 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. Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 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 68 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE COLUMN SECTION TITLESOFTWARE TECHNOLOGIES Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management. I n the software and sys- tems modeling community, domain-specific modeling language (DSML) research is focused on providing technolo- gies for developing languages and tools that allow domain experts to develop system solutions efficiently. Unfortunately, it’s very difficult for software and systems engineers to reason about information spread across models describing different system aspects because of the cur- rent lack of support for explicitly relating concepts expressed in dif- ferent DSMLs. Here, we describe a research initiative that broadens the DSML research focus beyond independent DSML development to one that supports globalized DSMLs—that is, DSMLs that facili- tate coordination of work across different domains of expertise. DOMAIN-SPECIFIC MODELING LANGUAGES Model-driven engineering (MDE) aims to reduce the accidental com- plexity associated with developing complex software-intensive systems.1 A primary source of this complex- ity is the wide gap between the high-level concepts used by domain experts to express their specific needs and the low-level abstrac- tions provided by general-purpose programming languages.2 Manually bridging this gap, particularly in the presence of changing requirements, is costly in terms of both time and effort. MDE approaches this problem through the use of modeling tech- niques that support separation of concerns and automated generation of major system artifacts (for exam- ple, test cases and implementations) from models. In MDE, a model describes an aspect of a system and is typically created for specific development purposes. Separation of concerns is supported through the use of dif- ferent modeling languages, each providing constructs based on ab- stractions that are specific to an aspect of a system. For example, gen- eralized stochastic Petri nets can be used to create performance models, whereas the notation provided by the Simulink tool is adapted to simula- tion models. MDE technologies also provide support for manipulating models, such as for querying, trans- forming, merging, and analyzing (including executing) models. Model- ing languages are thus at MDE’s core. Globalizing Modeling Languages Benoit Combemale, Inria and Univerity of Rennes Julien DeAntoni, University of Nice Sophia-Antipolis Benoit Baudry, Inria Robert B. France, Colorado State University Jean-Marc Jézéquel, University of Rennes Jeff Gray, University of Alabama r6sof.indd 68 5/22/14 10:47 AM
  42. 42. Globalization of Modeling Language - 42 •  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) Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 "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.
  43. 43. Towards Language Interfaces - 43Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 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)
  44. 44. MELANGE: MODULAR AND REUSABLE DSML DESIGN AND IMPLEMENTATION - 44 Melange (DSML reuse) xDSML2 xDSML1 structural/ axiomatic behavioral subtyping relation
  45. 45. - 45 Jim Steel, Jean-Marc Jézéquel, "On model typing," In Software and System Modeling (SoSyM), 2007 •  Rich set of subtyping relationships [Guy et al., ECMFA’12] •  Support of OCL in subtyping relationships [Sun et al., ECMFA’13] Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  46. 46. Reuse is not enough! Context matters! Imported / inherited DSMLs may not fit exactly domain-specific requirements è Finely tune with customization facilities Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 46
  47. 47. Modular and Reusable xDSML Development - 47Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 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 Software Language Engineering (SLE), 2015 MM1 MM2 Sem1 Sem2 L1 L2 L3 L4 «inherit» «mergeL» «weave» «slice» Metamodel Semantics Language Tooling Model Type Binding «mergeS» «mergeS» «weave» Legacy ArtifactsAssembled DSLs MT1 MT2 MTi «impl» «impl»
  48. 48. - 48 A language-based, model- oriented programming language MELANGE http://melange-lang.org Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  49. 49. OPEN WORLD Feature A Feature B Feature B F. D F. D F. D F. D F. D F. D Variability model L1 L2 L3 L4 L1 L3 L4L2 CLOSED WORLD Language Manipulation •  Evolution •  Extension •  Restriction •  Customization •  Assembly Variability-based development model for DSLs •  Variability modeling •  Components-based languages development Families of Languages Variants Language derivation L6 Typing Theory for Agile Modeling •  Language interfaces •  Model polymorphism •  Viewpoints management MELANGE A Journey Through MDE, DSL and SLE - Benoit Combemale (INRIA and Univ. Rennes 1) - July 2nd, 2015 - 49
  50. 50. B-COOL: BEHAVIORAL MODEL COORDINATION Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 50 GEMOC Studio (DSML coordination) xDSML1 structural/ axiomatic behavioral xDSML3 coordination pattern
  51. 51. Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 51
  52. 52. Towards a behavioral coordination of xDSMLs Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 52 •  The application of the MOC to a given model results in an event structure •  Consequently, the MOC defines a symbolic event structure, whose some events are mapped to the DSA (i.e., the visible model state changes) ⇒  This mapping can serve as a behavioral language interface used to define patterns that coordinate conforming models Matias Ezequiel Vara Larsen, Julien Deantoni, Benoit Combemale, Frédéric Mallet, "A Behavioral Coordination Operator Language (BCOoL)," In MODELS 2015
  53. 53. Behavioral Coordination Operator Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 53 xDSML Semantics AS DSA MoCC DSE (Domain Specific Event) Event-driven behavioral interface Concurrent execution of homogeneous domain- specific models • Data • Control • Communication
  54. 54. Behavioral Coordination Operator Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 54 xDSML’ xDSML Semantics AS DSA MoCC DSE (Domain Specific Event) • Data • Control • Communication Event-driven behavioral interface AS DSA MoCC DSE Concurrent execution of heterogeneous domain- specific models
  55. 55. Behavioral Coordination Operator Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) - 55 Model of Concurrency & Communication Domain-Specific Actions Abstract Syntax Domain-Specific Events 0..* DSAMoCC DSE Concept0..* Concepts (from Las) Execution Function (from Ldsa) Las Event (from Lmoc) Ldsa Ldse Lmocc Event 0..* * * Constraint 0..* 0..* Legend <<dependsOn>> <<conformsTo>> Property type 1Execution State 0..* Execution Function 0..* 0..* Ecore Kermeta MoccML GEL/ECL Composition Operator Composition Operator Lcompo Matching Rule Coordination Rule B-COoL Matias Ezequiel Vara Larsen, Julien Deantoni, Benoit Combemale, Frédéric Mallet, "A Behavioral Coordination Operator Language (BCOoL)," In MODELS 2015
  56. 56. Behavioral Model Coordination - 56Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
  57. 57. Behavioral Model Coordination - 57Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1)
  58. 58. CONCLUSION AND PERSPECTIVES - 58Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  59. 59. Conclusion Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 59 Contributions to the support of a language-oriented modeling with tools and methods to implement, reuse and coordinate xDSMLs and associated V&V tools
  60. 60. Major breakthroughs Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 60 •  Modular definition of xDSMLs •  Reification of the concurrency in xDSMLs •  Language interfaces for reuse and behavioral coordination
  61. 61. Perspectives - 61Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 DSMLs as a key pivot for the socio-technical coordination Model Experiencing Environments for informed decision and broader engagement in smart technologies 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>> Approximate DSML runtimes for design space exploration, runtime adaptation and security Metamorphic DSMLs for fitting user needs 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," SEIS@ICSE 2015 (submitted) M. Acher, B. Combemale, P. Collet, "Metamorphic Domain-Specific Languages: A Journey into the Shapes of a Language," Onward! Essays 2014
  62. 62. - 62Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 PhD Students: •  Clément Guy •  Emmanuelle Rouille •  Erwan Bousse •  David Mendez •  Marcelino Cancio Main projects: FUI Topcased, ITEA2 OPEES, PICS MBSAR, ANR GEMOC, BGLE CLARITY, COST MPM4CPS,Ind. contracts with Thales, Sodifrance, DGA Software: •  Melange •  GEMOC studio Papers: •  1 book written, 2 books and 6 proceedings edited •  4 book chapters •  13 journal papers •  57 conferences papers •  20 workshop papers General co-chair MODELS’16, PC co-chair SLE’14, founding member of the GEMOC initiative, EB member of Elsevier journals SCP and COMLAN, SC member of ACM SLE, organizer of various workshops and seminars (incl. Dasgtuhl). Software engineers: •  Vincent Fontanella •  François Tanguy •  Fabien Coulon •  Dorian Leroy Post-doctoral researchers: •  Cédric Bouhours •  José Galindo "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
  63. 63. - 63Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015
  64. 64. DiverSE Model driven engineering Functional diversity Language diversity Failure diversity Execution diversity Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 64
  65. 65. Scientific collaborations Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 - 65
  66. 66. - 66Towards Language-Oriented Modeling – B. Combemale (INRIA and Univ. Rennes 1) – December 4, 2015 In memory of Prof. Robert B. France, A mentor, an academic father and far beyond. Rest in peace, Robert. http://people.irisa.fr/Benoit.Combemale/tribute-robert-france
  67. 67. Reifying Concurrency in Language Design and Implementation - B. Combemale (Inria & Univ. Rennes 1) ILE de SEIN ENEZ-SUN

×