domain-specific metamodeling, and language families › ~benoit.combemale › pub › sleseminar15...

24
Domain-Specific Metamodeling, and language families Specifying families of packet filtering languages.

Upload: others

Post on 24-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying

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

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

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

4

Cybersecurity

Page 5: Domain-Specific Metamodeling, and language families › ~Benoit.Combemale › pub › sleseminar15 › ... · 2020-03-30 · Domain-Specific Metamodeling, and language families Specifying

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Domain-Specific Metamodeling, and language families

Specifying families of packet filtering languages.