Rodin Platform 2.1 Release Notes
What's New in Rodin 2.1?
- General Interface
- Improved general platform performance. One of the main task of the scheduled future work, concerning the maintenance and evolution of Rodin, is to increase the platform's performances. Investigation has started and some early enhancements are already part of this release which affect the overall performance of the platform.
- See: Rodin Performances

- New mechanism for automatic tactics preferences. It is now possible to define profiles (e.g. ordered lists) of tactics to be used in post or automatic tactics at both workspace and/or project level. Exported projects contain the profiles defined at project level.
- See: How to use it and the page on the work done about Preferences for the automatic tactics
- Proving
- New automatic rewriting rules. Over 150 automatic rewriting rules have been added, making it easier to discharge proof obligations.
- See: All_Rewrite_Rules
- New proving interface. The proving interface now uses other graphical components to enhance the interactive proving performance and avoid bugs related to large model proving.
Display hypotheses and search for hypotheses is now at least up to 10 times faster!
Requirements
- To enhance your proving experience, the eclipse font settings (size, aspect...) are available from the preferences (General > Appearance > Colors and Fonts > Rodin). These settings allow you to modify the properties set on the Event-B Keyboard Text Font which is used in many views of the Proving UI. However, to enjoy these functionnalities, you need to install the Brave Sans Mono font on your system. You can download this font from the link here.
- Configuration
- Only a 32-bit version of the Rodin platform is provided for PCs
- Only a 64-bit version of the Rodin platform is provided for MAC
External plug-ins
Rodin Update Site
| Plug-in name | Version | Status | MCV* | Release Date | Contact | Additional info | |
|---|---|---|---|---|---|---|---|
| UML-B | 2.2.0 | available | 9th Feb. 2011 | ||||
| UML-B Statemachine Animation | 1.1.0 | available | 15th Feb. 2011 | Compatible with UML-B 2.2 and ProB 2.1. | |||
| Event-B EMF framework | 3.2.1 | available | Users should not need to install this framework. It will be installed automatically by other plug-ins as required. | ||||
| Export to Isabelle | available | 2.x.x | |||||
| Rose | 1.1.0 | available | |||||
| Records | 1.0.1 | available | This release includes EMF and Refactory support for records. | ||||
| Teamwork | not available | ||||||
| Shared Event Composition | 1.3.1 | available | 9th Mar. 2011 | ||||
| Refactory | 1.1.0 | available | 11th Feb. 2011 | ||||
| Decomposition | 1.2.0 | available | 11th Feb. 2011 | ||||
| Project Diagram | 1.0.0 | available | |||||
| Relevance Filter | 1.0.0 | available | 2.x.x | ||||
| Theory Plug-in | v0.6 | available | 4th Jan. 2011 | ||||
| Code Generation Feature | 0.1.5 | available | 17th May 2011 |
B Method Update Site
| Plug-in name | Version | Status | MCV* | Release Date | Contact | Additional info | |
|---|---|---|---|---|---|---|---|
| Atelier-B provers | 1.2.2 | available | 17th Feb. 2011 |
Other Updates Sites
| Plug-in name | Version | Status | MCV* | Release Date | Contact | Additional info | |
|---|---|---|---|---|---|---|---|
| AnimB | not available | Christophe Métayer | Use the update site http://www.animb.org/updatesite | ||||
| Camille | available | Use the Camille update site. http://www.stups.uni-duesseldorf.de/camille_updates | |||||
| Modularisation | available | 2.x.x | Use the update site http://www.iliasov.org/modplugin | ||||
| Group refinement | available | 2.x.x | Use the update site http://iliasov.org/refplugin | ||||
| Flows/Use case extension | available | 2.x.x | Use the update site http://iliasov.org/usecase | ||||
| ProB | available | 8th Feb. 2011 | Use the ProB update site. http://www.stups.uni-duesseldorf.de/prob_updates The Plug-in includes BMotion Studio | ||||
| ProR | available | 20th Jan. 2012 | Michael Jastram | ProR support working with requirements. For traceability to Event-B, the Rodin Integration is required. Update site: http://update.pror.org Project web site: http://eclipse.org/rmf | |||
| Rodin Integration for ProR | not available | 28th Feb. 2012 | Michael Jastram | We are currently working on a revised ProR-Rodin-Integration. |
*MCV stands for the Rodin's Maximum Compatible Version
Known plug-in incompatibilities
It unfortunately exists some incompatibilities between plug-ins. This list might be non exhaustive and is updated accorded to user experiences. If you encounter some conflict while installing or using plug-ins, please send a mail to the Rodin User List or feel free to complete the following table.
| Plug-in name | Incompatible with |
|---|
Downloading
Dowload now!
An more recent platform than Rodin 2.1 exists. More info here
Fixed Bugs and Implemented Feature requests
Bug 1766826: Error messages from math parser incomprehensible Bug 1841129: Incorrect proof status Bug 2371318: Unable to apply equality from left to right Bug 2630205: reasoning with "finite" clause Bug 2844786: Invisible icons in Proof Control coolbar Bug 2871281: Bad display of marked math symbols Bug 2949652: Event-B editor doesn't refresh Bug 3003164: NPE when loading a PO Bug 3006903: Rename Bug Bug 3048530: New Event Wizard :: NAT[tab] Bug 3078116: Rule DERIV_SUBSETEQ_SETMINUS_L automatic Bug 3080950: Incorrect display of <<-> <->> <<->> and <+ in the editor Bug 3085330: funOvr available on non-WD strict positions Bug 3092172: Lexer initialisation error when similar tokens are defined Bug 3093913: another inconsistency in type checking Bug 3110755: NewPP, PP, ML fail when datatype in type environment Bug 3116400: strange interference in initialisation of imported variables Bug 3116665: Assertion error with tactic "Belongs to Domain" Bug 3116812: Lexer errors when extending grammar Bug 3130730: can't parse large integers Bug 3137151: NPE when ProofControlPage is not initialized Bug 3138748: Prob fails with a cryptic message Bug 3158594: Rodin 2.0.1 provers are unsound Bug 3164796: Goal Page does not react to font changes Bug 3164832: Misplaced red link on forall in hyp [linux gtk]
FR 3025824: Improve performance of the "Search Hypothesis" action FR 3080788: Manual POs selection in the Event-B explorer FR 3087387: Include an svn client tool in default update sites FR 3136438: Filtering auto/manual proofs in explorer FR 3136668: Custom Proof Replay FR 3137250: Make "db impl" tactic be available on the first operator FR 3137897: Add an equivalence rewriting auto tactic FR 3137919: Automatic "Apply membership" tactics FR 3137922: Manual tactic to simplify the double negation FR 3138709: Comment for Variant FR 3151962: Have P0, P1 and ML directly accessible
Known Issues
- If you encounter problem in the display of mathematical symbols, please note that installing Rodin's Brave Sans Mono font on your system could solve the issue. You can find this font here
- The list of the currently open bugs is given below:
Bug 1441596: Tool conflicts caused by identically named files
Bug 1824177: B4free prover translation for <<-> fails
Bug 1949927: newPP is too sensitive to unused hyps
Bug 1954442: Too many handles used by Edit page on Windows
Bug 2105507: too difficult to work with explicit set expressions
Bug 2531738: RODIN crash adding text to note or text box in class diagram
Bug 2573332: Long formulas get truncated
Bug 2782243: BraveSansMono
Bug 2817523: No paste in root contextual menu of explorer
Bug 2824204: Change to Rodin Elements not reflected in editor
Bug 2835692: Text Editor exception
Bug 2844813: Turnstile unicode character
Bug 2869663: Changing the font in the pretty print view
Bug 2882318: Error while entering symbol from symbol table
Bug 2883199: Fix "new" actions
Bug 2886026: "Overflow" in partition rewriting
Bug 2894645: Error on context named "axioms"
Bug 2900427: Problems parsing complex expressions
Bug 2916134: Atelier-B PP does not understand S /= {}
Bug 2931450: editor extension - clause names defined in wrong element
Bug 2934585: animB : impossible to start animation
Bug 2937124: Symbol Table and Properties
Bug 2937132: newPP unresponsive
Bug 2940315: mod operator should be compatible with itself
Bug 2940575: some fomulas are truncated
Bug 2941496: NewPP outputs incorrect set of required Hypotheses
Bug 2942182: unparsing then parsing gives a different expression
Bug 2952091: newPP is unsound
Bug 2952134: conversion to mathematical symbols generates trailing spaces
Bug 2952645: Unable to parse ||
Bug 2952705: Progress bar running too fast
Bug 2952758: Highlighting of bound variables
Bug 2957980: Proof Skeleton View : \n displayed as squares
Bug 2958877: {1 | true} --> Error Running Tool
Bug 2968560: Dependence of Explorer & eventb.ui
Bug 2974867: Camille text editor - doesn't allow non alphanumeric chars
Bug 2987749: Axioms in classtypes not quantified
Bug 2988294: Nested elaborated transitions produce conflicting actions
Bug 2997510: undo behaviour
Bug 3005167: Inherited elements
Bug 3005170: Becomes such that
Bug 3005202: Renaming and provers
Bug 3005204: Cumbersome popup
Bug 3007792: Theorems in Guards - Syntax Error
Bug 3007793: Issue with refines clauses of events
Bug 3009555: Search Hypothesis refresh
Bug 3009838: Order of variables and invariants not preserved
Bug 3014775: partition operator is not accepted by Camille
Bug 3019063: Error on Double Click
Bug 3020776: Issue with indentation
Bug 3022742: Problem with Software Sites
Bug 3024811: Leaks in Event-B Explorer
Bug 3027387: Proof simplification does not remove useless rules
Bug 3052238: Saving failed caused by AssertionError in rebuild
Bug 3054228: Proof simplification too slow
Bug 3075420: Unable to save project after renaming invariants
Bug 3085129: Rename file and update occurrences can fail
Bug 3086511: camille editor refuses to save
Bug 3086755: Tacticals are not cancelable
Bug 3102117: A theory with problems can be deployed nevertheless
Bug 3102125: Deleting a deployed theory only removes the tuf file
Bug 3105392: Auto Proved status is invisible with theory feature
Bug 3106603: Theory plugin inherits unsoundness bug from rbp
Bug 3106728: Unsoundness by wrong treatment of meta variables
Bug 3106789: Rule based prover does not properly match set extensions
Bug 3106792: RbP allows to generate theory with same name as a context
Bug 3112508: Camille can not be installed on Rodin 2.0.1
Bug 3112539: Proof status after theory change
Bug 3122147: newPP can't do modus ponens
Bug 3126433: the parser accepts a+-1
Bug 3143114: translation
Bug 3143508: inherited elements in default editor
Bug 3150302: callability lost in refinement
Bug 3150394: miscounted parameters
Bug 3151189: inappropriate abstraction of a return value
Bug 3151805: inconsistencies in importing of events
Bug 3154319: Unacceptable handling of unsupported expressions
Bug 3164791: Error and missing page in help contents
Bug 3166636: newPP unable to reason with finite definition
Disclaimer
Since Rodin is continuously maintained, several unsoundness bugs which have been encountered were investigated and fixed. However, despite the total commitment of our teams to insure the soundness of the platform, some unexpected and unknown soundness issues could remain. We would be grateful if you would report these issues to the development mailing list.
About
Rodin Platform up to r10764
Developer Release date : 24/01/2011 (2.1RC1).
User Release date : 08/02/2011.