Rodin Platform 2.2 Release Notes
What's New in Rodin 2.2?
- General Interface
- Improved general platform performance. The build time has been decreased by about 40% on average since Rodin 2.0.
- See: Rodin Performances
- Modelling
- TODO
- Proving
- New Tactics, such as Negation Normal Form, Generalized Modus Ponens, Case distinction from implication.
- Changes for plugin-developers
- Proof storage has evolved with backward compatibility: it is transparent for common proof access (getting the proof tree/skeleton). However, for a plug-in that would access proofs using directly the database - which is highly discouraged, please note that IPRProofRule.getElementName() does no more contain a reasoner id, but instead a reference to a IPRReasoner, a newly introduced proof element type. See Proof Dependencies and Reasoner Conflicts.
- Signature: optionally, a reasoner may now implement the interface ISignatureReasoner. It is designed for those whose behaviour evolves during a session. A signature represents a single reasoner behaviour. When present, the signature is stored in proofs. These proofs are invalidated when the signature changes (detected at build time).
- External plug-ins can now contribute to the "Refine" action which produces a new component from an existing one. It replaces the former non extensible actions Refine and Extend.
Requirements
- 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
- You need to have a Java JRE (6.0 or later) installed on your computer. The Rodin product will not work with a previous version.
- 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.
- Linux: the internal browser does not work with xulrunner-2.0 (for instance, it causes the welcome page to display a link instead of a html page); xulrunner-1.9.x must be installed.
Installing
Upgrading from Rodin 2.1.x
Use rodin-2.2-repo.zip, check "contact all update sites" (because a new version of Eclipse is used).
- download archive rodin-2.2-repo.zip
- launch Rodin 2.1.x
- Help > Install New Software... > Add... > enter a name (for instance "Rodin 2.2") then
- Archive... > select the rodin-2.2-repo.zip archive
- Mac users may have to use Local... then point to archive root directory, in case the archive was automatically unzipped
- set options in the bottom of the page:
- check
- "Show only the latest versions of available software"
- "Hide items that are already installed"
- "Contact all update sites..."
- uncheck
- "Group items by category"
- check
- the central area should now list 5 entries
- select "Rodin Platform", click "Next"
- a message informs "Your original request has been modified. See the details."
- "Rodin Platform" is already installed, so an update will be performed instead.
- click Next, accept license, finish and restart
Downloading
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 | not available | 15th Feb. 2011 | Compatible with UML-B 2.2 and ProB 2.1. | |||
Event-B EMF framework | 3.5.0 | available | 24th Aug. 2011 | 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.3.0 | available | 25th Aug. 2011 | |||
Records | 1.0.1 | not available | This release includes EMF and Refactory support for records. | ||||
Teamwork | not available | ||||||
Shared Event Composition | 1.4.0 | available | 29th June 2011 | Compatible with Rodin 2.2.x. When project or machine is changed in the included section, the modification is propagated for the combined events. | |||
Refactory | 1.2.0 | available | 29th June 2011 | Version compatible with Rodin 2.2.x. More accurate monitor progress bar. Optimised rewriting of freeIdentifiers when renaming variables and constants. Added an additional wizard step corresponding to the indexer update (avoids the platform to hang while waiting for the indexer to update). | |||
![]() |
Decomposition | 1.2.1 | available | 29th June 2011 | Compatible with Rodin 2.2.x. Optimisation: parameters not used in a decomposed event are not created at all. | ||
![]() |
Project Diagram | 1.0.0 | not available | ||||
Relevance Filter | 1.0.0 | available | 2.x.x | ||||
Theory Plug-in | v1.0 | available | 8th July 2011 | Compatible with Rodin 2.2 only. | |||
Code Generation Feature | 0.1.5 | available | 17th May 2011 | ||||
![]() |
Rodin Editor | 0.5.0 | available | 2.2.x | 13th July 2011 | Nicolas Beauger or Thomas Muller | The versions over 0.5.0 do not install on Rodin Plaforms greater than v.2.2.2 as shown by MCV. |
B Method Update Site
Plug-in name | Version | Status | MCV* | Release Date | Contact | Additional info | |
---|---|---|---|---|---|---|---|
Atelier-B provers | 1.2.2 | available | 2.2.x | 17th Feb. 2011 |
Other Update Sites
*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 |
---|
Fixed Bugs and Implemented Feature Requests
Bug 2952091: newPP is unsound Bug 2952645: Unable to parse || Bug 2958877: {1 | true} --> Error Running Tool Bug 3105392: Auto Proved status is invisible with theory feature Bug 3189256: NPE when using defaut tactic profile at project scope Bug 3205664: Sample action button should not exist Bug 3237197: NPE when initialising org.eventb.ui Bug 3243479: Font is not updated in proof skeleton view Bug 3244113: neg_in_l is unsafe Bug 3256437: dependencies Bug 3299972: conversion to 2.1.1 causes out of memory error Bug 3301649: Marker for unrefined event invisible Bug 3303186: Highlight in prover UI at the first launch Bug 3303436: Complicated WD hypothesis popping up Bug 3305107: Renaming Machine creates NPE when trying to open in Camille
FR 1689028: Abstract expression command FR 2430736: Simplification with dom/ran restriction/subtraction FR 2820268: rewrite rules for NAT1 FR 3136433: Automatic rewrite of predicates containing hypotheses FR 3136669: Highlight parentheses in prover interface FR 3137893: Make Remove Negation automatic FR 3137918: A generalize auto tactic for impI and mt FR 3137944: Instantiate Universal followed by modus tollens FR 3244115: safe version of modus ponens FR 3286529: Make "or" in goal to "not" in hypothesis automatic
Known Issues
TODO: COPY KNOWN ISSUES FROM PREVIOUS PAGES / VERIFY
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 r11814
Developer Release date : 17/05/2011 (2.2RC1).
User Release date : 01/06/2011.