Code Generation for Event-B
release_xxpeia2gpzc5rhckllafzispqm
by
Victor Rivera
2016
Abstract
Stepwise refinement and Design-by-Contract are two formal approaches for
modelling systems. These approaches are widely used in the development of
systems. Both approaches have (dis-)advantages. This thesis aims to answer, is
it possible to combine both approaches in the development of systems, providing
the user with the benefits of both? We answer this question by translating the
stepwise refinement method with Event-B to Design-by-Contract with Java and
JML, so users can take full advantage of both formal approaches without losing
their benefits. This thesis presents a set of syntactic rules that translates
Event-B to JML-annotated Java code. It also presents the implementation of the
syntactic rules as the EventB2Java tool. We used the tool to translate several
Event-B models. It generated JML-annotated Java code for all the considered
models that serve as initial implementation. We also used EventB2Java for the
development of two software applications. Additionally, we compared EventB2Java
against two other tools for Event-B code generation. EventB2Java enables users
to start the software development process in Event-B, where users can model the
system and prove its consistency, to then transition to JML-annotated Java
code, where users can continue the development process.
In text/plain
format
Archived Files and Locations
application/pdf 1.8 MB
file_4lr2miequrf4xkpxhphyti2fpi
|
arxiv.org (repository) web.archive.org (webarchive) |
1602.02004v1
access all versions, variants, and formats of this works (eg, pre-prints)