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...

Full description

Bibliographic Details
Main Author: Adesina, Opeyemi
Other Authors: Lethbridge, Timothy
Language:en
Published: Université d'Ottawa / University of Ottawa 2017
Subjects:
UML
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