Rodin Platform 3.2 Release Notes: Difference between revisions

From Event-B
Jump to navigationJump to search
imported>Tommy
imported>TIDTWeb
 
(25 intermediate revisions by 3 users not shown)
Line 3: Line 3:
== What's New in Rodin 3.2? ==
== What's New in Rodin 3.2? ==


Rodin 3.2 is mainly a corrective version of the Rodin platform. Thus there isn't new major feature to be described here.
Rodin 3.2 is mainly a corrective version of the Rodin platform which solves stability and usability issues.  
 
Here is a short overview of the newly implemented or fixed features.
 
* '''Selection is now preserved when elements are reordered'''
[[Image:Rodin_3.2_preserved_selection.gif|300px]]
 
* '''Appearance preferences are now handled by the Rodin Editor'''
User defined foreground color and comment foreground color are now taken into account in the Rodin Editor.<br>
Moreover, new color features are now handled by the Rodin Editor.<br>
These preferences now appear from the Rodin color and Fonts preferences accessible via ''Window > Preferences > General > Appearance > Colors and Fonts''
 
[[Image:Rodin_3.2_colors.png|800px]]
 
* '''Tactics can now be cancelled'''
Potentially long running tactics do not make the platform hang anymore and can now be cancelled which makes them a lot more appealing.
 
[[Image:Rodin_3.2_cancellable_tactics.png|600px]]
 
* '''Symbol insertion now seamlessly works with the Rodin Editor'''
Mathematical symbols can now be inserted in text fields of the Rodin Editor.
 
[[Image:Rodin_3.2_symbols.gif|600px]]


=== Changes for plug-in developers ===
=== Changes for plug-in developers ===


Rodin 3.2 is built on top of Eclipse 4.4.2 (Luna).
Rodin 3.2 is built on top of Eclipse 4.4.2 (Luna).
* Changes to org.eventb.ui.itemdescription.IAttributeDesc
** The method isMath() has been added to the API. This method tells whether mathematical symbols from the attribute value should be translated. It returns <tt>false</tt> if the attribute in not a text attribute.
* Changes to org.eventb.ui.manipulation.IAttributeManipulation
** The following information has been added to the getPossibleValues() method : ''The returned list must include the current value of the attribute, otherwise the display in the combo box will not be accurate on Linux and Mac OS X.''
* Changes to org.eventb.core.ast.FormulaFactory
** The method isValidPredicateName(String name) has been added to the API. It tells whether the given name is a valid predicate variable name (that is any identifier name prefixed by a <tt>$</tt>)...


== Installing ==
== Installing ==
Line 17: Line 48:
=== Upgrading from Rodin 3.0 ===
=== Upgrading from Rodin 3.0 ===


