for DSLs Integration Thomas Degueule INRIA, France Mechanical - - PowerPoint PPT Presentation

for dsls integration
SMART_READER_LITE
LIVE PREVIEW

for DSLs Integration Thomas Degueule INRIA, France Mechanical - - PowerPoint PPT Presentation

Towards Language Interfaces for DSLs Integration Thomas Degueule INRIA, France Mechanical Airlines Structure Human- Machine Avionics Interaction Environmental Aerodynamics Impact Multiple Concerns Propulsion Safety System


slide-1
SLIDE 1

Towards Language Interfaces for DSLs Integration

Thomas Degueule – INRIA, France

slide-2
SLIDE 2

Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction

Multiple Concerns

slide-3
SLIDE 3

3 Aerodynamics Authoritie s Avionics Safety Regulations Airlines Propulsion System Mechanica l Structure Environment al Impact Navigation Communications Human- Machine Interaction

Heterogeneous Modeling

slide-4
SLIDE 4

The daily life of DSLs

▪ Closely evolve with the domain and the experts’ understanding of the domain ▪ Extended, shrunk, customized, replaced with alternatives ▪ Meant for rapid prototyping, evolution

Towards Language Interfaces for DSLs Integration

4

slide-5
SLIDE 5

Towards Language Interfaces for DSLs Integration

5

slide-6
SLIDE 6

Towards Language Interfaces for DSLs Integration

6

slide-7
SLIDE 7

Towards Language Interfaces for DSLs Integration

7

slide-8
SLIDE 8

Towards Language Interfaces for DSLs Integration

8

slide-9
SLIDE 9

Towards Language Interfaces for DSLs Integration

9

Variants or subsequent versions cannot leverage previous engineering efforts

slide-10
SLIDE 10

Towards Language Interfaces for DSLs Integration

10

How can we ensure interoperability between subsequent versions?

v2.4 v2.1

slide-11
SLIDE 11

Towards Language Interfaces for DSLs Integration

11

How can we foster the reuse of artifacts between similar languages?

slide-12
SLIDE 12

Challenges

Towards Language Interfaces for DSLs Integration

12

  • Manage evolution
  • Generic tools &

transformations

  • Manage syntactical /

semantical variation points

  • Design families (variants)
  • Agile modeling
  • Manipulate models in

different environments

  • Reuse transformations &

tools

slide-13
SLIDE 13

A unique solution: language interfaces

  • Tools, transformations, environments are tightly coupled

with the language they were originately defined on

 If the language evolves, associated tools break  If a variant exists, tools cannot be reused

  • An abstraction layer would reduce the coupling

 We realize this abstraction layer with language interfaces

Towards Language Interfaces for DSLs Integration

13

slide-14
SLIDE 14

Language Implementation

(abstract syntax, concrete syntaxes, semantics, …)

Language Interface

(meaningful information for a specific purpose)

Language and Model engineering

(transformations, tools, editors, IDEs, …)

Towards Language Interfaces for DSLs Integration

14

 Multiple DSLs can match the same interface  Operators defined on an interface can be reused for all implementing DSLs

slide-15
SLIDE 15

A structural interface: the model type

▪ Interface over the abstract syntax of a language (a metamodel) ▪ Focus on the reuse of tools and transformations ▪ Typing semantics for model manipulation ▪ Supported by a model-oriented type system

▪ Models (i.e. graph of objects) as first-class citizens  Type group (family) polymorphism  Structural typing

 Provides model polymorphism and substitutability

Towards Language Interfaces for DSLs Integration

15

slide-16
SLIDE 16

Model typing

Towards Language Interfaces for DSLs Integration

16

slide-17
SLIDE 17

Model typing

Towards Language Interfaces for DSLs Integration

17

slide-18
SLIDE 18

Model typing

Towards Language Interfaces for DSLs Integration

18

slide-19
SLIDE 19

Melange

Towards Language Interfaces for DSLs Integration

19

A language-based, model-oriented programming language

slide-20
SLIDE 20

Melange: A Language-Based Model-Oriented Programming Language

▪ A language for defining DSLs

▪ Import DSLs implementation ▪ Handy operators for SLE: inheritance, merge, etc. ▪ Aspect-oriented modeling (e.g. for executable meta-modeling) ▪ Generic transformations

▪ A language for manipulating models

▪ Models as first-class, typed citizens ▪ Model-oriented type system providing model polymorphism ▪ Flexible save and load mechanism

▪ Fully interoperable with the EMF ecosystem ▪ As an external or internal DSL

Towards Language Interfaces for DSLs Integration

20

slide-21
SLIDE 21

21

slide-22
SLIDE 22

22

slide-23
SLIDE 23

23

slide-24
SLIDE 24

24

slide-25
SLIDE 25

25

slide-26
SLIDE 26

26

slide-27
SLIDE 27

27

slide-28
SLIDE 28

Ongoing Experiments

▪ Families of syntactically and semantically diverse languages

▪ Example: FSM

▪ Syntaxes: Simple – hierarchical – with time constraints – etc. ▪ Semantics: Run-to-completion – concurrent – etc. ▪ Generic transformations: flatten – execute – etc.

▪ Thales’ Capella language

▪ xCapella: executable extension of Capella ▪ Managing the interoperability with UML

▪ Executable metamodeling within the ANR GEMOC project

Towards Language Interfaces for DSLs Integration

28

slide-29
SLIDE 29

Future Work

▪ Generic meta-programming ▪ Viewpoints engineering ▪ Model types as explicit required/provided interfaces of languages units ▪ Behavioral interfaces (e.g. event structure) for coordinated execution of heterogeneous languages

Towards Language Interfaces for DSLs Integration

29

slide-30
SLIDE 30

Wrap-up

Towards Language Interfaces for DSLs Integration

30

  • DSL engineering
  • High-level operators
  • Inheritance, merge, etc.
  • Aspect-oriented modeling
  • Executable meta-modeling
  • Generic tools definition
  • Agile modeling
  • Manipulate models in different

environments

  • Viewpoints
  • Reuse of tools
slide-31
SLIDE 31

Acknowledgments

▪ Dr. Olivier Barais, University of Rennes, France ▪ Dr. Arnaud Blouin, INSA Rennes, France ▪ Dr. Benoit Combemale, INRIA, France ▪ Prof. Jean-Marc Jezequel, University of Rennes, France ▪ Prof. Robert France, CSU, USA

Towards Language Interfaces for DSLs Integration

31

http://melange-lang.org https://github.com/diverse-project/melange