Return to search

Supporting development of Event-B models

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.

Identiferoai:union.ndltd.org:bl.uk/oai:ethos.bl.uk:561590
Date January 2012
CreatorsSilva, Renato
ContributorsButler, Michael
PublisherUniversity of Southampton
Source SetsEthos UK
Detected LanguageEnglish
TypeElectronic Thesis or Dissertation
Sourcehttps://eprints.soton.ac.uk/340237/

Page generated in 0.0017 seconds