Rodin 3.2 is based on Eclipse 4, whereas Rodin 3.0 was based on Eclipse 3.
Rodin 3.2 is based on Eclipse 4, whereas Rodin 3.0 was based on Eclipse 3.<br>
This change makes it impossible to upgrade from 3.0 to 3.2.
This change makes it impossible to upgrade from 3.0 to 3.2.<br>
Technically speaking, it's because of hidden package dependencies in Eclipse 4 that are not automatically discovered by the update manager.
Technically speaking, it's because of hidden package dependencies in Eclipse 4 that are not automatically discovered by the update manager.<br>
Thus, Rodin 3.2 must be [[#Downloading|downloaded]].
Thus, Rodin 3.2 must be [[#Downloading|downloaded]].<br>
 
=== Upgrading from Rodin 3.1 ===
 
==== Using the automatic (and long) way ====
Click on Help > Check for Updates
Select Rodin 3.2 update and accept the terms of the license
Go to take a coffee...
Restart your platform to apply changes
 
==== Using a local archive (fast method)  ====
 
download archive rodin-3.2-repo.zip
launch Rodin 3.1
Help > Install New Software... > Add... > enter a name (for instance "Rodin 3.2") then
Archive... > select the rodin-3.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"
uncheck
"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


== Requirements - Compatibility ==
== Requirements - Compatibility ==
Line 61: Line 119:


Bugs
Bugs
  750   NPE in EditorSnapshot
  750 NPE in EditorSnapshot  
  749   Unecessary text translation prior to exit overlay edition of comments              
  749 Unecessary text translation prior to exit overlay edition of comments  
  748   Guard count not reset when adding event with wizard              
  748 Guard count not reset when adding event with wizard  
  747   Inconsistent parsing of predicate variables              
  747 Inconsistent parsing of predicate variables  
  746   Theory Plugin, disabled tactic                
  746 Theory Plugin, disabled tactic  
  745   B2LaTeX: Backslash in comment leads to uncompilable LaTeX code              
  745 B2LaTeX: Backslash in comment leads to uncompilable LaTeX code  
  743   Error while running tool (Automatic Proof Obligation Manager)              
  743 Error while running tool (Automatic Proof Obligation Manager)  
  742   Rodin Editor loses selection when moving              
  742 Rodin Editor loses selection when moving  
  740   Event Wizard Add Button Fields Disappear              
  740 Event Wizard Add Button Fields Disappear  
  739   Opening a proved proof - prune the proof              
  739 Opening a proved proof - prune the proof  
  738   Cannot see Symbol shortcut when hovering.              
  738 Cannot see Symbol shortcut when hovering.  
  737   Symbol buttons enhancement              
  737 Symbol buttons enhancement  
  736   Constant correct, but still see red underline.              
  736 Constant correct, but still see red underline.  
  735   Constant correct, but still see red underline.              
  735 Constant correct, but still see red underline.  
  734   Constant wizardrd - spelling error              
  734 Constant wizardrd - spelling error  
  733   Component context - Constant and Axiom bug              
  733 Component context - Constant and Axiom bug  
  731   DynamicDropdown tactics              
  731 DynamicDropdown tactics  
  730   Next undischarged PO and uncertain status              
  730 Next undischarged PO and uncertain status  
  725   Rodin Editor does not reflect appearance preferences              
  725 Rodin Editor does not reflect appearance preferences  
  724   Can't 'Copy' models from Event-B Explorer after closing editor              
  724 Can't 'Copy' models from Event-B Explorer after closing editor  
  716   Pretty-print unavailable in Event-B editor              
  716 Pretty-print unavailable in Event-B editor  
  711   Wizard buttons always inactive after focus has been lost              
  711 Wizard buttons always inactive after focus has been lost  
  682   NPE in eventbeditor when closing              
  682 NPE in eventbeditor when closing  
  659   B2Latex problems with witnesses              
  659 B2Latex problems with witnesses  
  652   Multiple exceptions in EventB Explorer when updating with Teamwork              
  652 Multiple exceptions in EventB Explorer when updating with Teamwork  
  557   conversion to 2.1.1 causes out of memory error              
  557 conversion to 2.1.1 causes out of memory error  
  464   Error on Double Click
  464 Error on Double Click




Feature Requests
Feature Requests
  {{TODO}}
  92 ISCEvent class needs isInherited method


== Known Issues ==
== Known Issues ==
Line 104: Line 162:


== About ==
== About ==
Rodin Platform with git commit: {{TODO}}<br/>
Rodin Platform with git commit: ecacdcb0<br/>
Developer Release date : {{TODO}}<br/>
User Release date : 2015/06/22.
User Release date : {{TODO}}.
 
MD5 sums of distributed files:
2da46b2fd30ae5dff7d466baf475bf55  rodin-3.2.0.201506220911-ecacdcb-linux.gtk.x86_64.tar.gz
9c4373574c44e69f0aeed577dd341cc9  rodin-3.2.0.201506220911-ecacdcb-linux.gtk.x86.tar.gz
72ac427f72c7636e273b9094b9318846  rodin-3.2.0.201506220911-ecacdcb-macosx.cocoa.x86_64.tar.gz
a5d45797f004116f749bbc7f4cdce3b5  rodin-3.2.0.201506220911-ecacdcb-win32.win32.x86_64.zip
ce8af69e76dde82aec6874082d8bb4d8  rodin-3.2.0.201506220911-ecacdcb-win32.win32.x86.zip
dfb12213b0ec603d808d68e406622217  rodin-3.2-repo.zip
75ee204c8ce47ad55151e0fcddec810e  org.rodinp.dev-3.2.0-ecacdcb.zip
 


[[Category:Rodin Platform Release Notes]]
[[Category:Rodin Platform Release Notes]]

Latest revision as of 11:09, 6 July 2017

What's New in Rodin 3.2?

Rodin 3.2 is mainly a corrective version of the Rodin platform which solves stability and usability issues.

Here is a short overview of the newly implemented or fixed features.

  • Selection is now preserved when elements are reordered

  • Appearance preferences are now handled by the Rodin Editor

User defined foreground color and comment foreground color are now taken into account in the Rodin Editor.
Moreover, new color features are now handled by the Rodin Editor.
These preferences now appear from the Rodin color and Fonts preferences accessible via Window > Preferences > General > Appearance > Colors and Fonts

  • Tactics can now be cancelled

Potentially long running tactics do not make the platform hang anymore and can now be cancelled which makes them a lot more appealing.

  • Symbol insertion now seamlessly works with the Rodin Editor

Mathematical symbols can now be inserted in text fields of the Rodin Editor.

Changes for plug-in developers

Rodin 3.2 is built on top of Eclipse 4.4.2 (Luna).

  • Changes to org.eventb.ui.itemdescription.IAttributeDesc
    • The method isMath() has been added to the API. This method tells whether mathematical symbols from the attribute value should be translated. It returns false if the attribute in not a text attribute.
  • Changes to org.eventb.ui.manipulation.IAttributeManipulation
    • The following information has been added to the getPossibleValues() method : The returned list must include the current value of the attribute, otherwise the display in the combo box will not be accurate on Linux and Mac OS X.
  • Changes to org.eventb.core.ast.FormulaFactory
    • The method isValidPredicateName(String name) has been added to the API. It tells whether the given name is a valid predicate variable name (that is any identifier name prefixed by a $)...

Installing

Downloading

Download Rodin 3.2 now !

Upgrading from Rodin 3.0

Rodin 3.2 is based on Eclipse 4, whereas Rodin 3.0 was based on Eclipse 3.
This change makes it impossible to upgrade from 3.0 to 3.2.
Technically speaking, it's because of hidden package dependencies in Eclipse 4 that are not automatically discovered by the update manager.
Thus, Rodin 3.2 must be downloaded.

Upgrading from Rodin 3.1

Using the automatic (and long) way

Click on Help > Check for Updates
Select Rodin 3.2 update and accept the terms of the license
Go to take a coffee...
Restart your platform to apply changes

Using a local archive (fast method)

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

Requirements - Compatibility

  • Configurations supported (and for which binaries are provided)
    • Linux 32-bit
    • Linux 64-bit
    • Windows 32-bit
    • Windows 64-bit
    • Mac OS X 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 with GTK and old glibc:
A crash or display issues may happen:
  • glibc <= 2.13: SIGSEGV systematic at launch
  • glibc 2.17: some actions have no effect, like right click actions in the Rodin Editor
See [1].
Solutions, one of:
  1. upgrade glibc >= 2.19
  2. export SWT_GTK3=0
  3. edit rodin.ini, in the program argument part (before vmargs), add
--launcher.GTK_version
2
  • Linux 64-bit:
package 'libc6-amd64:i386' must be installed, in particular in order to run external prover binaries
depending on the distribution, you could instead need these packages: lib32z1 lib32ncurses5 lib32bz2-1.0
  • 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

http://rodin-b-sharp.sourceforge.net/updates


Plug-in name Version Status MCV* Release Date Contact Additional info
Event-B Class Diagrams 1.2.0 available 3.x.x 18 Dec 2015 email Class diagrams contained in Event-B Machines.
Event-B State-machines 3.4.1 available 3.x.x 31st Dec 2015 email State-machines contained in Event-B Machines.
Event-B State-machine Animation 2.1.2 available 3.x.x 19th Dec 2014 email Compatible with Event-B statemachines 3.x.x and ProB 3.0.x.
Project Diagram 1.0.1 available 3.x.x 1st Feb. 2015 email Machine - Context relationship diagram
UML-B 2.3.0 available 3.x.x 18th Oct. 2014 email Original UML-B modelling environment
UML-B Statemachine Animation 1.3.0 available 3.x.x 18th Oct. 2014 email Compatible with UML-B 2.3 and ProB 3.0
Event-B EMF framework 5.4.0 available 3.x.x 17th Dec 2015 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 5.2.0 available 3.x.x 17th Dec 2015 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 6.0.0 available 3.2.x 17th Dec 2015 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.
Rose 1.6.0 available 3.x.x 22nd Dec 2014 email Mainly useful for Plug-in developers. Tree-structured editor for Event-B EMF that handles extensions without modification
Teamwork 1.2.0 available 3.2.x 5th Sept. 2016 email Provides a synchronised copy of Machines and Contexts for committing into a repository. It is recommended to also install the Rose editor, EMF compare 3.1.0 and a recent repository client (e.g. Egit 4.1.4).
Shared Event Composition 1.7.1 available 5th July 2017 email Compatible with Rodin 3.x.x (checked by cfs 5/05/17)
Decomposition 1.3.1 available 4th July 2017 email Compatible with Rodin 3.x.x (checked by cfs 4/05/17)
Refactory 1.3.0 not checked 3.x.x 6th May 2014 email Compatible with Rodin 3.0.x.
Theory Plug-in 3.0.0 not checked 17th Dec 2014 email
Code Generation 0.2.5 not checked 29th Aug. 2013 email For Java, Ada, and OpenMP C code
Relevance Filter 1.1.1 available ?.x.x (appears to still work - cfsnook 23/06/15)
Isabelle for Rodin not checked 2.x.x
SMT Solvers 1.3.0 available 15th March 2016 Laurent Voisin
Pattern 0.9.0 not checked 3.x.x 13th March 2015 Thai Son Hoang
Qualitative Probability 0.2.3 availablel 3.x.x 9th October 2015 Thai Son Hoang
B2Latex export 0.5.5 available 2.5.x 27th May 2015 email
Generic Instantiation (Soton) 1.0.1 not checked 05th March 2013 email
Records 1.0.1 not available for Rodin 3.x.x 2.x.x 16th Oct. 2010 email No longer actively supported - please email if you wish to use this plugin

B Method Update Site

http://methode-b.com/update_site/atelierb_provers


Plug-in name Version Status MCV* Release Date Contact Additional info
Atelier-B provers 2.1.0 available 3.x.x 18th March 2014 email Read the instructions concerning 64-bit compatibility : here .

Some antiviruses are suspicious about krt.exe (the AtelierB prover executable): just authorize its execution.

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 3.1.x available 3.1.0 23th June 2015 Sebastian Krings Use the Camille update site http://www.stups.uni-duesseldorf.de/camille_updates
Make sure to install the Event-B EMF Framework version 5.0.0 or greater.
Modularisation not checked 2.x.x email Use the update site http://www.iliasov.org/modplugin
Generic Instantiation 1.1.1 available 3.2.x 9 September 2015 Thai Son Hoang Use the update site http://gen-inst.sourceforge.net/updates
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 3.0.x available 3.x.x 23th June 2015 Jens Bendisposto Use the ProB update site. http://www.stups.uni-duesseldorf.de/prob_updates_rodin3
The Plug-in includes BMotion Studio
For older Rodin versions use http://www.stups.uni-duesseldorf.de/prob_updates
ProR 0.12.0 not checked 3.1.x 13th January 2015 Lukas Ladenberger Update site: http://update.formalmind.com/rodin
Project web site: http://eclipse.org/rmf
MBT plugin 2.0 not checked 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

Fixed Bugs and Implemented Features

Bugs

750 NPE in EditorSnapshot 
749 Unecessary text translation prior to exit overlay edition of comments 
748 Guard count not reset when adding event with wizard 
747 Inconsistent parsing of predicate variables 
746 Theory Plugin, disabled tactic 
745 B2LaTeX: Backslash in comment leads to uncompilable LaTeX code 
743 Error while running tool (Automatic Proof Obligation Manager) 
742 Rodin Editor loses selection when moving 
740 Event Wizard Add Button Fields Disappear 
739 Opening a proved proof - prune the proof 
738 Cannot see Symbol shortcut when hovering. 
737 Symbol buttons enhancement 
736 Constant correct, but still see red underline. 
735 Constant correct, but still see red underline. 
734 Constant wizardrd - spelling error 
733 Component context - Constant and Axiom bug 
731 DynamicDropdown tactics 
730 Next undischarged PO and uncertain status 
725 Rodin Editor does not reflect appearance preferences 
724 Can't 'Copy' models from Event-B Explorer after closing editor 
716 Pretty-print unavailable in Event-B editor 
711 Wizard buttons always inactive after focus has been lost 
682 NPE in eventbeditor when closing 
659 B2Latex problems with witnesses 
652 Multiple exceptions in EventB Explorer when updating with Teamwork 
557 conversion to 2.1.1 causes out of memory error 
464 Error on Double Click


Feature Requests

92 ISCEvent class needs isInherited method

Known Issues

See known bugs on SourceForge.

  • Linux:
A crash may occur when closing the Welcome page. After restarting Rodin, everything works fine.
This is a known Webkit bug: [2]

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 with git commit: ecacdcb0
User Release date : 2015/06/22.

MD5 sums of distributed files:

2da46b2fd30ae5dff7d466baf475bf55  rodin-3.2.0.201506220911-ecacdcb-linux.gtk.x86_64.tar.gz
9c4373574c44e69f0aeed577dd341cc9  rodin-3.2.0.201506220911-ecacdcb-linux.gtk.x86.tar.gz
72ac427f72c7636e273b9094b9318846  rodin-3.2.0.201506220911-ecacdcb-macosx.cocoa.x86_64.tar.gz
a5d45797f004116f749bbc7f4cdce3b5  rodin-3.2.0.201506220911-ecacdcb-win32.win32.x86_64.zip
ce8af69e76dde82aec6874082d8bb4d8  rodin-3.2.0.201506220911-ecacdcb-win32.win32.x86.zip
dfb12213b0ec603d808d68e406622217  rodin-3.2-repo.zip
75ee204c8ce47ad55151e0fcddec810e  org.rodinp.dev-3.2.0-ecacdcb.zip