Getting Involved: Difference between revisions

Line 29: Line 29:
  -XX:+UseConcMarkSweepGC
  -XX:+UseConcMarkSweepGC
  -XX:PermSize=256M
  -XX:PermSize=256M
== Download Rodin Sources ==
Download the file name rodin.*-dev.zip from the appropriate folder of the[[http://sourceforge.net/projects/rodin-b-sharp/files/Core_%20Rodin%20Platform/ Rodin Sourceforge Site]]. Unzip this file to some folder (A good place is a folder named rodin inside your Eclipse installation)


== Checkout sources ==
== Checkout sources ==
The sources are available using subversion from
https://cobra.cs.uni-duesseldorf.de/prob/trunk/eclipse/
For ProB you need to check out
# de.prob.core
# de.prob.plugin
# de.prob.ui
For BMotionStudio you additionally need de.bmotionstudio.gef.edito and de.prob.animationscript.runtime
== Setup target platform ==
If you have unzipped the rodin dev zip into a folder named rodin inside your Eclipse installation dir you can open the file prob_target.target inside the de.prob.core project and  click "Set as Target Platform".


== Setup Problem Filter ==
== Setup Problem Filter ==

Revision as of 12:18, 20 April 2011


Out of date icon.png IMPORTANT

We are currently restructuring the ProB plug-in. After completion we will fix the documentation!

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

Downloading

Please download a fresh Eclipse Helios (3.6) 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 require some additional plug-ins for Development:

  1. Subclipse 1.6.x
    Install the Subclipse plugin, comprehensive instructions for installations are available from the http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA Subclipse Website]. If at some point you receive errors about a missing JavaHL you can switch to the SVNKit Interface in Preferences | Team | SVN or you can install JavaHL (Instructions http://subclipse.tigris.org/wiki/JavaHL). You can also use subversive from the Helios update site (but in this description we will assume you use subclipse).
  2. Graphical Editing Framework (GEF)
    GEF can be obtained from the Helios update site. Open the Plugin_installation Facility (Help | Install New Software), select the Helios Update site and search for GEF. You might have to uncheck "Group items by category"
  3. 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).
  4. 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

Download Rodin Sources

Download the file name rodin.*-dev.zip from the appropriate folder of the[Rodin Sourceforge Site]. Unzip this file to some folder (A good place is a folder named rodin inside your Eclipse installation)

Checkout sources

The sources are available using subversion from https://cobra.cs.uni-duesseldorf.de/prob/trunk/eclipse/

For ProB you need to check out

  1. de.prob.core
  2. de.prob.plugin
  3. de.prob.ui

For BMotionStudio you additionally need de.bmotionstudio.gef.edito and de.prob.animationscript.runtime

Setup target platform

If you have unzipped the rodin dev zip into a folder named rodin inside your Eclipse installation dir you can open the file prob_target.target inside the de.prob.core project and click "Set as Target Platform".

Setup Problem Filter

We aim to have zero warnings in ProB. Rodin however has warnings. Therefore we have to create a filter for the "Problems View" (click on the triangle in the problems view and select: Configure Contents

Create a new Content as shown in the screenshot (everything except Scope is the default value)

ProblemsViewFilter.png

Setup Mylyn

If you have access to the bugtracker tickets you should include them into your Eclipse installation. It is required to install Mylyn Connector Trac from the Helios installation site. Open the Task Repository View and create a new repository using the trac connector. Use http://cobra.cs.uni-duesseldorf.de/trac as the server url. Fill out the wizard as shown in the screenshot and click on validate settings.

SetupTaskRepository.png

Code Formatting

We use "Format on save" using the default Eclipse settings. You can enable it under Window -> Preferences -> Java -> Editor -> Save Actions (on Mac: Eclipse -> Preferences ...):

  1. Enable "Perform the selected actions on save"
  2. Enable "Format source code"
  3. Enable "Organize imports"

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 checked out from https://cobra.cs.uni-duesseldorf.de/prob/trunk/prolog/ using subversion (use, e.g., the command "svn co https://cobra.cs.uni-duesseldorf.de/prob/trunk/prolog/ ProB" to check out the sources). To compile the sources you need a SICStus Prolog licence.

What now?

  • If you are new to developing for ProB, you might be interested in an overview of the Organization of ProB Sources to find out where you can start.