Installation procedures for users
- BEval requires: AtelierB
- BEval is compatible with OS X and Linux; it has this license.
Follow these steps:
- Find where AtelierB is installed on your system. Let $ABDIR denote this location (usually /Application/AtelierB.app/ on OS X; /opt/AtelierB on Linux).
- Find where probcli (ProB Command Line Interface) is installed on your system. Let $PROBDIR denote this location.
- Let $EXTDIR denote the final path ($ABDIR/AB/extensions).
- Download file BEval.jar and install it in $EXTDIR.
- Open a terminal, and issue the following command:
cd $EXTDIR; java -jar BEval.jar --installwhere $EXTDIR is as defined above.
- Paste the value of
$PROBDIR/probcliand press enter.
How BEval works
BEval is a tool that offers to the user the possibility to use ProB within AtelierB to evaluate proof obligations. BEval may be used in the interactive prover (we plan to integrate it to the components window in the future). When the proof obligation is ''true'', a rule is added to the pmm file corresponding to the B component under verification. The user may then use the new rule to discharge the proof obligation within AtelierB. So, even when ProB finds that a goal is true, the proof obligation is not automatically discharged in AtelierB. A video demonstration about the GUI component BEval is available. The actions that the user must take are described below.
Using BEval in the interactive prover
In the interactive prover window:
Use the shortcut (
CRTL+D) to call BEval on the current proof obligation.
- Parameters: located on the top-left of the window, it is an editable text where the user has access to the options used to call ProB.
- Main options: located on the top-middle of the window, three basic options are checkable: Kodkod indicates that ProB may use the tool of the same name; Smt indicates that ProB to do more aggressive constraint solving; Load definitions indicates that definitions from the B component shall be loaded.
- Hypothesis: located on the top-right of the window, it presents hypothesis that the user may want to add to the goal. Addition of such hypothesis shall be performed with copy-and-paste operations.
- Goal to evaluate: is an editable text that contains the expression that will be sent to ProB.
- Add rule: If that option is checked, whenever the goal evaluates to ''true'', a rule is generated.
- W.D.P.O.: If that option is checked, then, whenever the goal evaluates to ''true'', the generated rule will be
added to the
wd_pmmfile, otherwise it is added to the
- Eval: This button provokes the call to ProB on the current goal with the given list of parameters.
If the goal has been evaluated to ''true'' and a rule has been created, the user may use this rule to discharge the proof obligation in AtelierB. In the interactive prover, the command
pcloads and compiles the manual rules.
Select the created rule in the theory list and click
- Parameters are explained here.
Using BEval in the component window
Use the shortcut (
CRTL+D) to call BEval on the current component.
Submit the selected elements clicking in the button
Eval. By default, only the unproved proof obligations are selected to be submitted.
Apply the rules created in
pmmfile using the shortcut (
CRTL+U) to call the USER_PASS.
Procedures for developers
- Requires: Java
1.7, Eclipse Classic 4.2.2 and some plugins (Git, WindowBuilder and Maven)
- BEval is compatible with OS X and Linux.
Steps to use the IDE Eclipse:
Install New Software.
- In field
All Avalable Site.
- Type below the name of component software to search.
- Follow the remaining installation procedures and repeat these steps for each plugin (Git and Maven WindowBuilder) with the following software components:
- Eclipse EGit 2.2; Eclipse EGit Eclipse SDK 4.2; EGit Import Plug-in Support 2.2;
- m2e - Maven Integration for Eclipse 1.3.
- WindowBuilder Core 1.5; WindowBuilder Core Documentation 1.5; Core WindowBuilder 1.5 UI; WindowBuilder GroupLayout Support 1.5.
- Configure the repository git in Eclipse:
Git Repository Exploring.
Clone a Git Repositorythen in field URI paste
https://github.com/ValerioMedeiros/BEval.gitusing HTTPS or
Follow the remaining procedures to clone a local git repository.
Or alternativally, use this command in terminal:
git clone email@example.com:ValerioMedeiros/BEval.gitand add an existing local Git repository.
- Import the project as an existing maven project.
Existing Maven Project.
Nextand in the field
Root Directorypaste your git repository path, for example
- Follow the remaining procedures to create the maven project.
Steps to run in Eclipse and create the executable file
In Eclipse, run BEval by opening directory
Main.javaand right-click and select
Java Applicationin the menu.
Select the BEval project, click
Runnable JAR fileand click
Nextfollowing the remaining procedures to create a runnable jar file.
Now enjoy it!