Integrating Formal Methods with Model-Driven Engineering
This thesis presents our method to integrate formal methods with model-driven engineering. Although a large amount of literature exists with the goal of facilitating the adoption of formal methods for educational and industrial practice, yet the adoption of formal methods in academia and industry is...
Main Author: | |
---|---|
Other Authors: | |
Language: | en |
Published: |
Université d'Ottawa / University of Ottawa
2017
|
Subjects: | |
Online Access: | http://hdl.handle.net/10393/36269 http://dx.doi.org/10.20381/ruor-20549 |
id |
ndltd-uottawa.ca-oai-ruor.uottawa.ca-10393-36269 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-uottawa.ca-oai-ruor.uottawa.ca-10393-362692018-01-05T19:03:04Z Integrating Formal Methods with Model-Driven Engineering Adesina, Opeyemi Lethbridge, Timothy Some, Stéphane Formal Methods Model-Driven Engineering Model Checking Umple UML Model-Driven Development This thesis presents our method to integrate formal methods with model-driven engineering. Although a large amount of literature exists with the goal of facilitating the adoption of formal methods for educational and industrial practice, yet the adoption of formal methods in academia and industry is poor. The goal of this research is to improve the adoption of formal methods by automating the generation of formal methods code while maintaining scalability and bridging the gaps between formal analysis and actual implementation of the complete system. Our approach is based on generating formal representations of software abstractions expressed in a textual language, called Umple, which is derived from UML. Software abstractions of interest include class models and state machines. For state machines, we address concerns such as composite and concurrent states separately. The resulting systems are analyzable by back-end analysis engines such as Alloy and nuXmv or NuSMV for model checking. To ensure correctness of our approach, we have adopted simulation, empirical studies and rigorous test-driven development (TDD) methodologies. To guarantee correctness of state machine systems under analysis (SSUAs), we present methods to automatically generate specifications to analyze domain-independent properties such as non-determinism and reachability analysis. We apply these methods in various case studies; certify their conformance with sets of requirements and uncover certain flaws. Our contributions include a) The overall approach, involving having the developer write the system in Umple and generating both the formal system for analysis and the final code from the same model; b) a novel approach to encode SSUAs even in the presence of and-cross transitions; c) a fully automated approach to certify an SSUA to be free from nondeterminism even in the presence of unbounded domains and multiple and-cross transitions within the same enclosing orthogonal state; d) an empirical study of the impact of abstraction on some performance parameters; and e) a translator from Umple to Alloy and SMV. 2017-07-12T19:30:42Z 2017-07-12T19:30:42Z 2017 Thesis http://hdl.handle.net/10393/36269 http://dx.doi.org/10.20381/ruor-20549 en Université d'Ottawa / University of Ottawa |
collection |
NDLTD |
language |
en |
sources |
NDLTD |
topic |
Formal Methods Model-Driven Engineering Model Checking Umple UML Model-Driven Development |
spellingShingle |
Formal Methods Model-Driven Engineering Model Checking Umple UML Model-Driven Development Adesina, Opeyemi Integrating Formal Methods with Model-Driven Engineering |
description |
This thesis presents our method to integrate formal methods with model-driven engineering. Although a large amount of literature exists with the goal of facilitating the adoption of formal methods for educational and industrial practice, yet the adoption of formal methods in academia and industry is poor. The goal of this research is to improve the adoption of formal methods by automating the generation of formal methods code while maintaining scalability and bridging the gaps between formal analysis and actual implementation of the complete system.
Our approach is based on generating formal representations of software abstractions expressed in a textual language, called Umple, which is derived from UML. Software abstractions of interest include class models and state machines. For state machines, we address concerns such as composite and concurrent states separately. The resulting systems are analyzable by back-end analysis engines such as Alloy and nuXmv or NuSMV for model checking.
To ensure correctness of our approach, we have adopted simulation, empirical studies and rigorous test-driven development (TDD) methodologies. To guarantee correctness of state machine systems under analysis (SSUAs), we present methods to automatically generate specifications to analyze domain-independent properties such as non-determinism and reachability analysis. We apply these methods in various case studies; certify their conformance with sets of requirements and uncover certain flaws.
Our contributions include a) The overall approach, involving having the developer write the system in Umple and generating both the formal system for analysis and the final code from the same model; b) a novel approach to encode SSUAs even in the presence of and-cross transitions; c) a fully automated approach to certify an SSUA to be free from nondeterminism even in the presence of unbounded domains and multiple and-cross transitions within the same enclosing orthogonal state; d) an empirical study of the impact of abstraction on some performance parameters; and e) a translator from Umple to Alloy and SMV. |
author2 |
Lethbridge, Timothy |
author_facet |
Lethbridge, Timothy Adesina, Opeyemi |
author |
Adesina, Opeyemi |
author_sort |
Adesina, Opeyemi |
title |
Integrating Formal Methods with Model-Driven Engineering |
title_short |
Integrating Formal Methods with Model-Driven Engineering |
title_full |
Integrating Formal Methods with Model-Driven Engineering |
title_fullStr |
Integrating Formal Methods with Model-Driven Engineering |
title_full_unstemmed |
Integrating Formal Methods with Model-Driven Engineering |
title_sort |
integrating formal methods with model-driven engineering |
publisher |
Université d'Ottawa / University of Ottawa |
publishDate |
2017 |
url |
http://hdl.handle.net/10393/36269 http://dx.doi.org/10.20381/ruor-20549 |
work_keys_str_mv |
AT adesinaopeyemi integratingformalmethodswithmodeldrivenengineering |
_version_ |
1718598878440194048 |