Difference between revisions of "SMT Solvers Plug-in"

From Event-B
Jump to navigationJump to search
imported>Fages
imported>YGU
Line 1: Line 1:
== Introduction ==
+
==Introduction==
The SMT plug-in allows to use SMT solvers within Rodin.
+
The SMT plug-in allows users to use SMT solvers within Rodin. It is still in developpment (See sources [https://rodin-b-sharp.svn.sourceforge.net/svnroot/rodin-b-sharp/trunk/_exploratory/fages/]).
 +
 
 +
 
 +
==Installation==
 +
You'll need to:
 +
* Install the Eclipse Platform.
 +
* Install the Subclipse plugin to use SVN in Eclipse.
 +
* Download Rodin sources into Eclipse.
 +
* Download SMT plug-in sources into Eclipse.
 +
* Install the SMT solvers you want to use.
 +
 
 +
 
 +
=== Install the Eclipse Platform ===
 +
Download Eclipse Classic (SDK) (169 MB) at http://www.eclipse.org/downloads/ . Install it [http://wiki.eclipse.org/FAQ_Where_do_I_get_and_install_Eclipse%3F].
 +
 
 +
 
 +
=== Install the Subclipse plugin ===
 +
Launch Eclipse and go to the 'Help' Menu -> 'Install New Software...' entry.
 +
 
 +
Click the 'Add' button and type:
 +
 
 +
http://subclipse.tigris.org/update_1.6.x
 +
 
 +
Name it (ex: SUBCLIPSE 1.6).
 +
 
 +
 
 +
Then select the same items as in the following image:
 +
 
 +
[[Image:Subclipse_selection.png]]
 +
 
 +
 
 +
Under Linux, in order to use JNI, you'll need to install the following packages:
 +
    * libsvn-java
 +
    * subversion
 +
    * libsvn1
 +
and to link the installation directory in eclipse.ini, by adding:
 +
 
 +
''-Djava.library.path=/usr/lib/jni''
 +
 
 +
then restart Eclipse and select ''JavaHL'' in 'Window->Preferences->Team->SVN'.
 +
 
 +
 
 +
=== Download Rodin Sources ===
 +
Open the ''SVN Repository Exploring Perspective''.
 +
 
 +
Right-clic in the ''SVN Repositories'' view, then 'New > Repository Location'. Enter the following URL : https://rodin-b-sharp.svn.sourceforge.net/svnroot/rodin-b-sharp
 +
 
 +
Select all projects in 'trunk -> RodinCore' then right-clic and 'Checkout...'.
 +
 
 +
[[Image:Exemple.jpg]]
 +
 
 +
'Check out into the workspace as projects' must be selected. Then click 'Finish'.
 +
 
 +
The downloading might be long (might take around 15min), do not interrupt.
 +
 
 +
 
 +
=== Download SMT Plug-in Sources ===
 +
Do the same as to dowload Rodin sources, with projects in 'trunk -> exploratory -> fages':
 +
* fr.systerel.smt.provers.core
 +
* fr.systerel.smt.provers.help
 +
* fr.systerel.smt.provers.tests
 +
* fr.systerel.smt.provers.ui
 +
 
  
For the moment, it can handle some basic arithmetic proof obligations but still needs to be improved to be much more efficient.
 
  
 
== Usage  ==
 
== Usage  ==

Revision as of 11:20, 6 December 2010

Introduction

The SMT plug-in allows users to use SMT solvers within Rodin. It is still in developpment (See sources [1]).


Installation

You'll need to:

  • Install the Eclipse Platform.
  • Install the Subclipse plugin to use SVN in Eclipse.
  • Download Rodin sources into Eclipse.
  • Download SMT plug-in sources into Eclipse.
  • Install the SMT solvers you want to use.


Install the Eclipse Platform

Download Eclipse Classic (SDK) (169 MB) at http://www.eclipse.org/downloads/ . Install it [2].


Install the Subclipse plugin

Launch Eclipse and go to the 'Help' Menu -> 'Install New Software...' entry.

Click the 'Add' button and type:

http://subclipse.tigris.org/update_1.6.x

Name it (ex: SUBCLIPSE 1.6).


Then select the same items as in the following image:

Subclipse selection.png


Under Linux, in order to use JNI, you'll need to install the following packages:

   * libsvn-java
   * subversion
   * libsvn1

and to link the installation directory in eclipse.ini, by adding:

-Djava.library.path=/usr/lib/jni

then restart Eclipse and select JavaHL in 'Window->Preferences->Team->SVN'.


Download Rodin Sources

Open the SVN Repository Exploring Perspective.

Right-clic in the SVN Repositories view, then 'New > Repository Location'. Enter the following URL : https://rodin-b-sharp.svn.sourceforge.net/svnroot/rodin-b-sharp

Select all projects in 'trunk -> RodinCore' then right-clic and 'Checkout...'.

File:Exemple.jpg

'Check out into the workspace as projects' must be selected. Then click 'Finish'.

The downloading might be long (might take around 15min), do not interrupt.


Download SMT Plug-in Sources

Do the same as to dowload Rodin sources, with projects in 'trunk -> exploratory -> fages':

  • fr.systerel.smt.provers.core
  • fr.systerel.smt.provers.help
  • fr.systerel.smt.provers.tests
  • fr.systerel.smt.provers.ui


Usage

To use the plugin, the user must set up SMT preferences by reaching the Windows/Preferences Menu of Rodin

Preferences.PNG

Preferences2.PNG

The user must provide info on solvers just like if a preprocessing is used or not. Pushing the Create button leads to the following window:

Preferences3.PNG

Solver preference creation

The user must provide following info:

- An Id,
- A path,
- Arguments used to call the solver,
- On which SMT-LIB version the solver will be used.   

Solver selection

The user must then select the solver that will be used:

Preferences4.PNG

Solver launching

To launch the SMT solver on the selected Proof Obligation, the user must press the SMT button:

Smt.PNG

Solver result

If the SMT solver suceeds, the status will be updated in the proof tree:

Smt2.PNG