promobox in practice: a case study on the gismo domain-specific modelling language

27
1 ProMoBox in Practice : A Case Study on the GISMO Domain-Specific Modelling Language Romuald Deshayes Bart Meyers Tom Mens Hans Vangheluwe September 30, 2014

Upload: tom-mens

Post on 28-Nov-2014

124 views

Category:

Technology


0 download

DESCRIPTION

Presentation by Romuald Deshayes (UMONS) of joint research (with B. Meyers, T. Mens, H. Vangheluwe) on the use of domain-specific visual executable modelling languages for gestural interaction applications. Received the best presentation award at MPM 2014, the international workshop on Multi-Paradigm Modeling, co-located with the MoDELS 2014 conference in Valencia, Spain.

TRANSCRIPT

Page 1: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

1

ProMoBox in Practice : A Case Study on the GISMO Domain-Specific Modelling Language

Romuald DeshayesBart MeyersTom Mens

Hans Vangheluwe

September 30, 2014

Page 2: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 2

ProMoBox in Practice : A Case Study on the GISMO Domain-Specific Modelling Language

1. Introduction and problem statement2. ProMoBox : Shifting verification to DSM level3. The GISMO DSML4. Simplifying GISMO5. Applying ProMoBox to GISMO6. Specifying and checking properties on GISMO7. Conclusion and FW

Page 3: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 3

Introduction : Context of the work

Goal : providing high quality designed systems

Different activities help increase system quality :➢ Test-Driven development➢ Design before implementing➢ Properties checking➢ ...

Page 4: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 4

Introduction : DSM in the Design Phase

Design phase is usually performed by a domain-expert➢ No low-level detail knowledge➢ No generic language knowledge

Domain-expert needs a Domain-Specific Modelling Language (DSML)

conform

s to

Page 5: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 5

Problem : Specifying and checking Properties on DSML

Specifying Properties in LTL

Properties of the modelled systemHave to be written in LTL

Page 6: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 6

Problem : Specifying and checking Properties on DSML

Specifying Properties in LTL

Properties of the modelled systemHave to be written in LTL

Page 7: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 7

Problem : Current Architecture

user-defined model

generated model

automatic transformation(manually implemented)conforms to

user-defined modelgenerated modelautomatic transformation(provided by framework)

conforms to

automatic transformation(manually implemented)automatic transformation(language level)

InstanceModel.pmlSuperUglyRule.ltl

SPIN

3

2

DSMFormal methods

DSL

1

InstanceModel

1

3

2InstanceModel.trail

Trace.txt

Page 8: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 8

Problem : Current Architecture

user-defined model

generated model

automatic transformation(manually implemented)conforms to

user-defined modelgenerated modelautomatic transformation(provided by framework)

conforms to

automatic transformation(manually implemented)automatic transformation(language level)

InstanceModel.pmlSuperUglyRule.ltl

SPIN

3

2

DSMFormal methods

DSL

1

InstanceModel

1

3

2InstanceModel.trail

Trace.txt

Page 9: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 9

Problem : Current Architecture

InstanceModel.pmlSuperUglyRule.ltl

SPIN

3

2

DSMFormal methods

DSL

1

InstanceModel

1

3

2InstanceModel.trail

Trace.txt

user-defined model

generated model

automatic transformation(manually implemented)conforms to

user-defined modelgenerated modelautomatic transformation(provided by framework)

conforms to

automatic transformation(manually implemented)automatic transformation(language level)

Page 10: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 10

Solution : shifting verification tasks up to the DSM level

Separate languages (generated)

user-defined model

generated model

automatic transformation(manually implemented)conforms to

user-defined modelgenerated modelautomatic transformation(provided by framework)

conforms to

automatic transformation(manually implemented)automatic transformation(language level)

bow.pmlhasArrow.ltl

bow.trailSPIN

Trace.txt3

3

2

2

DSMFormal methods

1

bow

1

counterExample

4

hasArrow

1

DSLI DSLR

stateconfiguration5

DSLDDSLP DSLO

DSL’

Page 11: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 11

Solution : shifting verification tasks up to the DSM level

ProMoBox [1] can be applied to any DSML(*)

However, some steps have to be performed➢ Simplification of the language➢ Annotation of the language

[1] B Meyers , R Deshayes , L Lucio , E Syriani , H Vangheluwe, M Wimmer ProMoBox: A Framework for Generating Domain-Specific Property Languages, SLE2014

Page 12: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 12

The GISMO Domain-Specific Modelling Language (in AToMPM)

Page 13: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 13

Applying ProMoBox to GISMO

Manual annotation :

For each sub-language, generic metamodel elements (template-based approach) are interwoven with DSML metamodel elements

Annotation Design Runtime Input Output Property

x x x x

<<rt>> x x x

<<ev>> x

<<tr>> x x x x x

Page 14: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 14

Simplifying the GISMO metamodel

Most simplifications aim to reduce combinatorial search space of SPIN➢ Scalability issue inherent to model checking technique

Page 15: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 15

Applying ProMoBox to GISMO

Output language

Execution trace of aSimulation, used forcounter-examples

All constructs of GISMO' are preserved

Page 16: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 16

Applying ProMoBox to GISMO

Output language

Execution trace of aSimulation, used forcounter-examples

All constructs of GISMO' are preserved

Page 17: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 17

Applying ProMoBox to GISMO

Input language

Models the environmentof the system (input scenario)

Constructs of GISMO' not annotatedwith ev or tr are removed

Page 18: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 18

Applying ProMoBox to GISMO

Input language

Models the environmentof the system (input scenario)

Constructs of GISMO' not annotatedwith ev or tr are removed

Page 19: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 19

Applying ProMoBox to GISMO

Property languagetemplate

Allows the user to definetemporal properties overthe system behaviour

4 constructs➢ Quantification➢ Temporal patterns➢ Structural patterns➢ Domain-specific pattern

(not shown)

DSM elements inherits fromPropertyElement

Page 20: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 20

Specifying and checking properties on GISMO

Runtime instance modelling behaviour of a bow

Page 21: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 21

Specifying and checking properties on GISMO

P1 : Whenever the bow is fired, the amount of available arrows should decrement (global variable nbarrow is represented by integer id 1).

Page 22: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 22

Specifying and checking properties on GISMO

P1 : Whenever the bow is fired, the amount of available arrows should decrement (global variable nbarrow is represented by integer id 1).

OK

Page 23: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 23

Specifying and checking properties on GISMO

P2 : A bow cannot be bent if there is no arrow on it. (global variable nbarrow is represented by integer id 1).

Page 24: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 24

Specifying and checking properties on GISMO

P2 : A bow cannot be bent if there is no arrow on it. (global variable nbarrow is represented by integer id 1).

Page 25: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 25

ProMoBox in Practice : A Case Study on the GISMO Domain-Specific Modelling Language

Wrap up :ProMoBox is a generative approach allowing properties specification and verification using the DSM syntax.

Properties are checked and counter-examples can be shown in the DSM syntax

Some minor operations have to be performed before applying ProMoBox :➢ Simplification of the DSM metamodel➢ Annotation of the DSM metamodel

Page 26: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 26

Future Work

➢ Investigate other model checking techniques to reduce verfication time and space (bounded/symbolic model checking, generation and execution of test cases)

➢ Broaden language support : languages and properties including time

➢ Minimize amount of required simplification to be able to verify properties on full GISMO models

➢ Support masking of simplification in models

Page 27: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

ProMoBox in Practice 27

ProMoBox in Practice : A Case Study on the GISMO Domain-Specific Modelling Language

Thank You for Listenning

Questions ?