Use this URL to cite or link to this record in EThOS:
Title: Supporting development of Event-B models
Author: Silva, Renato
ISNI:       0000 0004 2727 6226
Awarding Body: University of Southampton
Current Institution: University of Southampton
Date of Award: 2012
Availability of Full Text:
Access from EThOS:
Access from Institution:
We believe that the task of developing large systems requires a formal approach. The complexity of these systems demands techniques and tool support to simplify the task of formal development. Often large systems are a combination of sub-components that can be seen as modules. Event-B is a formal methodology that allows the development of distributed systems. Despite several benefits of using Event-B, modularisation and reuse of existing models are not fully supported. We propose three techniques supporting the reuse of models and their respective proof obligations in order to develop specifications of large systems: composition, generic instantiation and decomposition. Such techniques are studied and tool support is defined as plug-ins by taking advantage of the extensibility features of the Event-B toolset (Rodin platform). Composition allows the combination of different sub-components and refinement is possible. A shared event approach is followed where sub-components events are composed, communicating via common parameters and without variable sharing. By reusing sub-components, proof obligations required for a valid composition are expressed and we show that composition is monotonic. A tool is developed reinforcing the conditions that allow the monotonicity and generating the respective proof obligations. Generic Instantiation allows a generic model (a machine or a refinement chain) to be instantiated into a suitable development. Generic model proof obligations are reused, avoiding re-proof and its refinement comes for free. An instantiation constructor is developed where the generic free identifiers (variables and constants) are renamed and carrier sets are replaced to fit the instance. Decomposition allows the splitting of a model into several sub-components in a shared event or shared variable style. Both styles are monotonic and sub-components can be further refined independently, allowing team development. Proof obligations of the original model are split into the different sub-components which usually results in simpler and easier to discharge proof obligations. Decomposition is supported by a practical tool permitting the use of both styles. We expect to close the gap between the use of formal methods in academia and industry. In this thesis we address the important aspect of having tools supporting well-studied formal techniques that are easy to use by model developers.
Supervisor: Butler, Michael Sponsor: Not available
Qualification Name: Thesis (Ph.D.) Qualification Level: Doctoral
EThOS ID:  DOI: Not available
Keywords: QA75 Electronic computers. Computer science