SlideShare a Scribd company logo
ProMoBox in Practice : A Case Study on the 
GISMO Domain-Specific Modelling Language 
1 
Romuald Deshayes 
Bart Meyers 
Tom Mens 
Hans Vangheluwe 
September 30, 2014
ProMoBox in Practice : A Case Study on the 
GISMO Domain-Specific Modelling Language 
1. Introduction and problem statement 
2. ProMoBox : Shifting verification to DSM level 
3. The GISMO DSML 
4. Simplifying GISMO 
5. Applying ProMoBox to GISMO 
6. Specifying and checking properties on GISMO 
7. Conclusion and FW 
ProMoBox in Practice 2
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 3
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) 
conforms to 
ProMoBox in Practice 4
Problem : Specifying and checking Properties 
on DSML 
Specifying Properties in LTL 
Properties of the modelled system 
Have to be written in LTL 
ProMoBox in Practice 5
Problem : Specifying and checking Properties 
on DSML 
Specifying Properties in LTL 
Properties of the modelled system 
Have to be written in LTL 
ProMoBox in Practice 6
Problem : Current Architecture 
user-defined model 
generated model 
automatic transformation 
(provided by framework) 
user-defined model 
generated model 
automatic transformation 
(manually implemented) 
conforms to 
automatic transformation 
(manually implemented) 
automatic transformation 
(language level) 
conforms to 
DSL 
InstanceModel 
1 
1 
SuperUglyRule.ltl InstanceModel.pml 
DSM 
Formal methods 
SPIN 
3 
2 
3 
2 
Trace.txt 
InstanceModel.trail 
ProMoBox in Practice 7
Problem : Current Architecture 
user-defined model 
generated model 
automatic transformation 
(provided by framework) 
user-defined model 
generated model 
automatic transformation 
(manually implemented) 
conforms to 
automatic transformation 
(manually implemented) 
automatic transformation 
(language level) 
conforms to 
DSL 
InstanceModel 
1 
1 
SuperUglyRule.ltl InstanceModel.pml 
DSM 
Formal methods 
SPIN 
3 
2 
3 
2 
Trace.txt 
InstanceModel.trail 
ProMoBox in Practice 8
Problem : Current Architecture 
DSL 
InstanceModel 
1 
1 
SuperUglyRule.ltl InstanceModel.pml 
DSM 
Formal methods 
SPIN 
3 
2 
3 
2 
Trace.txt 
user-defined model 
generated model 
automatic transformation 
(provided by framework) 
user-defined model 
generated model 
automatic transformation 
(manually implemented) 
conforms to 
InstanceModel.trail 
automatic transformation 
(manually implemented) 
automatic transformation 
(language level) 
conforms to 
ProMoBox in Practice 9
Solution : shifting verification tasks up to the 
DSM level 
Separate languages (generated) 
user-defined model 
generated model 
automatic transformation 
(provided by framework) 
user-defined model 
generated model 
automatic transformation 
(manually implemented) 
conforms to 
automatic transformation 
(manually implemented) 
automatic transformation 
(language level) 
conforms to 
DSL’ 
DSLP DSLD DSLO 
1 
bow 
1 
hasArrow 
1 
hasArrow.ltl bow.pml 
DSLI DSLR 
configuration state 
5 
DSM 
Formal methods 
counterExample 
4 
3 Trace.txt 
3 
SPIN bow.trail 
2 
2 
ProMoBox in Practice 10
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 11
The GISMO Domain-Specific Modelling 
Language (in AToMPM) 
ProMoBox in Practice 12
Applying ProMoBox to GISMO 
Manual annotation : 
Annotation Design Runtime Input Output Property 
x x x x 
<<rt>> x x x 
<<ev>> x 
<<tr>> x x x x x 
For each sub-language, generic metamodel elements 
(template-based approach) are interwoven with DSML 
metamodel elements 
ProMoBox in Practice 13
Simplifying the GISMO metamodel 
Most simplifications aim to reduce combinatorial search 
space of SPIN 
➢ Scalability issue inherent to model checking technique 
ProMoBox in Practice 14
Applying ProMoBox to GISMO 
Output language 
Execution trace of a 
Simulation, used for 
counter-examples 
All constructs of 
GISMO' are preserved 
ProMoBox in Practice 15
Applying ProMoBox to GISMO 
Output language 
Execution trace of a 
Simulation, used for 
counter-examples 
All constructs of 
GISMO' are preserved 
ProMoBox in Practice 16
Applying ProMoBox to GISMO 
Input language 
Models the environment 
of the system (input scenario) 
Constructs of 
GISMO' not annotated 
with ev or tr are removed 
ProMoBox in Practice 17
Applying ProMoBox to GISMO 
Input language 
Models the environment 
of the system (input scenario) 
Constructs of 
GISMO' not annotated 
with ev or tr are removed 
ProMoBox in Practice 18
Applying ProMoBox to GISMO 
Property language 
template 
Allows the user to define 
temporal properties over 
the system behaviour 
4 constructs 
➢ Quantification 
➢ Temporal patterns 
➢ Structural patterns 
➢ Domain-specific pattern 
(not shown) 
DSM elements inherits from 
PropertyElement 
ProMoBox in Practice 19
Specifying and checking properties on GISMO 
Runtime instance modelling behaviour of a bow 
ProMoBox in Practice 20
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 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). 
OK 
ProMoBox in Practice 22
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 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
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 25
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 26
ProMoBox in Practice : A Case Study on the 
GISMO Domain-Specific Modelling Language 
Thank You for Listenning 
Questions ? 
ProMoBox in Practice 27

