FAQ
General
What is Event-B
Event-B is a formal method for system-level modelling and analysis. Key features of Event-B are the use of set theory as a modelling notation, the use of refinement to represent systems at different abstraction levels and the use of mathematical proof to verify consistency between refinement levels. More details are available in http://www.event-b.org/
What is Rodin
The Rodin Platform is an Eclipse-based IDE for Event-B that provides effective support for refinement and mathematical proof. The platform is open source, contributes to the Eclipse framework and is further extendable with plugins.
Where does the Rodin name come from
General Tool Usage
How do I install external plug-ins without using Eclipse Update Manager
Although it is preferred to install additional plug-ins into the Rodin platform using the Update Manager of Eclipse, this might not always be practical. In this case, a manner to install these plug-ins is to emulate either manually or using ad-hoc scripts the operations normally performed by the Update Manager.
This manual installation of plug-ins is described in Installing external plug-ins manually.
The builder takes too long
Generally, the builder spends most of its time attempting to prove POs. There are basically two ways to get it out of the way:
- the first one is to disable the automated prover in the Preferences panel.
- the second one is to mark some PO as reviewed when you don't want the auto-prover to attempt them anymore.
Note that if you disable the automated prover, you always can run it later on some files by using the contextual menu in the Obligation Explorer.
TODO: explicit how to achieve actions described here before
Modeling and Proving
Witness for Xyz missing. Default witness generated
A parameter as disappeared during a refinement. If this is intentional, you have to add a witness telling how the abstract parameter is refined.
I've added a witness for Xyz but it keeps saying "Identifier Xyz has not been defined"
As specified in the modelling language manual, the witness must be labelled by the name
of the concrete variable being concerned.
How can I do a Proof by Induction?
Induction proof will give you some tips about it.
Developer FAQ
Using Rodin-CVS from eclipse consumes too much memory
You can generate a product and use it as if it was a normal release.
How do I generate a Rodin product from CVS
In the project org.rodinp.platform, right-click on Rodin.platform and select
. Choose and click on type Rodin for the Root directory, and choose the Destination directory. Then click on .How do I collect debug informations from the Rodin plateform
You may see the log in the console by appending -consoleLog to the rodin executable: rodin -consoleLog
You may add specific debug informations by setting specific options: rodin --debug options.file -consoleLog
where
contains something like:
org.pluginname/debug = true org.pluginname/debug/optionaldebug = true
where optionaldebug may be found in the
file in the rodin source repository.