Automated Translation of Event-B Models to SPARK Proof Annotations
Automated Translation of Event-B Models to SPARK Proof Annotations
Ensuring and verifying the properties of safety- and security-critical software is paramount. Event-B is a modelling language which enables the design of
systems, using mathematical proofs ensuring the conformity of the system to
declared safety requirements. SPARK is a programming language making use of static analysis tools which verify written code correctly implements the properties of the system as specified in the form of written proof annotations. SPARK has been used in many industry-scale projects to implement safety-critical software.Manually writing SPARK proof annotations can be time-consuming and tedious. The aim of this project was to create a tool, in the form of a Rodin plug-in, to translate an Event-B model into a set of SPARK specifications in a SPARK specification file, in the form of proof annotations and other structures, from which SPARK code written can be verified together with, hence ensuring the correct behaviour of the software. A background literature review was conducted to find related works, to help guide the approach to this project. The common forms of a lot of predicates in Event-B, such as those involving set operations, had no direct counterpart in SPARK. Hence, an extra file in SPARK containing function definitions for common Event-B predicates was written. Using these function definitions, a set of translation rules from Event-B predicates to SPARK code was compiled, along with other translation rules for the making of other SPARK constructs which were needed in the specification file. Using these conceptual rules, the plug-in was created in Eclipse as an Eclipse plug-in to run on the Rodin target platform. Finally, this plug-in was tested with several Event-B models to ensure that the generated code was the same as the expected code.
University of Southampton
Sritharan, Sanjeevan
55c3bf83-4fc5-4986-afda-c65759f0a91b
12 May 2020
Sritharan, Sanjeevan
55c3bf83-4fc5-4986-afda-c65759f0a91b
Hoang, Thai Son
dcc0431d-2847-4e1d-9a85-54e4d6bab43f
Sritharan, Sanjeevan
(2020)
Automated Translation of Event-B Models to SPARK Proof Annotations.
University of Southampton, Masters Thesis.
Record type:
Thesis
(Masters)
Abstract
Ensuring and verifying the properties of safety- and security-critical software is paramount. Event-B is a modelling language which enables the design of
systems, using mathematical proofs ensuring the conformity of the system to
declared safety requirements. SPARK is a programming language making use of static analysis tools which verify written code correctly implements the properties of the system as specified in the form of written proof annotations. SPARK has been used in many industry-scale projects to implement safety-critical software.Manually writing SPARK proof annotations can be time-consuming and tedious. The aim of this project was to create a tool, in the form of a Rodin plug-in, to translate an Event-B model into a set of SPARK specifications in a SPARK specification file, in the form of proof annotations and other structures, from which SPARK code written can be verified together with, hence ensuring the correct behaviour of the software. A background literature review was conducted to find related works, to help guide the approach to this project. The common forms of a lot of predicates in Event-B, such as those involving set operations, had no direct counterpart in SPARK. Hence, an extra file in SPARK containing function definitions for common Event-B predicates was written. Using these function definitions, a set of translation rules from Event-B predicates to SPARK code was compiled, along with other translation rules for the making of other SPARK constructs which were needed in the specification file. Using these conceptual rules, the plug-in was created in Eclipse as an Eclipse plug-in to run on the Rodin target platform. Finally, this plug-in was tested with several Event-B models to ensure that the generated code was the same as the expected code.
Text
Automated_Translation_of_Event_B_Models_to_SPARK_Proof_Annotations
- Version of Record
More information
Published date: 12 May 2020
Identifiers
Local EPrints ID: 444034
URI: http://eprints.soton.ac.uk/id/eprint/444034
PURE UUID: ad3d8d19-eb03-4810-809c-ae58560434eb
Catalogue record
Date deposited: 23 Sep 2020 16:30
Last modified: 17 Mar 2024 03:39
Export record
Contributors
Author:
Sanjeevan Sritharan
Thesis advisor:
Thai Son Hoang
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
View more statistics