19 research outputs found
Decomposition tool for Event-B
Two methods have been identified for Event-B model decomposition: shared variable and shared event. The purpose of this paper is to introduce the two approaches and the respective tool support in the Rodin platform. Besides alleviating the complexity for large systems and respective proofs, decomposition allows team development in parallel over the same model which is very attractive in the industrial environment
Decomposition Tool for Event-B
Two methods have been identified for Event-B model decomposition: shared variable and shared event. The purpose of this paper is to introduce the two approaches and the respective tool support in the Rodin platform. Besides alleviating the complexity for large systems and respective proofs, decomposition allows team development in parallel over the same model which is very attractive in the industrial environment
From Event-B models to code: sensing, actuating, and the environment
The Event-B method is a formal approach for modelling systems in safety-, and business-critical, domains. We focus, in this paper, on multi-tasking, embedded control systems. Initially, system specification takes place at a high level of abstraction; detail is added in refinement steps as the development proceeds toward implementation. In previous work, we presented an approach for generating code, for concurrent programs, from Event-B. Translators generate program code for tasks that access data in a safe way, using shared objects. We did not distinguish between tasks of the environment and those of the controller. The work described in this paper offers improved modelling and code generation support, where we separate the environment from the controller. The events in the system can participate in actuating or sensing roles. In the resulting code, sensing and actuation can be simulated using a form of subroutine call; or additional information can be provided to allow a task to read/write directly from/to a specfied memory location
Building on the DEPLOY Legacy: Code Generation and Simulation
The RODIN, and DEPLOY projects laid solid foundations for further
theoretical, and practical (methodological and tooling) advances with Event-B.
Our current interest is the co-simulation of cyber-physical systems using
Event-B. Using this approach we aim to simulate various features of the
environment separately, in order to exercise deployable code. This paper has
two contributions, the first is the extension of the code generation work of
DEPLOY, where we add the ability to generate code from Event-B state-machine
diagrams. The second describes how we may use code, generated from
state-machines, to simulate the environment, and simulate concurrently
executing state-machines, in a single task. We show how we can instrument the
code to guide the simulation, by controlling the relative rate that
non-deterministic transitions are traversed in the simulation.Comment: In Proceedings of DS-Event-B 2012: Workshop on the experience of and
advances in developing dependable systems in Event-B, in conjunction with
ICFEM 2012 - Kyoto, Japan, November 13, 201
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
Applying Atomicity and Model Decomposition to a Space Craft System in Event-B
Event-B is a formal method for modeling and verifying consistency of systems. In formal methods such as Event-B, refinement is the process of enriching or modifying an abstract model in a step-wise manner in order to manage the development of complex and large systems. To further alleviate the complexity of developing large systems, Event-B refinement can be augmented with two techniques, namely atomicity decomposition and model decomposition. Our main objective in this paper is to investigate and evaluate the application of these techniques when used in a refinement based development. These techniques have been applied to the formal development of a space craft system. The outcomes of this experimental work are presented as assessment results. The experience and assessment can form the basis for some guidelines in applying these techniques in future cases
Application of Decomposition and Generic Instantiation
It is believed that reusability in formal development should reduce the time and cost of formal modelling within a production environment. Event-B is a formal method that allows modelling and refinement of systems. Generic instantiation and decomposition are techniques that simplify formal developments by reusing existing models and avoiding re-proofs. We apply these techniques in Event-B for the development of a metro system case study based on safety properties. This work aims to be give some guidelines of a practical way to develop large systems by instantiation of generic models and (shared event) decompose components into smaller sub-components
A Survey on Event-B Decomposition
Model decomposition is a powerful tool to scale the design of large and complex systems. It enables developers to separate components development from the concerns of their integration and orchestration. Event-B is a refinementbased formal method, equipped with three decomposition styles that come with solid semantic foundations and strong tool support. This paper intends to give some useful insights and modelling guidelines for using these decomposition styles, illustrated by an actual development of a master data updating system