Difference between pages "Event-B Examples" and "Event-B Language"

From Event-B
(Difference between pages)
Jump to navigationJump to search
imported>WikiSysop
 
imported>Tsukada yoshio
 
Line 1: Line 1:
{{TOCright}}
+
== Book: Modeling in Event-B: System and Software Engineering by Jean-Raymond Abrial ==
This page is for listing available example Event-B/Rodin projects.
+
More information about the book is at Cambridge University Press [http://www.cambridge.org/uk/catalogue/catalogue.asp?isbn=9780521895569 website].
  
== Year 2011 ==
+
The Event-B introduced in Abrial's book in some ways differs from the Event-B implemented by Rodin.
 +
Some of those differences are listed [[How Rodin Deviates from Abrial's Book|here]].
  
===[http://deploy-eprints.ecs.soton.ac.uk/316/ Vehicle On-Board Controller for Trains]===
+
=== Sample Chapters of the Book ===
By Wen Su , Jean-Raymond Abrial, Runlei Huang and Huibiao Zhu
+
These are available at [http://www.event-b.org/abook.html event-b.org].
 +
=== Slides and Rodin Platform archives of the developments corresponding to chapters of the books ===
 +
* Chapter 1: [http://deploy-eprints.ecs.soton.ac.uk/111/ Introduction]
 +
* Chapter 2: [http://deploy-eprints.ecs.soton.ac.uk/112/ Controlling Cars on a Bridge]
 +
* Chapter 3: [http://deploy-eprints.ecs.soton.ac.uk/113/ A Mechanical Press Controller]
 +
* Chapter 4: [http://deploy-eprints.ecs.soton.ac.uk/114/ File Transfer Protocol]
 +
* Chapter 6: [http://deploy-eprints.ecs.soton.ac.uk/115/ The Bounded Re-transmission Protocol]
 +
* Chapter 7: [http://deploy-eprints.ecs.soton.ac.uk/116/ Concurrent Program Development]
 +
* Chapter 8: [http://deploy-eprints.ecs.soton.ac.uk/117/ Electronic Circuits Development]
 +
* Chapter 10: [http://deploy-eprints.ecs.soton.ac.uk/118/ Leader Election on a Ring-shaped Network]
 +
* Chapter 11: [http://deploy-eprints.ecs.soton.ac.uk/119/ Synchronizing Processes on a Tree Network]
 +
* Chapter 12: [http://deploy-eprints.ecs.soton.ac.uk/120/ Routing Algorithm for Mobile Agent]
 +
* Chapter 13: [http://deploy-eprints.ecs.soton.ac.uk/121/ The Leader Election Protocol (IEEE1394)]
 +
* Chapter 15: [http://deploy-eprints.ecs.soton.ac.uk/122/ Sequential Program Development]
 +
* Chapter 16: [http://deploy-eprints.ecs.soton.ac.uk/123/ Location Access Controller]
 +
* Chapter 17: [http://deploy-eprints.ecs.soton.ac.uk/124/ Train System]
  
This material describes an Event-B development of a Vehicle On-Board Controller for trains.
+
=== Japanese Language ===
The purpose of the system under study is to detect the driving mode wished by the train
 
driver (he has some buttons at his disposal to do that) and decide accordingly whether
 
this mode is feasible so that the current mode of the train could be (or not be) that
 
wished by the driver. A paper describing the modelling methodology and a Rodin archive
 
are available here:
 
http://deploy-eprints.ecs.soton.ac.uk/316/
 
  
=== [[Development of a Heating Controller System]]===
+
[http://www.jfp.co.jp/slp/eventb.htm Japanese translation of Chapter 1-2 of ''Modeling in Event-B''] by JFP, Inc.
By Abdolbaghi Rezazadeh.
 
  
This material describes an Event-B development of a simple heating controller. This is a first case study that covers the entire development process; starting from a system specification and ending up in an implementation in the Ada programing language. The overall aim of this case study is to put in practice the recommended methodological aspects of Event-B, particularly those aspects of modelling concerned with decomposition and code generation. We begin the tutorial with an overview of the [http://wiki.event-b.org/index.php/Development_of_a_Heating_Controller_System abstract development] that forms the basis for subsequent Tasking Event-B modelling. In the [http://wiki.event-b.org/index.php?title=Tasking_Event-B_Tutorial Tasking Event-B tutorial] the developer is guided, step-by-step, through the final construction stages of a partially completed model. The tutorial provides an introduction to some of the main constructs used when modelling with Tasking Event-B.
+
== Event-B Language Documentation ==
  
== Year 2010 ==
+
=== [[Event-B Modelling Language]]===
  
===[http://deploy-eprints.ecs.soton.ac.uk/227/ Modularisation Training]===
+
=== [[Event-B Mathematical Language]] ===
By Alexei Iliasov.
 
  
This is teaching material for those wishing to learn about the Modularisation plugin. It includes a development and detailed explanatory slides.  
+
=== Draft book by Ken Robinson: [http://wiki.event-b.org/index.php/Image:SM%26D-KAR.pdf System Modelling & Design Using Event-B.] ===
  
 +
=== [http://wiki.event-b.org/images/EventB-Summary.pdf Concise Summary of the Event B mathematical toolkit] by Ken Robinson ===
  
== Year 2009 ==
+
=== [http://handbook.event-b.org/current/html/well_definedness.html Well-definedness in Event-B] ===
  
===[http://deploy-eprints.ecs.soton.ac.uk/150/ Code Generation - Shared Buffer Example]===
+
==Modelling Tips==
By Andrew Edmunds and Michael Butler
 
  
The document describes an example Event-B development of a shared buffer and reading/writing processes. An implementation is then specified using the OCB notation; and a description of the implementation refinement and Java source is shown. An archive file contains the abstract Event-B development, however the implementation refinement proof is ongoing.
+
[[Structured_Types]]
  
=== [http://deploy-eprints.ecs.soton.ac.uk/138/ Well-ordering theorem]===
+
[[Proof Hints]]
By Jean-Raymond Abrial.
 
  
The slides outline the use of Rodin in the proof of Well-ordering theorem.  The archive contains the
+
[[Category:User documentation]]
Rodin development.
+
[[Category:Event-B]]
  
 +
== Proving Tips ==
  
=== [[Development of a flash-based filestore]]===
+
== Miscellaneous ==
By Kriangsak Damchom and Michael Butler.
+
* Jean-Raymond Abrial, "Faultless Systems: Yes We Can!," Computer, vol. 42, no. 9, pp. 30-36, Sept. 2009, [http://doi.ieeecomputersociety.org/10.1109/MC.2009.283 doi:10.1109/MC.2009.283].
 
 
The paper outlines the use of Event-B in the development of a flash-based filestore.  The archive contains the
 
Event-B development.
 
 
 
=== [http://deploy-eprints.ecs.soton.ac.uk/107/ Real-time controller for a water tank]===
 
By Michael Butler.
 
 
 
The draft paper outlines an approach to treating continuous behaviour in Event-B by a discrete approximation.
 
An example of a water tank system is used to illustrate the proposed approach.  The archive contains the
 
Event-B development for the water tank system.
 
 
 
=== [http://deploy-eprints.ecs.soton.ac.uk/95/ UML-B Development of an ATM]===
 
By Mar Yah Said,  Michael Butler and Colin Snook.
 
 
 
This paper outlines support for refinement of classes and statemachines in UML-B and issustrates these
 
with an Automated Teller Machine (ATM) example.  The ATM development is contained in a Rodin
 
archive.  It consists of an abstract model focusing on bank account updates.  The ATM, pin cards and
 
messaging between ATMs and a bank server are introduced in successive refinements.
 
 
 
=== [http://deploy-eprints.ecs.soton.ac.uk/84/ MIDAS: A Formally Constructed Virtual Machine]===
 
By [[User:Steve|Steve]].
 
 
 
MIDAS (Microprocessor Instruction and Data Abstraction System) is a specification of an Instruction Set Architecture (ISA). It is refined to a usable Virtual Machine (VM) capable of executing binary images compiled from the C language. It was developed to demonstrate a methodology for formal construction of various ISAs in Event-B via a generic model. There are two variants: a stack-based machine and a randomly accessible register array machine. The two variants employ the same instruction codes, the differences being limited to register file behavior.
 
 
 
The archive supplied at [http://deploy-eprints.ecs.soton.ac.uk/84/ Deploy repository] contains: C-coded prototypes of the MIDAS VMs, an Event-B model refinement constructing the same VMs, the B2C Event-B to C auto-generation tool, C compiler/assembler/linkers for the VMs, an example C test suite, and execution environments for running compiled C on the machines.
 
 
 
MIDAS is described in detail in [http://deploy-eprints.ecs.soton.ac.uk/163/ Formal Construction of Instruction Set Architectures (PhD Thesis)].
 
 
 
=== [http://deploy-eprints.ecs.soton.ac.uk/82/ Development of a Network Topology Discovery Algorithm]===  
 
By ''Hoang, Thai Son and Basin, David and Kuruma, Hironobu and Abrial, Jean-Raymond''.
 
 
 
This paper and this Rodin development is another version of the [[#Link State Routing Development|Link State Routing Development]] presented in 2008.
 
 
 
== Year 2008 ==
 
=== [http://deploy-eprints.ecs.soton.ac.uk/31/ Link State Routing Development]===
 
By ''Hoang, Thai Son and Basin, David and Kuruma, Hironobu and Abrial, Jean-Raymond''.
 
 
 
We present a formal development in Event-B of a distributed topology discovery algorithm. Distributed topology discovery is at the core several routing algorithms and is the problem of each node in a network discovering and maintaining information on the network topology. One of the key challenges in developing this algorithm is specifying the problem itself.We provide a specification that includes both safety properties, formalizing invariants that should hold in all system states, and liveness properties that characterize when the system reaches stable states. We specify these by appropriately combining invariants, event refinement, and proofs of event convergence and deadlock freedom. The combination of these features is novel and should be useful for formalizing and developing other kinds of semi-reactive systems, which are systems that react to, but do not modify, their environment.
 
 
 
=== [http://deploy-eprints.ecs.soton.ac.uk/22/ Modelling and proof of a Tree-structured File System] ===
 
By ''Damchoom, Kriangsak and Butler, Michael and Abrial, Jean-Raymond''.
 
 
 
We present a verified model of a tree-structured file system which was carried out using Event-B and the Rodin platform. The model is focused on basic functionalities affecting the tree structure including create, copy, delete and move. This work is aimed at constructing a clear and accurate model with all proof obligations discharged. While constructing the model of a file system, we begin with an abstract model of a file system and subsequently refine it by adding more details through refinement steps.  We have found that careful formulation of invariants and useful theorems that can be reused for discharging similar proof obligations make models simpler and easier to prove.
 
 
 
=== [http://deploy-eprints.ecs.soton.ac.uk/56/ Deliverable D8 D10.1 "Teaching Materials"] ===
 
By ''Abrial, Jean-Raymond and Hoang, Thai Son and Schmalz, Matthias''.
 
 
 
==Year 2007==
 
=== [http://deploy-eprints.ecs.soton.ac.uk/9/ Redevelopment of an Industrial Case Study Using Event-B and Rodin]===
 
From ''Rezazadeh, Abdolbaghi and Butler, Michael and Evans, Neil''.
 
 
 
CDIS is a commercial air traffic information system that was developed using formal methods 15 years ago by Praxis, and it is still in operation today. This system is an example of an industrial scale system that has been developed using formal methods. In particular, the functional requirements of the system were specified using VVSL -- a variant of VDM. A subset of the original specification has been chosen to be reconstructed on the Rodin platform based on the new Event-B formalism. The goal of our reconstruction was to overcome three key difficulties of the original formalisation, namely the difficulty of comprehending the original specification, the lack of any mechanical proof of the consistency of the specification and the difficulty of dealing with distribution and atomicity refinement. In this paper we elucidate how a new formal notation and tool can help to overcome these difficulties.
 
 
 
[[Category:Examples]]
 

Revision as of 00:23, 14 December 2011

Book: Modeling in Event-B: System and Software Engineering by Jean-Raymond Abrial

More information about the book is at Cambridge University Press website.

The Event-B introduced in Abrial's book in some ways differs from the Event-B implemented by Rodin. Some of those differences are listed here.

Sample Chapters of the Book

These are available at event-b.org.

Slides and Rodin Platform archives of the developments corresponding to chapters of the books

Japanese Language

Japanese translation of Chapter 1-2 of Modeling in Event-B by JFP, Inc.

Event-B Language Documentation

Event-B Modelling Language

Event-B Mathematical Language

Draft book by Ken Robinson: System Modelling & Design Using Event-B.

Concise Summary of the Event B mathematical toolkit by Ken Robinson

Well-definedness in Event-B

Modelling Tips

Structured_Types

Proof Hints

Proving Tips

Miscellaneous

  • Jean-Raymond Abrial, "Faultless Systems: Yes We Can!," Computer, vol. 42, no. 9, pp. 30-36, Sept. 2009, doi:10.1109/MC.2009.283.