Rodin Platform 1.1 Release Notes
From Event-B
What's New in Rodin 1.1?
- A new extensible plug-in for the Event-B Keyboard is included. The former one, namely org.eventb.eventBKeyboard, translated hard-coded key combos into hard-coded unicode mathematical symbols. There is now one main plug-in, org.rodinp.keyboard, that defines a mere extension point org.rodinp.keyboard.symbols to define associations between an ASCII sequence and a symbol. It avoids hard-coding anything.
- There are currently two extensions of this point:
- One in the plug-in org.eventb.keyboard, for standard Event-B notation translation.
- One in the plug-in ch.ethz.eventb.keyboard.latex, for LaTeX notation translation.
- The reasoners are now tagged with a version, which will evolve along with their behavior.
- New Rewriting rules and on prover rules are included:
- Arithmetic rules (e.g. the form and a few others)
- DEF_IN_UPTO:
- One point rule
- Goals of the form when you have a hypothesis that states
- SIMP_SPECIAL_OVERL
- SIMP_FUNIMAGE_LAMBDA
- A new tactic provider extension API is proposed. It allows tactic providers to give several possible tactic applications, even at the same position in a predicate. This new mechanism is also intended to fit with rule-based provers needs.
- Proof obligations
- The POG does not not generate any longer THM POs for guards when the conditions have already been proved for the abstract event.
- The generated event-B files are tagged. These files cannot be modified.
- A symbol table view is provided. It contains the mathematical symbols. When clicking on a symbol, it is included at the current position in the text of the Rodin Context/Machine editor.
- PO Icons
- Changed color of 'pending' icon for undischarged POs from red to orange/brown.
- Used 'pending_pale' icons for unattempted POs in explorer.
- Modulo
- Reinforced the WD condition for the modulo operator. We now have exactly the same condition as in classical B: is well-defined iff .
Requirements
- It is recommended to run the Rodin platform with a Java 1.5 Runtime Environment.
- Only a 32-bit version of the Rodin platform is provided. Some optional libraries dedicated to 32-bit support may be required in order to run it on a 64-bit OS. Moreover, you will have to install a 32-bit Java Virtual Machine (JVM), and then to set the -vm option to make sure that Rodin is run with the correct JVM.
- eg. /usr/local/rodin/rodin -vm /usr/lib/jvm/ia32-java-1.5.0-sun/bin/java (You have to adjust paths to your system.)
External plug-ins
TODO: Describe here the available plug-ins, and the supported versions for this release.
Downloading
TODO: Add here a link to download the platform.
Fixed Bugs and Implemented Feature Requests
Bug 1822179: Problem with XML parser Bug 1830816: Incorrect associativity of function application Bug 1834722: no horizontal scroll bars Bug 1926739: Machine Renaming Bug 2004000: The cursor is not visible at the end of text fields. Bug 2024804: No typecheck error when missing INITIALISATION Bug 2616436: SWTException when deleting an element Bug 2648926: Post-Tactic is invoked after saving Bug 2782166: Clean & Build Bug 2804049: Exception on partition sent to ML Bug 2814047: Refines clause on INITIALISATION event ignored Bug 2818588: Long formulas not broken across lines Bug 2821439: functional simplification Bug 2821449: functional simplification Bug 2824401: NPE when following a marker Bug 2829164: exception in navigator Bug 2830809: parser inconsistent with Mathematical Language Specification Bug 2840549: Development: Building problem for path with blank Bug 2841423: use of set comprehension? Bug 2856893: Impossible to add an element to an event-B component Bug 2860800: Paths of Plugins (again) Bug 2864985: Problem with Design of EventBRoot Bug 2865874: Error when calling ML FR 1592016: Automatic Completion FR 1740718: Verification for New Internal Element Wizards FR 1909636: Arithmetics simplification FR 1936295: Automatic rule for <+ FR 1942487: Remove membership for range FR 2140186: prooving when using "lambda expression" FR 2782135: Pretty Print Font Size FR 2803368: Versioning reasoners FR 2817266: Copy of full projects FR 2864252: Anticipated events in last refinement
Known Issues
- XULRunner 1.9.1 may cause an SWT exception that prevents from opening an editor (as well as any browser-based ui component). To fix it, it is possible to specify XULRunner path to point to 1.9.0: edit "rodin.ini" and add the following line:
-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner-1.9.0.14
where "/usr/lib/xulrunner-1.9.0.14" must be replaced with your actual XULRunner 1.9.0 install directory.
TODO: Add here a link to the SourceForge Bugs page, after filtering bugs (Assignee Any, Status Open, Category Any, Group 1.1).