Shared Event Composition/Decomposition in Event-B
Silva, Renato and Butler, Michael (2010) Shared Event Composition/Decomposition in Event-B. In, FMCO Formal Methods for Components and Objects, Graz, Austria, 29 Nov - 01 Dec 2010.
Download
|
PDF
- Published Version
Download (927Kb) |
|
|
PDF
- Submitted Version
Download (724Kb) |
Description/Abstract
The construction of specifications is often a combination of smaller sub-components. Composition and decomposition are techniques that support reuse and allow us to formally combine sub-components through refinement steps while reusing their properties. Sub-components can result from a design or architectural goal and a refinement framework should allow further parallel development over the sub-components. We propose the definition of composition and decomposition in the Event-B formalism following a shared event approach where sub-components interact via synchronisation over shared events and shared states are not allow. We define the necessary proof obligations to ensure a valid composition or decomposition. We also show that shared event composition preserves refinement proofs for sub-components, that is, in order to maintain refinement of compositions, it is sufficient to prove refinement between corresponding subcomponents. A case study applying these two techniques is illustrated using Rodin, the Event-B toolset.
| Item Type: | Conference or Workshop Item (Paper) |
|---|---|
| Additional Information: | Event Dates: 29 November - 1 December 2010 |
| Divisions: | Faculty of Physical and Applied Science > Electronics and Computer Science > Electronic & Software Systems |
| Item ID: | 272178 |
| Date Deposited: | 13 Apr 2011 16:00 |
| Last Modified: | 01 Mar 2012 13:31 |
| Contributors: | Silva, Renato (Author) Butler, Michael (Author) |
| Date: | 30 November 2010 |
| Additional Information: | Event Dates: 29 November - 1 December 2010 |
| Status: | Published |
| Further Information: | Google Scholar |
| URI: | http://eprints.soton.ac.uk/id/eprint/272178 |
Actions (login required)
![]() |
View Item |


