Team-based development

From Event-B
Jump to navigationJump to search

The team working plug-in enables Event-B models to be stored in a repository (e.g. SVN). Models can be compared with versions in the repository and differences can be merged back into the local version. This relies on the Event-B EMF framework and serialisation into an XMI copy of the model (Rodin files can not be shared directly into SVN).


  • In Help-Install new software Add the subclipse update site:
  • Install (from this update site)
    • subclipse
    • subversion client adapter
    • SVNKit client adapter
    • (you can install other items but if you install the Java HL client adapter it may not work for models and you may need to change the preferences to SVNKit)
  • Install Team-working feature from the main Rodin update site (in Utilities category).
  • Uncheck the Navigator filter - i.e. select the down triangle, customise view, untick All files and folders. (Alternatively, open a resource based navigator such as Navigator or Project Explorer)


  • right click on a rodin project and select team - share project, share the project into a suitable SVN repository.
  • make sure you have at least one Machine or Context in the project
  • commit the shared project (note that no model/proof files should appear for commit at this stage)
  • a folder team should appear in the project. This contains synchronised copies of your Machines and Contexts that can be committed into SVN
  • The following operations that can be performed on the xmb files in the team folder:
    • Team-commit
    • Compare With - Latest from Repository. You should see a model structured comparison editor
      • you may merge changes from the SVN copy to the local copy (but not the other way around)
    • Edit directly with an EMF based editor such as Rose
    • (Any changes to these files are automatically reflected into the corresponding machine or context)
  • You can also Import Rodin projects from an SVN repository.


Currently the EMF compare editor does not work with the team-synchronise with repository view.

The Team-working feature configures SVN to ignore the main Rodin files. However, some new extensions may not be known to the plug-in. If the project is marked with changes after you have committed all the changes in the team folder, open the Team-synchronise view to see the files that are being recognised by SVN as having uncommitted changes. Then open Preferences-Team-Ignored Resources and add a pattern to exclude this file type.

Previous pages: