Rodin Platform 2.7 Release Notes

From Event-B
Jump to navigationJump to search

What's New in Rodin 2.7

Rodin 2.7 is a maintenance release including most of all bug fixes. It also includes internal code refactoring in preparation of Rodin 3.0.

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 ia32-libs (and its dependencies) must be installed.
  • 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.

External plug-ins

Rodin Update Site

Plug-in name Version Status MCV* Release Date Contact Additional info
Event-B State-machines 1.2.0 available 3rd June 2012 email State-machines contained in Event-B Machines
Event-B State-machine Animation 1.1.0 available 28th May 2012 email Compatible with Event-B statemachines 1.2.0 and ProB 2.3.2.
UML-B 2.2.0 available 9th Feb. 2011 email Original UML-B modelling environment
UML-B Statemachine Animation 1.1.0 available 15th Feb. 2011 email Compatible with UML-B 2.2 and ProB 2.1.
Event-B EMF framework 3.7.0 available 30th April 2012 email Provided for plug-in developers. End 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.3.0 available 3rd June 2012 email Provided for plug-in developers. End users should not need to install this framework. It will be installed automatically by other plug-ins as required.
Event-B EMF support for diagrams 2.1.0 available 3rd June 2012 email Provided for plug-in developers. End 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 available 25th Aug. 2011 email Mainly useful for Plug-in developers. Tree-structured editor that handles extensions without modification
Records 1.0.1 not checked 16th Oct. 2010 email No longer actively supported - please email if you wish to use this plugin
Teamwork 1.1.0 not checked 15th Oct. 2010 email No longer actively supported - please email if you wish to use this plugin
Shared Event Composition 1.6.0 available 16th August 2012 email Compatible with Rodin 2.6. Bug fix related with dependencies of machines that are in different projects
Refactory 1.2.2 not checked 2.6.x 16th August 2012 email Version compatible with Rodin 2.6.
Decomposition 1.2.6 available 11th Dec 2012 email Compatible with Rodin 2.7 .
Project Diagram 1.0.0 available 15th Nov. 2010 email Machine - Context relationship diagram
Relevance Filter 1.1.1 not checked 2.x.x
Theory Plug-in v1.0 not checked 2.2 8th July 2011 email Compatible with Rodin 2.2 only.
Code Generation Feature 0.2.3 available* 22nd Mar. 2012 email *See Code Generation page for details of a compatibility issue.
SMT Solvers 1.0.0 available 2.7 3rd June 2013 Laurent Voisin
Qualitative Probability 0.2.1 not checked 2.3.x 23rd November 2011 email
Generic Instantiation 0.2.2 not checked 2.3.x 11th May 2012 email
B2Latex export 0.5.3 available 2.5.x 16th April 2012 email

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 email 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 not checked 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 not checked 2.x.x email Use the update site http://www.iliasov.org/modplugin
Group refinement not checked 2.x.x email Use the update site http://iliasov.org/refplugin
Flows/Use case extension not checked 2.x.x email Use the update site http://iliasov.org/usecase
ProB 2.3.3 available 2.6.x 13th Nov. 2012 Jens Bendisposto Use the ProB update site. http://www.stups.uni-duesseldorf.de/prob_updates
The Plug-in includes BMotion Studio
ProR 0.3.2 not checked 2.6.x 08/01/2012 Michael Jastram Update site: http://update.formalmind.com/rodin
Project web site: http://eclipse.org/rmf
MBT plugin 2.0 available 2.7.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.2 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

Installing

Download a packaged platform for your OS

Download Rodin 2.7 from Sourceforge now !

Upgrading from Rodin 2.6

Use rodin-2.7-repo.zip:

  • download archive rodin-2.7-repo.zip
  • launch Rodin 2.6
  • Help > Install New Software... > Add... > enter a name (for instance "Rodin 2.7") then
Archive... > select the rodin-2.7-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..."
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

Fixed Bugs & Implemented Features

  Bug 3005202: Renaming and provers
  Bug 3206302: Records plugin: sloppy type checking with nasty consequences
  Bug 3275902: Navigation in yellow boxes
  Bug 3484721: Unable to kill NewPP
  Bug 3488583: Duplicate PO for action WD
  Bug 3523514: FunImageInGoal failure
  Bug 3529405: NPE when filtering POs of contributed elements
  Bug 3530768: Missing PO with partial function definition
  Bug 3532785: Existence of a minimum or maximum in goal not automatic
  Bug 3538089: Missing System Property
  Bug 3545025: Crash in Proving perspective (too many handles)
  Bug 3565590: Can't open a proof
  Bug 3568830: Memory leak while proving
  Bug 3574162: AST does not compare bound ident decl types 
  Bug 3574565: Inconsistent result of formula type-checking
  Bug 3576366: Wrong formula factory in sequent transformation
  Bug 3578099: Refresh makes problem annotations disappear
  Bug 3578399: Wrong Javadoc for WD lemma computation
  FR 1581775: Preference for auto-provers
  FR 1592551: Sorting guards, events when adding it
  FR 2571735: Add a refactor option for renaming Event-B elements

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 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 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 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 3514920: Missing red line around first yellow box
  Bug 3523429: Strange tab navigation in instantiation boxes
  Bug 3523440: Cannot import a theory in another theory
  Bug 3525060: Proposed name in refine action
  Bug 3527273: Theory plug-in generates complicated WD lemmas
  Bug 3534337: PM does not check language and type environment
  Bug 3535219: Icons are Identical Colour for 7% of Male Users
  Bug 3537604: longs axioms not displayed correctly
  Bug 3544976: Lost Prove Tree after rebuild workspace
  Bug 3575690: Typo in Rodin User's Handbook, range restriction

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 ensure 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 r15250.
Developer Release date : 2012-10-18. (r15200)
User Release date : 2012-11-05. (r15250)