Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Event-B Awesome

A curated list of resources for the Event-B formal method and the Rodin platform.

Event-B is a formal method for system-level modelling and analysis. It uses set theory as a notation, refinement to relate models at different levels of abstraction, and mathematical proof to verify their consistency. Models are built and proofs discharged in the open, Eclipse-based Rodin platform. The method was created by Jean-Raymond Abrial and is widely applied to safety-critical systems such as railway signalling.

Contents

Official Resources

Tools

Platform

  • Rodin - Eclipse-based IDE for modelling, refinement, and proof in Event-B.
  • RodinCore - Source repository for the Rodin platform core.
  • Rodin Plug-ins - Index of available plugins with descriptions and install sites.

Command-Line and Tooling

  • Rossi - Rust toolchain for Event-B with a parser, type checker, CLI, and language server that round-trips with Rodin.
  • rodin-headless - Headless toolchain to build, model-check, and prove Rodin Event-B models from the command line or Docker.
  • eventb-animate - Command-line tool to animate Event-B models with ProB without Rodin.
  • eventb-checker - Command-line validator for Event-B models, also available as a GitHub Action.
  • eventb-to-txt - Converts Event-B machines and contexts to CamilleX plain-text models.
  • tree-sitter-eventb - Tree-sitter grammar for the Event-B textual syntax, generated from Rossi.

Editors

Provers and Verification

Animation and Visualization

  • ProB - Animator and model checker for Event-B, B, Z, TLA+, and CSP.
  • ProB2-UI - Modern JavaFX interface for the ProB animator and model checker.
  • VisB - Adds lightweight SVG-based visualizations to formal models.
  • SimB - Timed, probabilistic simulation of Event-B models.
  • AnimB - Animator for stepping through Event-B models inside Rodin.
  • BMotionWeb - Builds domain-specific, web-based visualizations of formal models.

Modelling Extensions

Code Generation

Requirements and Documentation

  • ProR - Links natural-language requirements to Event-B models.
  • B2Latex - Typesets Event-B models as LaTeX for documents.

Books

Cheat Sheets and Reference

Tutorials

Models and Examples

  • Event-B Examples - Community index of downloadable Event-B developments, from teaching to industrial.
  • Industrial Projects - Wiki overview of industrial projects and companies that have applied Event-B.
  • DEPLOY Examples Archive - Archived repository of 60+ Event-B case studies from the EU DEPLOY project.
  • ARINC 653 - Event-B formalization of the ARINC 653 avionics OS standard that uncovered six specification issues (ISSRE 2015).
  • Landing Gear System - Aircraft landing gear, the benchmark case study of ABZ 2014, with several Event-B solutions.
  • Hybrid ERTMS/ETCS Level 3 - European railway moving-block signalling, the benchmark case study of ABZ 2018.
  • Adaptive Exterior Light and Speed Control - Automotive light and speed controller with a pitman-arm lever, the ABZ 2020 case study with Rodin models.
  • HIMACF Access Control Model - Event-B specification of the role-based access control and information-flow model (formerly MROSL DP-model) used in Astra Linux.
  • Mondex Electronic Purse - Incremental Event-B refinement of the Mondex smartcard electronic purse, a classic verification benchmark.
  • CDIS Air-Traffic Information System - Event-B redevelopment of a commercial air-traffic control information system first specified in VDM.
  • Reconfigurable On-Board Satellite System - Formal development and dependability assessment of a reconfigurable satellite system from the DEPLOY space pilot.
  • Cruise Control System - Event-B modelling of an automotive cruise-control system used to evaluate a modelling guideline.
  • Mechanical Press Controller - Refinement-based Event-B development of an industrial mechanical-press controller.

Papers

Foundations and Methodology

Tools and Verification

Applications and Case Studies

Standards

  • CENELEC EN 50128:2011+A2:2020 - European railway-software standard whose informative Annex D.28.9 describes Event B as the system-modelling branch of the B method. The current successor, EN 50716:2023, retains the B method.
  • IEC 62279:2015 - International counterpart to EN 50128; informative Annex D.28.9 contains the same explicit description of Event B.
  • GOST R IEC 62279-2016 - Active, identical Russian adoption of IEC 62279:2015 for railway software. Its Annex D.28.10 explicitly describes Event-B as “Событие B”.
  • GB/T 28808-2021 - Current Chinese railway-software standard and modified adoption of IEC 62279:2015. Its informative Annex B corresponds to IEC Annex D, including the Event B description.
  • NITE Railway Accreditation Scope - Japanese accreditation scope that includes IEC 62279:2015; an IPA case-study report separately documents Event-B and Rodin use in Japan.
  • GOST R 59453.1-2021 - Russian national standard on the formal access-control model, general provisions.
  • GOST R 59453.2-2021 - Companion standard that recommends Event-B among formalization methods and Rodin as an example tool, with worked Event-B verification examples.

Conferences

  • ABZ - Conference for state-based methods including ASM, Alloy, B, TLA, VDM, Z, and Event-B.
  • Formal Methods Europe - Organisation behind the FM and integrated formal-methods conferences.

Community

  • Mailing Lists - Announce, user, and developer lists for Rodin and Event-B.
  • Rodin User List Archive - Searchable archive of the Rodin user mailing list.
  • HHU STUPS - Research group developing ProB and related Event-B tooling.

Industrial Use

  • Systerel - Company leading Rodin platform development and formal verification services.
  • ClearSy - Engineering firm applying B and Event-B to railway safety systems.
  • openETCS Model Evaluation - Event-B models from the openETCS railway standardisation initiative.
  • AstraVer Toolset - ISP RAS toolset that verifies Astra Linux security modules, pairing C deductive verification with Event-B security-policy models in Rodin.

Related

  • Awesome TLA+ - Curated list for the TLA+ formal specification language.
  • Atelier B - Industrial toolset for the classical B method, Event-B's predecessor.
  • TLA+ - Leslie Lamport's language for specifying concurrent and distributed systems.
  • Alloy - Lightweight relational modelling language and analyzer.
  • Overture (VDM) - Tool support for the Vienna Development Method.
  • Z notation - Specification language based on set theory and predicate logic.

Contributing

Contributions are welcome. Please read the contribution guidelines first.

About

A curated list of awesome resources for the Event-B formal method.

Topics

Resources

Code of conduct

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors