Getting Involved: Difference between revisions

Line 49: Line 49:
== The Prolog Sources ==
== The Prolog Sources ==
If you want to contribute to the Prolog part of ProB, if you want to extend the ProB API, or need them as reference, you need the Prolog sources which can be downloaded from [http://nightly.cobra.cs.uni-duesseldorf.de/source/ http://nightly.cobra.cs.uni-duesseldorf.de/source/] . To compile the sources you need a [http://www.sics.se/isl/sicstuswww/site/index.html SICStus Prolog] licence.
If you want to contribute to the Prolog part of ProB, if you want to extend the ProB API, or need them as reference, you need the Prolog sources which can be downloaded from [http://nightly.cobra.cs.uni-duesseldorf.de/source/ http://nightly.cobra.cs.uni-duesseldorf.de/source/] . To compile the sources you need a [http://www.sics.se/isl/sicstuswww/site/index.html SICStus Prolog] licence.
== The Parser Library ==
The source code is located at [https://github.com/bendisposto/probparsers]. to build the executable jar that is used in ProB use
    gradle uberjar

Revision as of 16:19, 10 February 2012


This page describes how to set up a development environment for ProB.

Downloading

Please download a fresh Eclipse Indigo (3.7) for RCP Developer. We will assume that you work with a fresh copy of Eclipse in the following description. After downloading unzip it to a folder of your choice (just in case: avoid spaces inside the path).

Setup

Beside the default Eclipse, we recommend some additional plug-ins for Development:

  1. Mylyn Connector: Trac (optional)
    If you have read access to the ProB tickets you should install this connector. Like GEF it is available from the Helios update site (search for Trac).
  2. Findbugs(optional)
    We strongly recommend to install and use the Findbugs plug-in. Instructions can be found on the Findbugs Website.

Also you can tweak the eclipse.ini file to improve performance. In particular you should increase the size of heap space! You should not use a value greater than your physical memory.

-XX:MaxPermSize=512M
-Xms512m
-Xmx2048m

I use the following additional parameters (no guarantee that they actually help):

-Xss1M
-server
-XX:+DoEscapeAnalysis
-XX:+UseConcMarkSweepGC
-XX:PermSize=256M

Checkout sources

The sources are available using git from https://github.com/bendisposto/prob

Content of the repository

If you want to develop within the Rodin tool, you need de.bmotionstudio.gef.editor, de.bmotionstudio.rodin, de.prob.core, de.prob.plugin, de.prob.ui and maybe the feature de.prob2.feature.

de.bmotionstudio.gef.editor
BMotion Studio sources
de.bmotionstudio.rodin
Rodin UI bindings for BMotion Studio
de.prob.core
ProB Core plug-in (contins the Prolog binaries for all supported platforms)
de.prob.plugin
Rodin UI bindings
de.prob.standalone.feature
Feature for the ProB standalone version
de.prob.standalone
UI extensions for the standalone version of ProB
de.prob.ui
GUI
de.prob.update_site
Required for building the update site with buckminster. Most likely you can ignore this
de.prob2.feature
The feature for the Rodin Plug-in version

Setup target platform

Within the de.prob.core plug-in you can find a target definition file (prob_target.target). Open that file within Eclipse and click on set as target platform (upper right corner).

The Prolog Sources

If you want to contribute to the Prolog part of ProB, if you want to extend the ProB API, or need them as reference, you need the Prolog sources which can be downloaded from http://nightly.cobra.cs.uni-duesseldorf.de/source/ . To compile the sources you need a SICStus Prolog licence.

The Parser Library

The source code is located at [1]. to build the executable jar that is used in ProB use

   gradle uberjar