More Related Content

Similar to PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language

EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!
melbats
 
acomprehensivereviewoflargelanguagemodelsfor-230515063139-1fc27b64.pdf
acomprehensivereviewoflargelanguagemodelsfor-230515063139-1fc27b64.pdfacomprehensivereviewoflargelanguagemodelsfor-230515063139-1fc27b64.pdf
acomprehensivereviewoflargelanguagemodelsfor-230515063139-1fc27b64.pdf
YaserAli40
 

Similar to PromoBox in Practice: A Case Study on the GISMO Domain-Specific Modelling Language (20)

Birendra_resume
Birendra_resumeBirendra_resume
Birendra_resume
 
Birendra_resume
Birendra_resumeBirendra_resume
Birendra_resume
 
Going to Mars with Groovy Domain-Specific Languages
Going to Mars with Groovy Domain-Specific LanguagesGoing to Mars with Groovy Domain-Specific Languages
Going to Mars with Groovy Domain-Specific Languages
 
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
 
Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC Studio
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!
 
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
 
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Generative AI for Reengineering Variants into Software Product Lines: An Expe...Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
 
acomprehensivereviewoflargelanguagemodelsfor-230515063139-1fc27b64.pdf
acomprehensivereviewoflargelanguagemodelsfor-230515063139-1fc27b64.pdfacomprehensivereviewoflargelanguagemodelsfor-230515063139-1fc27b64.pdf
acomprehensivereviewoflargelanguagemodelsfor-230515063139-1fc27b64.pdf
 
A Comprehensive Review of Large Language Models for.pptx
A Comprehensive Review of Large Language Models for.pptxA Comprehensive Review of Large Language Models for.pptx
A Comprehensive Review of Large Language Models for.pptx
 
20230419-LLaMA-Adapter_ Efficient Fine-tuning of Language Models with Zero-in...
20230419-LLaMA-Adapter_ Efficient Fine-tuning of Language Models with Zero-in...20230419-LLaMA-Adapter_ Efficient Fine-tuning of Language Models with Zero-in...
20230419-LLaMA-Adapter_ Efficient Fine-tuning of Language Models with Zero-in...
 
