Towards Language Interfaces for DSLs Integration
Thomas Degueule – INRIA, France
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
Thomas Degueule – INRIA, France
Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction
3 Aerodynamics Authoritie s Avionics Safety Regulations Airlines Propulsion System Mechanica l Structure Environment al Impact Navigation Communications Human- Machine Interaction
Towards Language Interfaces for DSLs Integration
4
Towards Language Interfaces for DSLs Integration
5
Towards Language Interfaces for DSLs Integration
6
Towards Language Interfaces for DSLs Integration
7
Towards Language Interfaces for DSLs Integration
8
Towards Language Interfaces for DSLs Integration
9
Towards Language Interfaces for DSLs Integration
10
Towards Language Interfaces for DSLs Integration
11
Towards Language Interfaces for DSLs Integration
12
If the language evolves, associated tools break If a variant exists, tools cannot be reused
We realize this abstraction layer with language interfaces
Towards Language Interfaces for DSLs Integration
13
(abstract syntax, concrete syntaxes, semantics, …)
(meaningful information for a specific purpose)
(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
▪ Models (i.e. graph of objects) as first-class citizens Type group (family) polymorphism Structural typing
Towards Language Interfaces for DSLs Integration
15
Towards Language Interfaces for DSLs Integration
16
Towards Language Interfaces for DSLs Integration
17
Towards Language Interfaces for DSLs Integration
18
Towards Language Interfaces for DSLs Integration
19
Melange: A Language-Based Model-Oriented Programming Language
▪ Import DSLs implementation ▪ Handy operators for SLE: inheritance, merge, etc. ▪ Aspect-oriented modeling (e.g. for executable meta-modeling) ▪ Generic transformations
▪ Models as first-class, typed citizens ▪ Model-oriented type system providing model polymorphism ▪ Flexible save and load mechanism
Towards Language Interfaces for DSLs Integration
20
21
22
23
24
25
26
27
▪ Example: FSM
▪ Syntaxes: Simple – hierarchical – with time constraints – etc. ▪ Semantics: Run-to-completion – concurrent – etc. ▪ Generic transformations: flatten – execute – etc.
▪ xCapella: executable extension of Capella ▪ Managing the interoperability with UML
Towards Language Interfaces for DSLs Integration
28
Towards Language Interfaces for DSLs Integration
29
Towards Language Interfaces for DSLs Integration
30
environments
Towards Language Interfaces for DSLs Integration
31