Languages with Derived Features and Well-Formedness Constraints - - PowerPoint PPT Presentation

languages with derived features and
SMART_READER_LITE
LIVE PREVIEW

Languages with Derived Features and Well-Formedness Constraints - - PowerPoint PPT Presentation

Formal Validation of Domain-Specific Languages with Derived Features and Well-Formedness Constraints Presenter: Nick February 05, 2018 Overview Motivation DSL Validation Tool DSL Validation Workflow Experimental Results


slide-1
SLIDE 1

Formal Validation of Domain-Specific Languages with Derived Features and Well-Formedness Constraints

Presenter: Nick February 05, 2018

slide-2
SLIDE 2

Overview

 Motivation  DSL Validation Tool  DSL Validation Workflow  Experimental Results  Conclusions

1

slide-3
SLIDE 3

Domain Specific Languages (DSLs)

 Components of a DSL

 Metamodel  Derived features  Well-formedness constraints

2

slide-4
SLIDE 4

Domain Specific Languages (DSLs)

 Validation Challenges

 Complex metamodel and constraints  Infinite range of models

3

slide-5
SLIDE 5

SAT/SMT Solvers

 Properties

 Checks satisfiability of a logical claim.  SMT is more expressive than SAT

SAT/SMT Solver Logical formula Satisfiable (Witness/ Counter-Example) Unsatisfiable (Contradiction) Unknown (Timeout)

4

slide-6
SLIDE 6

First-Order Logic (FOL) Approximation

Original DSL

5

slide-7
SLIDE 7

First-Order Logic (FOL) Approximation

Under- Approximation

5

Original DSL

slide-8
SLIDE 8

First-Order Logic (FOL) Approximation

Under- Approximation Overapproximation

5

Original DSL

slide-9
SLIDE 9

DSL Validation Tool

6

slide-10
SLIDE 10

Formalisation of the Metamodel

7

slide-11
SLIDE 11

Formalisation of the Metamodel

Class

7

slide-12
SLIDE 12

Formalisation of the Metamodel

Class Relationships, Multiplicity & Inverse Edges

7

slide-13
SLIDE 13

Formalisation of the Metamodel

Class Enumerations & Attributes Relationships, Multiplicity & Inverse Edges

7

slide-14
SLIDE 14

Formalisation of the Metamodel

Class Type Hierarchy Enumerations & Attributes Relationships, Multiplicity & Inverse Edges

7

slide-15
SLIDE 15

Formalisation of the Metamodel

Class Containment Type Hierarchy Enumerations & Attributes Relationships, Multiplicity & Inverse Edges

7

slide-16
SLIDE 16

Formalisation of Constraints

 Supported Constraints

 Classifier  Path  Equality  Pattern call  Check

8

slide-17
SLIDE 17

Formalisation of Constraints

 Supported Constraints

 Classifier  Path  Equality  Pattern call  Check

 Usage

 Well-formed constraints  Derived patterns

9

slide-18
SLIDE 18

Partial Snapshots

 Relaxed Constraints

 Undefined attributes  Abstract objects  Unconnected partitions  Missing/extra edges  Removed objects

10

slide-19
SLIDE 19

Partial Snapshots

 Relaxed Constraints

 Undefined attributes  Abstract objects  Unconnected partitions  Missing/extra edges  Removed objects

 Semantic Modifiers

 Positive/Negative  Injective/Shareable  Modifiable/Unmodifiable

10

slide-20
SLIDE 20

DSL Validation Tool

11

slide-21
SLIDE 21

DSL Validation Workflow

slide-22
SLIDE 22

DSL Validation Workflow

slide-23
SLIDE 23

DSL Validation Workflow

slide-24
SLIDE 24

DSL Validation Workflow

slide-25
SLIDE 25

DSL Validation Workflow

slide-26
SLIDE 26

DSL Validation Workflow

slide-27
SLIDE 27

Runtime Measurements

 Preliminary Results

 Z3 (SMT) generally outperforms Alloy (SAT)  Alloy outperforms Z3 in model structure generation

13

slide-28
SLIDE 28

The End

 Problem

 Validation of complex DSLs

 Approach

 Approximate DSL in first-order logic  Check for satisfiability of resulting formula  Convert witness/counterexample into model

 Discussion Points

 How well does the approach scale?  Is it applicable to validating UML?  What are “useful” constraints for a DSL?  Is it applicable to synthesising constraints?

14