Rodin Platform 2.5 Release Notes
What's New in Rodin 2.5?
- General changes
- Support for Check for updates: it will be possible to upgrade to further releases of the core Rodin platform directly from the tool.
- Bug fixes and code consolidation.
- Changes for plugin-developers
- Dynamic auto tactic providers: enables to programmatically contribute additional auto tactics, making them available for selection in the combined profile editor. See extension point org.eventb.core.seqprover.autoTactics, element dynTacticProvider and interface org.eventb.core.seqprover.IDynTacticProvider.
- IUserSupport API simplification: some operations of the user support work only on the proof tree in main memory. Therefore, they cannot raise any RodinDBException, as they are not accessing the Rodin database at all. Therefore, all throws declaration for these methods have been removed. This change is fully binary compatible, as stated in §13.4.21 of the Java Language Specification 3.0, as throws declaration are checked only at compile time.
- However, the default settings of the Java compiler will produce errors where one attempts to catch RodinDBException in places where these exceptions cannot occur. Consequently, when compiling against the new version of IUserSupport, you will have to remove catch blocks around these exceptions.
- Math Syntactical Groups: published enum org.eventb.core.ast.extension.StandardGroup that lists the syntactical groups in the mathematical language. Prefer referencing them instead of their ids as bare strings.
Requirements - Compatibility
- Configurations supported (and for which binaries are provided)
- Linux 32-bit
- Linux 64-bit
- Windows 32-bit
- Windows 64-bit
- Mac 64-bit
- 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 run Rodin 64-bit, you need a 64-bit JRE.
- 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 and the Pretty Printer does not work); xulrunner-1.9.x must be installed.
- Linux 64-bit:
- package 'libc6:i386' (and its dependencies) must be installed. For some distributions (Ubuntu <= 11.04 for instance), the package is 'ia32-libs'.
- Windows 64-bit:
- Atelier B provers work more slowly; it can cause ML to not automatically discharge some sequents that it discharges on windows 32-bit, due to its timeout. A workaround is to download a custom profile: DefaultAuto_ML800, then Window > Preferences > Event-B > Sequent Prover > Auto/Post Tactic > Profiles (tab) > Import..., point to the downloaded file, 'Select All' profiles (there are 2), OK. Then in 'Auto/Post Tactic' tab, select 'Default Auto Tactic Profile (ML 800)' profile for auto-tactics. It is the same as the 'Default Auto Tactic Profile', except ML has a longer timeout (800 ms). You can of course change this timeout by editing the 'ML (800)' profile.
- We have not noticed this problem for Linux 64-bit, nor for other platforms; however if you do, the same workaround applies.
Installing
Downloading
Upgrading from Rodin 2.4.x
Use the core update site:
- Window > Preferences > Install/Update > Available Software Sites:
- remove Scala update site (no more exists): click "Scala" then "Remove" button, click "Yes" on the popup to confirm
- add Core Rodin update site: click "Add..." button, enter a name ("Core Rodin Updates" for instance), then in "Location" put "http://rodin-b-sharp.sourceforge.net/core-updates"
- click "OK"
- Help > Check for Updates:
- "Checking for updates" appears with a progress bar, it can take a few minutes
- Available updates lists the Handbook and the Rodin Platform, click "Next" twice
- accept license agreements then click "Finish": the software is updating, which can take a few minutes
- click "OK" if the security warning appears, then accept to "Restart Now"
External plug-ins
Rodin Update Site
Plug-in name | Version | Status | MCV* | Release Date | Contact | Additional info | |
---|---|---|---|---|---|---|---|
UML-B | 2.2.0 | not checked | 9th Feb. 2011 | ||||
UML-B Statemachine Animation | 1.1.0 | not checked | 15th Feb. 2011 | Compatible with UML-B 2.2 and ProB 2.1. | |||
Event-B EMF framework | 3.5.3 | not checked | 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 | not checked | 17th Oct. 2011 | Users should not need to install this framework. It will be installed automatically by other plug-ins as required. | |||
Isabelle for Rodin | not checked | 2.x.x | |||||
Rose | 1.3.0 | not checked | 25th Aug. 2011 | ||||
Records | 1.0.1 | not checked | This release includes EMF and Refactory support for records. | ||||
Teamwork | not checked | ||||||
Shared Event Composition | 1.5.1 | available | 2.5.x | 25th June 2012 | Compatible with Rodin 2.5. | ||
Refactory | 1.2.2 | available | 2.5.x | 25th June 2012 | Version compatible with Rodin 2.5 . Fixed bug related with waiting for the rodin indexer to update. Added option to rename without having to wait for the rodin indexer to update. | ||
Decomposition | 1.2.3 | available | 2.5.x | 25th June 2012 | Compatible with Rodin 2.5 . Typing guards (automatically generated) are marked as theorems; Static checks were added to the decomposition file according to the decomposition style chosen ; Improved UI interface: removed dialog requesting confirmation to delete possible existing sub-components (generated sub-components are marked as read-only); Changed suffix of decomposition file to "_DCMP" | ||
Project Diagram | 1.0.0 | not checked | |||||
Relevance Filter | 1.1.1 | not checked | 2.x.x | ||||
Theory Plug-in | v1.0 | not checked | 2.2 | 8th July 2011 | Compatible with Rodin 2.2 only. | ||
Code Generation Feature | 0.2.3 | available | 22nd Mar. 2012 | ||||
SMT Solvers | 0.8.0 | not checked | 2.4 | 17th Feb. 2012 | Yoann Guyot or Laurent Voisin | ||
Qualitative Probability | 0.2.1 | available | 2.3.x | 23rd November 2011 | |||
Generic Instantiation | 0.2.2 | available | 2.3.x | 11th May 2012 | |||
B2Latex export | 0.5.3 | available | 2.5.x | 16th April 2012 |
B Method Update Site
Plug-in name | Version | Status | MCV* | Release Date | Contact | Additional info | |
---|---|---|---|---|---|---|---|
Atelier-B provers | 2.0.1 | available | 2.4.x | 5th Oct. 2011 | Read the instructions concerning 64-bit compatibility : here |
Other Update Sites
Plug-in name | Version | Status | MCV* | Release Date | Contact | Additional info | ||
---|---|---|---|---|---|---|---|---|
AnimB | not checked | Christophe Métayer | Use the update site http://www.animb.org/updatesite | |||||
Camille | 2.1.5 | available | 2.5.x | 27th July 2011 | Michael Jastram | Use the Camille update site. http://www.stups.uni-duesseldorf.de/camille_updates Make sure to install the Event-B EMF Framework version 3.7.0 or greater. | ||
Modularisation | available | 2.x.x | Use the update site http://www.iliasov.org/modplugin | |||||
Group refinement | not checked | 2.6.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 | 2.3.1 | available | 2.5.x | 04/25/2012 | Jens Bendisposto | Use the ProB update site. http://www.stups.uni-duesseldorf.de/prob_updates The Plug-in includes BMotion Studio | ||
ProR | 0.2.0 | available | 2.5.x | 04/25/2012 | Michael Jastram | Update site: http://www.stups.uni-duesseldorf.de/pror_updates Project web site: http://eclipse.org/rmf | ||
MBT plugin | 2.0 | available | 2.5.x | 5th of March 2012 | Alin Stefanescu | Use the update site http://fmi.upit.ro/mbt_plugin | ||
Mode/FT Views | 1.0.2 | not checked | 2.4.x | 4th July 2011 | Ilya Lopatkin | Update site: http://rodinmodeftview.sourceforge.net/ | ||
Transformation patterns | 1.0 | not checked | 2.x.x | 4th July 2011 | Ilya Lopatkin | Update site: http://rodinmodeftview.sourceforge.net/ | ||
VHDL code generator | 2.0.5 | not checked | 2.x.x | 12th March 2012 | Sergey Ostroumov | Update site: http://www.eventb-to-vhdl.tk/ |
*MCV stands for the Rodin's Maximum Compatible Version
Known plug-in incompatibilities
It unfortunately might 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 1954442: Too many handles used by Edit page on Windows Bug 2573332: Long formulas get truncated Bug 2835692: Text Editor exception Bug 2940575: some fomulas are truncated Bug 3005170: Becomes such that Bug 3022742: Problem with Software Sites Bug 3052238: Saving failed caused by AssertionError in rebuild Bug 3054228: Proof simplification too slow Bug 3112508: Camille can not be installed on Rodin 2.0.1 Bug 3164791: Error and missing page in help contents Bug 3392038: Rodin Editor does not handle contributed attributes Bug 3429766: Contents in Symbol palette becomes invisible when scrolling Bug 3440270: java heap space Bug 3441526: Wrong WD for COND Bug 3454414: Problems when merging events Bug 3469348: Bug in INITIALISATION FIS PO Bug 3472979: B2Latex doesn't handle more than one paragraph in a Comment Bug 3473014: B2LaTeX doesn't escape maths symbols in comments Bug 3473022: B2LaTeX silently produces nothing Bug 3489973: NPE in pp trans Bug 3493184: Bigger Font badly supported in proof tree Bug 3495675: Unsound translation of card in ppTrans Bug 3521058: dynamic label for open preferences with scope not correct
FR 2154814: Editor should display extended elements FR 3046981: tutorial FR 3377266: Import/Export of user defined tactic profiles.
Known Issues
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 2531738: RODIN crash adding text to note or text box in class diagram Bug 2782243: BraveSansMono Bug 2817523: No paste in root contextual menu of explorer Bug 2824204: Change to Rodin Elements not reflected in editor 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 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 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 3024811: Leaks in Event-B Explorer 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 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 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 3384700: Statistics view counts POs only from contexts and machines Bug 3385671: Vanishing proof work Bug 3419497: Hypothesis cache updated too often Bug 3430133: The working area doesn't automatically scroll Bug 3440270: java heap space Bug 3440688: Camille editor : Save Failed -1 Bug 3459295: Camille Editor : guards/theorem Bug 3469731: Rodin crashes when adding an extends clause in Camille Bug 3474224: proof support for prj1 and prj2 Bug 3483250: Incorrect fix to 3106728 Bug 3483255: inadmissible datatypes Bug 3484421: Camille unable to open a context Bug 3484721: Unable to kill NewPP Bug 3488583: Duplicate PO for action WD Bug 3514920: Missing red line around first yellow box
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 r14636.
Developer Release date : 27/04/2012.
User Release date : 02/05/2012.