Rodin Platform 2.3 Release Notes
What's New in Rodin 2.3?
- General Interface
- Memory performance improvement: projects now require less memory to build (some projects that required 1200 Mo now build with less than 512 Mo).
- Modelling
- Warnings are produced by the builder when unknown configurations are encountered. It helps knowing which plug-ins are missing when a build fails.
- Error is produced by the builder when no known configuration is found for a file.
- Proving
- Advanced Profile Customisation: a tactic profile can now be a parameterization of a tactic (timeout, ...), or a combination of tactics and profiles (see [1] at the bottom of the page).
- NOTE: this new feature involves internal changes in preference storage; these changes are backward compatible (one can reuse tactic preferences from Rodin 2.2.x in Rodin 2.3) but NOT forward compatible: tactic preferences from Rodin 2.3 cannot be reused with Rodin less than 2.3. Hence the necessity to backup your workspaces (consider you cannot switch back your workspace and exported projects to Rodin < 2.3 after using them with Rodin 2.3).
- New rules implemented, concerning membership in goal, function overridden by maplet (auto), EQL_LR applied at a single position (manual), Generalised Modus Ponens (auto)
- Changes for plugin-developers
- switch to Eclipse 3.7
- new extension points are available to contribute tactic parameterizers (org.eventb.core.seqprover/schema/tacticParameterizers.exsd) and tactic combinators (org.eventb.core.seqprover/schema/tacticCombinators.exsd).
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.2.x
Use rodin-2.3-repo.zip, uncheck "contact all update sites" (because the new version of Eclipse is already included in the archive).
- download archive rodin-2.3-repo.zip
- launch Rodin 2.2.x
- Help > Install New Software... > Add... > enter a name (for instance "Rodin 2.3") then
- Archive... > select the rodin-2.3-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"
- uncheck
- "Group items by category"
- "Contact all update sites..."
- check
- the central area should now list many 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 | available | 15th Feb. 2011 | Compatible with UML-B 2.2 and ProB 2.1. | |||
Event-B EMF framework | 3.5.3 | available | 17th Oct. 2011 | Users should not need to install this framework. It will be installed automatically by other plug-ins as required. | |||
Event-B EMF support for extensions | 1.0.3 | available | 17th Oct. 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 | available | |||||
Relevance Filter | 1.1.1 | available | 2.x.x | ||||
Theory Plug-in | v1.0 | not available | 2.2 | 8th July 2011 | Compatible with Rodin 2.2 only. | ||
Code Generation Feature | 0.2.1 | available | 14th Dec. 2011 | ||||
Rodin Editor | 0.6.1 | available | 2.3.x | 2nd December 2011 | Nicolas Beauger or Thomas Muller | ||
SMT Solvers | 0.1.0 | available | 2.3.x | 19th October 2011 | Yoann Guyot or Laurent Voisin | ||
Qualitative Probability | 0.2.1 | available | 2.3.x | 23rd November 2011 |
B Method Update Site
Plug-in name | Version | Status | MCV* | Release Date | Contact | Additional info | |
---|---|---|---|---|---|---|---|
Atelier-B provers | 2.0.0 | available | 2.3.x | 5th Oct. 2011 | Contains the prover bundled with Atelier B 4.0.2 |
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 2886026: "Overflow" in partition rewriting Bug 2916134: Atelier-B PP does not understand S /= {} Bug 3102117: A theory with problems can be deployed nevertheless Bug 3102125: Deleting a deployed theory only removes the tuf file Bug 3106728: Unsoundness by wrong treatment of meta variables Bug 3106792: RbP allows to generate theory with same name as a context 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 3158594: Rodin 2.0.1 provers are unsound Bug 3316772: Could not create the view: An unexpected exception was throw Bug 3370087: Cannot save proof with ae Bug 3374051: Can't type < in quantifier box Bug 3377126: Unable to export profiles when post /auto tactics selected Bug 3389537: Equality Rewriter does not handle extended expressions Bug 3392521: AssertionError rewriting datatype constructor subformula Bug 3399743: hypothesis filter text box Bug 3415433: NPE on proof saving Bug 3415831: wrong preferences edited from proof control shortcut
FR 1902598: Re: proof of x : dom(expression) FR 1947658: Automatic simplification for membership FR 3095695: Rewrite a name locally FR 3306228: Mapplet Overriding in Goal FR 3306272: Mapplet Overriding in Goal FR 3371115: Superfluous WD strictness conditions FR 3396230: Generalized Modus Ponens enhancement
Known Issues
ClassCastException when uninstalling a feature: this is a known eclipse bug [2]
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 2894645: Error on context named "axioms" Bug 2900427: Problems parsing complex expressions 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 2952134: conversion to mathematical symbols generates trailing spaces Bug 2952705: Progress bar running too fast Bug 2952758: Highlighting of bound variables Bug 2957980: Proof Skeleton View : \n displayed as squares 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 3106603: Theory plugin inherits unsoundness bug from rbp Bug 3106789: Rule based prover does not properly match set extensions 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 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 Bug 3206302: Records plugin: sloppy type checking with nasty consequences Bug 3216967: No AtelierB tactics if user profiles before installation Bug 3234433: Internal name collisions Bug 3275889: Heterogenous cursors in proving GUI Bug 3275897: scrolling too slow in Search Hypothesis view Bug 3275902: Navigation in yellow boxes Bug 3314101: Camille NullPointer Bug 3325133: Silent java.lang.Exception when expanding a project Bug 3354151: Theorems in event guards not supported Bug 3354372: I can't type "<=v"! Bug 3379632: useless missing hypotheses prevent replay Bug 3382200: POs do not appear under model nodes in explorer Bug 3383270: Prover UI editor improperly registered Bug 3384398: ML unsound Bug 3384700: Statistics view counts POs only from contexts and machines Bug 3385671: Vanishing proof work Bug 3392038: Rodin Editor does not handle contributed attributes
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 r13308.
Developer Release date : 2011/09/20.
User Release date : 2011/10/04.