Project Diagram Plug-in provides a visual representation of a Rodin project. This includes Event-B root components such as Machines and Contexts, and relationships between them i.e. refinements and extensions. Hopefully this facility will help Rodin users to better understand complex models and result in a more sensible Rodin modelling.
Using the tool
Using the tool is very easy. To view the diagram of a particular Event-B project a user right-clicks on the project folder and from the context menu selects "Show Diagram", which opens the diagram in an window.
The diagram shows Machines and Contexts of the project with their associations. The default layout of the diagram is a tree layout, good enough for most cases. Sometimes, though, it can be unsatisfactory and for this reason manual moving of the elements and links is enabled to a user. Also, "Arrange All" button can be very helpful in situations when the layout gets cramped or corrupted.
Keep in mind that the diagram shows a state of the project hierarchy at the time of diagram creation i.e. when a user opened the diagram. If after this instant the structure of the project changes e.g. a new component is added, renamed or removed, or an association is modified, the diagram does not react to these changes automatically. To make sure that it displays the correct information a user can simply press F5 when diagram window is active. It is recommended to do it after a modification to the project.
Finally, a user can double-click any component on the diagram, which will open it in a default editor, registered for the underlying resource. The tool will warn a user if resource cannot be found due to some problems. Most likely it can happen if the diagram was not refreshed after modifications to the project mentioned earlier.
The tool was developed as a result of a request from Rodin partners. Any suggestions, ideas for improvement and feedback on discovered issues are very welcome!
Installation: Simply go to the Rodin update site, where in Utilities category you can find Event-B Project Diagram Plugin.