BloombergGPT.pdfA Large Language Model for Finance
BloombergGPT.pdfA Large Language Model for FinanceBloombergGPT.pdfA Large Language Model for Finance
BloombergGPT.pdfA Large Language Model for Finance
 
BDD Testing Using Godog - Bangalore Golang Meetup # 32
BDD Testing Using Godog - Bangalore Golang Meetup # 32BDD Testing Using Godog - Bangalore Golang Meetup # 32
BDD Testing Using Godog - Bangalore Golang Meetup # 32
 
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
 
Fine tuning large LMs
Fine tuning large LMsFine tuning large LMs
Fine tuning large LMs
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Geoff & Emily Bache - Specification By Example With GUI Tests-How Could That ...
Geoff & Emily Bache - Specification By Example With GUI Tests-How Could That ...Geoff & Emily Bache - Specification By Example With GUI Tests-How Could That ...
Geoff & Emily Bache - Specification By Example With GUI Tests-How Could That ...
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
 
GR8Conf 2009: Practical Groovy DSL by Guillaume Laforge
GR8Conf 2009: Practical Groovy DSL by Guillaume LaforgeGR8Conf 2009: Practical Groovy DSL by Guillaume Laforge
GR8Conf 2009: Practical Groovy DSL by Guillaume Laforge
 
Variables and constants
Variables and constantsVariables and constants
Variables and constants
 

More from Tom Mens

Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Tom Mens
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)
Tom Mens
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package Managers
Tom Mens
 

More from Tom Mens (20)

How to be(come) a successful PhD student
How to be(come) a successful PhD studentHow to be(come) a successful PhD student
How to be(come) a successful PhD student
 
Recognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentRecognising bot activity in collaborative software development
Recognising bot activity in collaborative software development
 
A Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubA Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHub
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHub
 
Nurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the FutureNurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the Future
 
Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHub
 
On backporting practices in package dependency networks
On backporting practices in package dependency networksOn backporting practices in package dependency networks
On backporting practices in package dependency networks
 
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
 
Lost in Zero Space
Lost in Zero SpaceLost in Zero Space
Lost in Zero Space
 
Evaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesEvaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messages
 
Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!
 
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
 
On the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsOn the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystems
 
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)
 
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research Achievements
 
SECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarSECO-Assist 2019 research seminar
SECO-Assist 2019 research seminar
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package Managers
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
UiPath New York Community Day in-person event
UiPath New York Community Day in-person eventUiPath New York Community Day in-person event
UiPath New York Community Day in-person event
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
КАТЕРИНА АБЗЯТОВА «Ефективне планування тестування ключові аспекти та практ...
КАТЕРИНА АБЗЯТОВА  «Ефективне планування тестування  ключові аспекти та практ...КАТЕРИНА АБЗЯТОВА  «Ефективне планування тестування  ключові аспекти та практ...
КАТЕРИНА АБЗЯТОВА «Ефективне планування тестування ключові аспекти та практ...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Ransomware Mallox [EN].pdf
Ransomware         Mallox       [EN].pdfRansomware         Mallox       [EN].pdf
Ransomware Mallox [EN].pdf
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 

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 1 Romuald Deshayes Bart Meyers Tom Mens Hans Vangheluwe September 30, 2014
  • 2. ProMoBox in Practice : A Case Study on the GISMO Domain-Specific Modelling Language 1. Introduction and problem statement 2. ProMoBox : Shifting verification to DSM level 3. The GISMO DSML 4. Simplifying GISMO 5. Applying ProMoBox to GISMO 6. Specifying and checking properties on GISMO 7. Conclusion and FW ProMoBox in Practice 2
  • 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 3
  • 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) conforms to ProMoBox in Practice 4
  • 5. Problem : Specifying and checking Properties on DSML Specifying Properties in LTL Properties of the modelled system Have to be written in LTL ProMoBox in Practice 5
  • 6. Problem : Specifying and checking Properties on DSML Specifying Properties in LTL Properties of the modelled system Have to be written in LTL ProMoBox in Practice 6
  • 7. Problem : Current Architecture user-defined model generated model automatic transformation (provided by framework) user-defined model generated model automatic transformation (manually implemented) conforms to automatic transformation (manually implemented) automatic transformation (language level) conforms to DSL InstanceModel 1 1 SuperUglyRule.ltl InstanceModel.pml DSM Formal methods SPIN 3 2 3 2 Trace.txt InstanceModel.trail ProMoBox in Practice 7
  • 8. Problem : Current Architecture user-defined model generated model automatic transformation (provided by framework) user-defined model generated model automatic transformation (manually implemented) conforms to automatic transformation (manually implemented) automatic transformation (language level) conforms to DSL InstanceModel 1 1 SuperUglyRule.ltl InstanceModel.pml DSM Formal methods SPIN 3 2 3 2 Trace.txt InstanceModel.trail ProMoBox in Practice 8
  • 9. Problem : Current Architecture DSL InstanceModel 1 1 SuperUglyRule.ltl InstanceModel.pml DSM Formal methods SPIN 3 2 3 2 Trace.txt user-defined model generated model automatic transformation (provided by framework) user-defined model generated model automatic transformation (manually implemented) conforms to InstanceModel.trail automatic transformation (manually implemented) automatic transformation (language level) conforms to ProMoBox in Practice 9
  • 10. Solution : shifting verification tasks up to the DSM level Separate languages (generated) user-defined model generated model automatic transformation (provided by framework) user-defined model generated model automatic transformation (manually implemented) conforms to automatic transformation (manually implemented) automatic transformation (language level) conforms to DSL’ DSLP DSLD DSLO 1 bow 1 hasArrow 1 hasArrow.ltl bow.pml DSLI DSLR configuration state 5 DSM Formal methods counterExample 4 3 Trace.txt 3 SPIN bow.trail 2 2 ProMoBox in Practice 10
  • 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 11
  • 12. The GISMO Domain-Specific Modelling Language (in AToMPM) ProMoBox in Practice 12
  • 13. Applying ProMoBox to GISMO Manual annotation : Annotation Design Runtime Input Output Property x x x x <<rt>> x x x <<ev>> x <<tr>> x x x x x For each sub-language, generic metamodel elements (template-based approach) are interwoven with DSML metamodel elements ProMoBox in Practice 13
  • 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 14
  • 15. Applying ProMoBox to GISMO Output language Execution trace of a Simulation, used for counter-examples All constructs of GISMO' are preserved ProMoBox in Practice 15
  • 16. Applying ProMoBox to GISMO Output language Execution trace of a Simulation, used for counter-examples All constructs of GISMO' are preserved ProMoBox in Practice 16
  • 17. Applying ProMoBox to GISMO Input language Models the environment of the system (input scenario) Constructs of GISMO' not annotated with ev or tr are removed ProMoBox in Practice 17
  • 18. Applying ProMoBox to GISMO Input language Models the environment of the system (input scenario) Constructs of GISMO' not annotated with ev or tr are removed ProMoBox in Practice 18
  • 19. Applying ProMoBox to GISMO Property language template Allows the user to define temporal properties over the system behaviour 4 constructs ➢ Quantification ➢ Temporal patterns ➢ Structural patterns ➢ Domain-specific pattern (not shown) DSM elements inherits from PropertyElement ProMoBox in Practice 19
  • 20. Specifying and checking properties on GISMO Runtime instance modelling behaviour of a bow ProMoBox in Practice 20
  • 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 21
  • 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 22
  • 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 23
  • 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 24
  • 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 25
  • 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 26
  • 27. ProMoBox in Practice : A Case Study on the GISMO Domain-Specific Modelling Language Thank You for Listenning Questions ? ProMoBox in Practice 27