Tasking Event-B: An Extension to Event-B for Generating Concurrent Code
Tasking Event-B: An Extension to Event-B for Generating Concurrent Code
The Event-B method is a formal approach for modelling systems in safety-, and business-critical, domains. Initially, system specification takes place at a high level of abstraction; detail is added in refinement steps as the development proceeds toward implementation. Our aim has been to develop a novel approach for generating code, for concurrent programs, from Event-B. We formulated the approach so that it integrates well with the existing Event-B methodology and tools. In this paper we introduce a tasking extension for Event-B, with Tasking and Shared Machines. We make use of refinement, decomposition, and the extension, to structure projects for code generation for multitasking implementations. During the modelling phase decomposition is performed; decomposition reduces modelling complexity and makes proof more tractable. The decomposed models are then extended with sufficient information to enable generation of code. A task body describes a task’s behaviour, mainly using imperative, programming-like constructs. Task priority and life-cycle (periodic, triggered, etc.) are also specified, but timing aspects are not modelled formally. We provide tool support in order to validate the practical aspects of the approach.
Event-B, Code Generation, Tooling, Concurrency
Edmunds, Andrew
5d6da190-9621-44a5-9989-ca98a213928f
Butler, Michael
54b9c2c7-2574-438e-9a36-6842a3d53ed0
Edmunds, Andrew
5d6da190-9621-44a5-9989-ca98a213928f
Butler, Michael
54b9c2c7-2574-438e-9a36-6842a3d53ed0
Edmunds, Andrew and Butler, Michael
(2011)
Tasking Event-B: An Extension to Event-B for Generating Concurrent Code.
PLACES 2011, Saarbrucken, Germany.
(In Press)
Record type:
Conference or Workshop Item
(Paper)
Abstract
The Event-B method is a formal approach for modelling systems in safety-, and business-critical, domains. Initially, system specification takes place at a high level of abstraction; detail is added in refinement steps as the development proceeds toward implementation. Our aim has been to develop a novel approach for generating code, for concurrent programs, from Event-B. We formulated the approach so that it integrates well with the existing Event-B methodology and tools. In this paper we introduce a tasking extension for Event-B, with Tasking and Shared Machines. We make use of refinement, decomposition, and the extension, to structure projects for code generation for multitasking implementations. During the modelling phase decomposition is performed; decomposition reduces modelling complexity and makes proof more tractable. The decomposed models are then extended with sufficient information to enable generation of code. A task body describes a task’s behaviour, mainly using imperative, programming-like constructs. Task priority and life-cycle (periodic, triggered, etc.) are also specified, but timing aspects are not modelled formally. We provide tool support in order to validate the practical aspects of the approach.
Text
PLACES2011.pdf
- Accepted Manuscript
More information
Accepted/In Press date: 9 February 2011
Additional Information:
Event Dates: 2nd April 2011
Venue - Dates:
PLACES 2011, Saarbrucken, Germany, 2011-04-02
Keywords:
Event-B, Code Generation, Tooling, Concurrency
Organisations:
Electronic & Software Systems
Identifiers
Local EPrints ID: 272006
URI: http://eprints.soton.ac.uk/id/eprint/272006
PURE UUID: 07be54e2-02bb-4c79-8019-c4e1e077c629
Catalogue record
Date deposited: 10 Feb 2011 16:18
Last modified: 15 Mar 2024 02:50
Export record
Contributors
Author:
Andrew Edmunds
Author:
Michael Butler
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