Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15...
Transcript of Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15...
![Page 1: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/1.jpg)
Domain-Specific Metamodeling, and language families
Specifying families of packet filtering languages.
![Page 2: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/2.jpg)
2
Agenda
Introduction
Scenario
Challenge
Overview of solutions
Conclusions
![Page 3: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/3.jpg)
3
Agenda
Introduction
Scenario
Challenge
Overview of solutions
Conclusions
![Page 4: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/4.jpg)
4
Cybersecurity
![Page 5: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/5.jpg)
5
Hackers everywhere
INTERNET
![Page 6: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/6.jpg)
6
Idea!! A real hardware filter
![Page 7: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/7.jpg)
7
Idea: Packet filtering domain
INTERNET
Hardware based filter
![Page 8: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/8.jpg)
8
Agenda
Introduction
Scenario
Challenge
Overview of solutions
Conclusions
![Page 9: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/9.jpg)
9
Variability everywhere obsessive compulsive syndrome
![Page 10: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/10.jpg)
10
Challenge: How do we write our policies?
IPv4 IPv6 DCHP Ethernet USB UDP
Policy language
IPv4 + IPv6 + DCHP Ethernet + UDP
USB
![Page 11: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/11.jpg)
11
Filtering messages
§ Expressiveness, precision and correction
§ One policy, multiple protocols
§ Policies may change over time
![Page 12: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/12.jpg)
12
A policy example: From DCHP cherry to DCHP cherry 2
V1 V1 V2 V2
V1 V2
![Page 13: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/13.jpg)
13
Agenda
Introduction
Scenario
Challenge
Overview of solutions
Conclusions
![Page 14: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/14.jpg)
14
Example: A family of languages for packet filtering
![Page 15: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/15.jpg)
15
Example: A family of languages for packet filtering
Protocol parser
Physical Session Transport
Physical Physical Ethernet Physical Physical PAP Physical Physical IP Policy
language
Physical Transport Session
0..* 0..* 0..*
Transmission and reception of raw bit streams over
a physical medium.
Multiplexing
Session management Segmentation
Acknowledgment
1..*
![Page 16: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/16.jpg)
16
Tooling
Simulator Concrete syntax Abstract syntax
IP Segmentation Acknowledgment Configuration 1:
![Page 17: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/17.jpg)
17
Agenda
Introduction
Scenario
Challenge
Overview of solutions
Conclusions
![Page 18: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/18.jpg)
18
A case study for families of languages
Basic protocol --------------- Byte chain
Semantics
DCHP
Semantics
Common parts ---------------------
Basic policy
Semantics
DCHP
Semantics
DCHP v2
Semantics
Policy language
_____ _____
_____________ __________
_ _________
_ ____________
![Page 19: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/19.jpg)
19
A set of approaches
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 L4 L2
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
![Page 20: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/20.jpg)
20
Insights
§ Enables reuse of abstract syntax, concrete syntax and semantic.
§ Allows us to configure the most convenient language for each case.
Can we increase the reuse between concepts?
![Page 21: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/21.jpg)
21
Another solution to explore: Deep meta-modeling
M3
Message
FIELD DCHP
Policy language
_____
________ _____
Protocol
M2
![Page 22: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/22.jpg)
22
Agenda
Introduction
Scenario
Challenge
Overview of solutions
Conclusions
![Page 23: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/23.jpg)
23
Lot’s of things to be done
§ Integrate David and Thomas solutions within the case study.
§ Investigate the Deep meta-modeling solution
§ Explore and quantify of many reuse do we get in each case.
![Page 24: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying](https://reader035.fdocuments.net/reader035/viewer/2022081405/5f0cc2957e708231d436feb2/html5/thumbnails/24.jpg)
Domain-Specific Metamodeling, and language families
Specifying families of packet filtering languages.