No edit summary |
|||
Line 8: | Line 8: | ||
ProB Tcl/Tk can be installed as a plugin for Atelier B, so that ProB can be launched directly from within [http://www.atelierb.eu/ Atelier B] projects. | ProB Tcl/Tk can be installed as a plugin for Atelier B, so that ProB can be launched directly from within [http://www.atelierb.eu/ Atelier B] projects. | ||
With this you can animate and model check B machines directly from within the IDE of Atelier-B. | With this you can animate and model check B machines directly from within the IDE of Atelier-B. | ||
The easiest is to perform the menu command "Install AtelierB 4 Plugin..." in the Help menu of ProB Tcl/Tk. This will create a file called <tt>probtclk.etool</tt> in an extensions folder next to Atelier B's bbin folder. The extensions folder is created if necessary. | |||
Note: as the layout of Atelier-B's directories has changed, you need to use ProB 1.12.0 or newer for Atelier-B 4.7.1 or newer on macOS. | |||
You can also create the the above file yourself. | |||
Here is a typical <tt>probtclk.etool</tt> file: | |||
<pre> | |||
<externalTool category="component" name="ProBTclTk" label="&Animate with ProB (Tcl/Tk)"> | |||
<toolParameter name="editor" type="tool" configure="yes" | |||
default="PathToProB/StartProB.sh" /> | |||
<command>${editor}</command> | |||
<param>${componentPath}</param> | |||
</externalTool> | |||
</pre> | |||
== ProB as Atelier B Prover== | |||
Atelier B also enables to use ProB as a prover/disprover in the interactive proof window. | Atelier B also enables to use ProB as a prover/disprover in the interactive proof window. | ||
For this you need to set the ProB_Path resource to point to probcli (command-line version of ProB). To do this you need to add the following line to the resource file of your project (replacing PATH by the the path on your machine to probcli): | For this you need to set the ProB_Path resource to point to probcli (command-line version of ProB). To do this you need to add the following line to the resource file of your project (replacing PATH by the the path on your machine to probcli): | ||
Line 41: | Line 56: | ||
</pre> | </pre> | ||
== Differences with Atelier B == | == Differences with Atelier B == |
As of version 1.3, ProB contains a much improved parser which tries be compliant with
Atelier B as much as possible.
ProB Tcl/Tk can be installed as a plugin for Atelier B, so that ProB can be launched directly from within Atelier B projects. With this you can animate and model check B machines directly from within the IDE of Atelier-B.
The easiest is to perform the menu command "Install AtelierB 4 Plugin..." in the Help menu of ProB Tcl/Tk. This will create a file called probtclk.etool in an extensions folder next to Atelier B's bbin folder. The extensions folder is created if necessary.
Note: as the layout of Atelier-B's directories has changed, you need to use ProB 1.12.0 or newer for Atelier-B 4.7.1 or newer on macOS. You can also create the the above file yourself.
Here is a typical probtclk.etool file:
<externalTool category="component" name="ProBTclTk" label="&Animate with ProB (Tcl/Tk)"> <toolParameter name="editor" type="tool" configure="yes" default="PathToProB/StartProB.sh" /> <command>${editor}</command> <param>${componentPath}</param> </externalTool>
Atelier B also enables to use ProB as a prover/disprover in the interactive proof window. For this you need to set the ProB_Path resource to point to probcli (command-line version of ProB). To do this you need to add the following line to the resource file of your project (replacing PATH by the the path on your machine to probcli):
ATB*PR*ProB_Path:PATH/probcli
Then you can type, e.g., the command prob(1)in the interactive proof window.
Two commands are provided within Atelier-B:
Atelier-B will call probcli using the commands -cbc_assertions_tautology_proof and -cbc_result_file after having encoded the proof obligation into the ASSERTIONS clause of a generated B machine.
The generated machine typically has the form:
MACHINE probNr SETS ... CONSTANTS ... PROPERTIES << ALL HYPOTHESES >> ASSERTIONS ( <<SELECTED HYPOTHESES >> => << PROOF GOAL >> ) END