languages with derived features and
play

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


  1. Formal Validation of Domain-Specific Languages with Derived Features and Well-Formedness Constraints Presenter: Nick February 05, 2018

  2. Overview  Motivation  DSL Validation Tool  DSL Validation Workflow  Experimental Results  Conclusions 1

  3. Domain Specific Languages (DSLs)  Components of a DSL  Metamodel  Derived features  Well-formedness constraints 2

  4. Domain Specific Languages (DSLs)  Validation Challenges  Complex metamodel and constraints  Infinite range of models 3

  5. SAT/SMT Solvers  Properties  Checks satisfiability of a logical claim.  SMT is more expressive than SAT Satisfiable (Witness/ Counter-Example) Logical Unsatisfiable SAT/SMT formula Solver (Contradiction) Unknown (Timeout) 4

  6. First-Order Logic (FOL) Approximation Original DSL 5

  7. First-Order Logic (FOL) Approximation Original DSL Under- Approximation 5

  8. First-Order Logic (FOL) Approximation Overapproximation Original DSL Under- Approximation 5

  9. DSL Validation Tool 6

  10. Formalisation of the Metamodel 7

  11. Formalisation of the Metamodel Class 7

  12. Formalisation of the Metamodel Class Relationships, Multiplicity & Inverse Edges 7

  13. Formalisation of the Metamodel Class Relationships, Multiplicity Enumerations & Inverse Edges & Attributes 7

  14. Formalisation of the Metamodel Class Type Hierarchy Relationships, Multiplicity Enumerations & Inverse Edges & Attributes 7

  15. Formalisation of the Metamodel Class Containment Type Hierarchy Relationships, Multiplicity Enumerations & Inverse Edges & Attributes 7

  16. Formalisation of Constraints  Supported Constraints  Classifier  Path  Equality  Pattern call  Check 8

  17. Formalisation of Constraints  Supported Constraints  Usage  Classifier  Well-formed constraints  Path  Derived patterns  Equality  Pattern call  Check 9

  18. Partial Snapshots  Relaxed Constraints  Undefined attributes  Abstract objects  Unconnected partitions  Missing/extra edges  Removed objects 10

  19. Partial Snapshots  Relaxed Constraints  Semantic Modifiers  Undefined attributes  Positive/Negative  Abstract objects  Injective/Shareable  Unconnected partitions  Modifiable/Unmodifiable  Missing/extra edges  Removed objects 10

  20. DSL Validation Tool 11

  21. DSL Validation Workflow

  22. DSL Validation Workflow

  23. DSL Validation Workflow

  24. DSL Validation Workflow

  25. DSL Validation Workflow

  26. DSL Validation Workflow

  27. Runtime Measurements  Preliminary Results  Z3 (SMT) generally outperforms Alloy (SAT)  Alloy outperforms Z3 in model structure generation 13

  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

Recommend


More recommend