Team-based development: Difference between revisions

From Event-B
Jump to navigationJump to search
imported>Colin
New page: A prototype team working plug-in is available which enables Event-B models to be stored in a repository (e.g. SVN). Models can be compared with versions in the repository and differences c...
 
imported>Mathieu
mNo edit summary
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
A prototype team working plug-in is available which enables Event-B models to be stored in a repository (e.g. SVN).
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.
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
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).
directly into SVN).


-----------------------
Installation:
Installation:


* Add the subclipse update site: http://subclipse.tigris.org/update_1.6.x
* In '''Help-Install new software''' Add the subclipse update site: http://subclipse.tigris.org/update_1.6.x
* Install '''subclipse''' and subversion client adapter (tbd which bits are needed? currently I install everything)
* Install (from this update site)
* Install '''Event-B EMF Emerging Features''' and '''Event-B EMF Framework''' from the main Rodin 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)


----------------------
Instructions:
Instructions:


* right click on a rodin project and select ''team - share project'', share the project into a suitable SVN repository.
* 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)
* commit the shared project (note that no model/proof files should appear for commit at this stage)
* open a machine with the '''Rose''' (structured) editor and ''save as'', appending the file extension .xmb (e.g. myMachine.bum.xmb)
* a folder '''team''' should appear in the project. This contains synchronised copies of your Machines and Contexts that can be committed into SVN
* change the navigator filter settings to see the xmb file (i.e. select the down triangle, customise view, uncheck 'all files and folders')
* The following operations that can be performed on the xmb files in the team folder:
* right click on the xmb file and commit it.
** '''Team-commit'''
* after making changes to the model (i.e. to the .bum file using your preferred Event-B editor)
** '''Compare With - Latest from Repository'''. You should see a model structured comparison editor
* open with Rose and save to the same .xmb file again (overwrite). The xmb file should now be annotated with the normal SVN update overlay.
*** you may merge changes from the SVN copy to the local copy (but not the other way around)
* right click on it and ''compare with - latest from repository''. You should see a model structured comparison editor.
** Edit directly with an EMF based editor such as Rose
* you may merge changes from the SVN copy to the local copy (but not the other way around).
** (Any changes to these files are automatically reflected into the corresponding machine or context)
** If you change the local copy you need to open it with Rose and save as .bum to get the changes back into Rodin.
* You can also Import Rodin projects from an SVN repository.




--------------------
Notes:
Notes:
* Currently the EMF compare editor does not work with team synchronise.
* Rose Bueret was Rodin's long term partner and (eventually) wife.


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.




Line 42: Line 52:


* [[Teamwork Specification|Specification for team-working plug-in version 1]]
* [[Teamwork Specification|Specification for team-working plug-in version 1]]
[[Category:Plugin]]
[[Category:User documentation]]

Latest revision as of 07:03, 1 August 2011

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).


Installation:

  • In Help-Install new software Add the subclipse update site: http://subclipse.tigris.org/update_1.6.x
  • 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)



Instructions:

  • 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.



Notes:

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: