SMT Solvers Plug-in Developer Support
For user support, see SMT Solvers Plug-in
Installation from the sources
To start developping the sources of the SMT Solvers plug-in, you will need to:
- Install an Eclipse Platform (to be used as the IDE for the developpment of the SMT Solvers plug-in sources).
- Clone the Rodin sources and import them into Eclipse or set a Rodin Platform as a target platform.
- Clone the SMT plug-in sources and import them into Eclipse.
- Optionnally, install custom SMT solvers if you want to use some.
Installing the Eclipse Platform
If you don't have an Eclipse development platform for Java and Eclipse plug-ins installed, then :
- Download Eclipse Classic (SDK) or Eclipse for RCP and RAP Developers at http://www.eclipse.org/downloads/
- Install it .
Get a Rodin host plaform
There are two possibilities:
- OPTION 1: Develop with the latest sources of the platform (developpment branch).
- OPTION 2: Use a target platform.
Use a Rodin platform running from the Rodin sources
Rodin Core sources are available from a Git repository on Sourceforge.
To use these sources, invoke the following command locally : git clone http://git.code.sf.net/p/rodin-b-sharp/rodincore rodin-b-sharp-rodincore
Then, from Eclipse, check out all projects of this cloned repository (i.e. use File > Import... > Existing projects in workspace).
Use a Rodin target platfom
You can also use a predefined target platform to be used as an host for the SMT Solvers plug-in you will develop. To get more information about this, please read .
Downloading the SMT Plug-in Sources
SMT plug-in sources are availbable from a Git repository on Sourceforge.
To start your developpement of the SMT plug-in, invoke the following command locally : git clone http://git.code.sf.net/p/rodin-b-sharp/smt rodin-b-sharp-smt
Then, from Eclipse, check out all projects of this cloned repository (i.e. use File > Import... > Existing projects in workspace). The folling plug-ins are necessary to run the SMT Solvers plug-in: org.eventb.smt org.eventb.smt-feature org.eventb.smt.core org.eventb.smt.core.performance org.eventb.smt.core.tests org.eventb.smt.cvc3 org.eventb.smt.cvc3.linux org.eventb.smt.cvc3.macosx org.eventb.smt.cvc3.win32 org.eventb.smt.help org.eventb.smt.releng org.eventb.smt.ui org.eventb.smt.verit org.eventb.smt.verit.linux org.eventb.smt.verit.macosx org.eventb.smt.verit.win32
To run a Rodin platform, from the sources in the developpment workspace, you'll need to create an Eclipse launch configuration:
- Launch the Rodin platform as to set the default Run Configuration.
- Add the SMT plug-ins to this configuration.
- Set the SMT solvers you want to use within Rodin.
Launching the Rodin Platform
Once we have downloaded the Rodin sources, and built it within Eclipse, we can launch the Rodin platform.
Enter the org.rodinp.platform project and right-clic Rodin.product file then choose Run As... > Eclipse Application.
The Rodin platform is launched and ready.
Adding the SMT plug-ins to the Run Configuration
Close the Rodin Platform. Back in the Eclipse Platform, go to the Run Configuration: Run > Run Configurations....
Select the Rodin.product configuration, and go to the Plug-ins tab.
Check all the SMT Plug-ins except :
- org.eventb.smt.core.tests and
NB: You actually just need only one project containing the binaries of CVC3 and VeriT. Hence, you just need to select one project which corresponds to your platform from :
and one project from :
Now, you can launch the Rodin platform extended with the SMT plug-in.
SMT solvers settings
There exists an Eclipse Application for measuring the performance of SMT solvers. Its usage is described at SMT Plug-in Performance.