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
![Page 1: PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/26.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022020306/5480f8bbb4af9faa158b5e9f/html5/thumbnails/27.jpg)
ProMoBox in Practice 27
ProMoBox in Practice : A Case Study on the GISMO Domain-Specific Modelling Language
Thank You for Listenning
Questions ?