Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Modular Language Composition for the Masses
1. Software Language Composition
for the Masses
Manuel Leduc, Thomas Degueule, Benoit Combemale
Joint work in the context of the associated research team ALE between Inria (DiverSE) and CWI (SWAT).
4. DSL Everywhere (2/2)
Challenges
1. Complex Language Engineering effort;
2. Requires expert knowledge;
3. Requires maintenance and evolution investments.
Modular Language Composition for the Masses 2 / 19
5. DSL Everywhere (2/2)
Challenges
1. Complex Language Engineering effort;
2. Requires expert knowledge;
3. Requires maintenance and evolution investments.
Proposed Solution
Reuse, assemble and customize existing languages.
Modular Language Composition for the Masses 2 / 19
6. Language extension
A language-development
system supports language
extension of a base language
if the implementation of the
base language can be
reused unchanged to
implement a language
extension.
Language composition
A language-development
system supports language
composition of two languages
if the implementation of both
languages can be reused
unchanged by adding glue
code only.
[MODELS'17] [SLE'18]
Language reuse
Modular Language Composition for the Masses 3 / 19
17. Requirements
R1: Concern Encapsulation
R2: Explicit Required Interface
Required interfaces of language concerns should explicitly state
the requirements a concern has towards other concerns.
Modular Language Composition for the Masses 10 / 19
18. Requirements
R1: Concern Encapsulation
R2: Explicit Required Interface
R3: Incremental Compilation
Language Concern should be type-checked and compiled
separately.
Modular Language Composition for the Masses 11 / 19
19. Requirements
R1: Concern Encapsulation
R2: Explicit Required Interface
R3: Incremental Compilation
R4: Concern Substitutability
Two Language Concerns with compatible interfaces should be
substitutable.
Modular Language Composition for the Masses 12 / 19
20. Requirements
R1: Concern Encapsulation
R2: Explicit Required Interface
R3: Incremental Compilation
R4: Concern Substitutability
R5: Non-intrusivity
Defining Language Concern should be based on Object-
Oriented engineering technologies.
Modular Language Composition for the Masses 13 / 19
32. Architecture Workflow Actions
Model sensors'
interface
Model sensors'
control flow
Express sensors'
actions
IoT Usecase (1/2)
Modular Language Composition for the Masses 15 / 19
33. Architecture Workflow Actions
Model sensors'
interface
Model sensors'
control flow
Express sensors'
actions
OMG's IDL
provides operation
getTemp(inout temp)
Activity Diagram
IoT Usecase (1/2)
Modular Language Composition for the Masses 15 / 19
35. Results
R1: Concern Encapsulation ✅
R3: Incremental Compilation ✅
⇒ Eclipse Plug-in based.
R2: Explicit Required Interface ✅
⇒ Required annotations on EMF classes.
R4: Concern Substitutability ✅
⇒ Lua replaced by 2 toy languages for expressions and actions.
R5: Non-intrusivity ✅
⇒ Based on EMF and Java.
Modular Language Composition for the Masses 17 / 19
37. Take Away
Implementation pattern enhancing language
composability;
Generative approach to abstract the implementation
pattern;
Alternative to the standard EMF Switch, improving
extensibility and composability.
Seamlessly integrated with EMF (and Java)
Type safe
Modular, Extensible, Composable, Reusable
Modular Language Composition for the Masses 18 / 19
38. Future Work
Toward language product lines and language families;
Dedicated binding language for glue definition.
Modular Language Composition for the Masses 19 / 19