promobox in practice: a case study on the gismo domain-specific modelling language
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
1
ProMoBox in Practice : A Case Study on the GISMO Domain-Specific Modelling Language
Romuald DeshayesBart MeyersTom Mens
Hans Vangheluwe
September 30, 2014
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
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➢ ...
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
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
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
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
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
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)
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’
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
ProMoBox in Practice 12
The GISMO Domain-Specific Modelling Language (in AToMPM)
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
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
ProMoBox in Practice 15
Applying ProMoBox to GISMO
Output language
Execution trace of aSimulation, used forcounter-examples
All constructs of GISMO' are preserved
ProMoBox in Practice 16
Applying ProMoBox to GISMO
Output language
Execution trace of aSimulation, used forcounter-examples
All constructs of GISMO' are preserved
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
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
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
ProMoBox in Practice 20
Specifying and checking properties on GISMO
Runtime instance modelling behaviour of a bow
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).
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
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).
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).
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
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
ProMoBox in Practice 27
ProMoBox in Practice : A Case Study on the GISMO Domain-Specific Modelling Language
Thank You for Listenning
Questions ?