Rodin Platform 1.3 Release Notes

From Event-B
Jump to navigationJump to search

What's New in Rodin 1.3?

  • General Interface
Error log view is now available among the other General views. It is accessible through Window > Show view > Other... and shows the contents of the log file. This provides very useful informations to developers for correcting bugs, and is intended to be copy/pasted by users when posting bug reports.
  • Modelling
New in component popup menu. "New Event-B Project" and "New Event-B Component" wizards have been added to the "New" context menu of the Event-B Explorer. Right-clicking in a blank part or on a project in the Event-B Explorer, a popup appears; then in the "New" section, these two actions are proposed. The wizards are those that also appear when clicking the buttons at the top of the Event-B Explorer, or through File > New.
new preference/properties mechanism. A new preference/properties mechanism to handle and use prefix settings. It is now possible to set prefixes for a workspace scope or a project scope. Prefix settings are extended automatically by editor contributions.
See also: Customize Prefixes
  • Building
Direct children processing only. The builder now only processes direct children of project. Files located in subfolders are ignored.
  • Proving
The simplification rewrites tactic has been fixed: a clean has to be performed on all projects. Many proofs use this tactic and will be marked as broken, but correct ones will replay successfully (see next item).
A new "Replay Proof" command. Right-clicking any element in the Event-B Explorer shows the contextual menu, which contains a new command "Proof Replay on Undischarged POs" next to "Retry Auto Provers" and "Recalculate Auto Status".
See also: Proof Obligation Commands
NewPP. Changed the name displayed in proofs to "NewPP" to avoid ambiguity with "PP". It used to be displayed as "Predicate Prover".
  • Changes for plugin-developers
Added the origin of predicates in a proof. In the sequent of the root node of a IProofTree, the IAxiom, IInvariant, ..., a predicate (hypothesis or goal) comes from can be fetched through the origin of its source location.
For instance: proofTree.getRoot().getSequent().goal().getSourceLocation().getOrigin()
Knowing nature of proof obligations. The nature of a proof obligation (Theorem, Well-Definedness, Invariant Preservation, ...) can be known from a IPOSequent.
See IPOGNature and IPOSequent#getPOGNature().
NewPP Plug-in. The newPP tactic has been published. See PPCore#newPP()
Added ExplorerPlugin#getSelectedStatuses(). Added a function ExplorerPlugin#getSelectedStatuses() to get the PS elements under the current explorer selection.
Extensible pretty print. It is now possible to extend the pretty print page with the same kind of mechanism used to extend the structured editor.
See also: Extending the Pretty Print Page

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.

B Method Update Site

Downloading

Download Now!

Bugs Fixed and Feature Requests Implemented

  Bug 1813657: Refactoring menu is not related to refactoring
  Bug 1818464: Trivial PO does not discharge
  Bug 1897572: Error in Proof Obligation Generator
  Bug 1919546: P1,PP,M0-M3 not available as post tactic
  Bug 1948095: importing existing projects
  Bug 2414463: Builder called on non-Rodin files
  Bug 2433212: Poor performance under KDE
  Bug 2648946: Predicate Provers (newPP, P0) unable to discharge simple PO
  Bug 2656831: saving proofs does not always work
  Bug 2694492: proB widget do not display on second proB launch
  Bug 2744052: NullPointerException in Builder on cyclic refinement
  Bug 2782126: Your platform does not support SWT Browser widget.
  Bug 2827806: Zombie files in buffer
  Bug 2836774: Text Editor unable to save  (exception)
  Bug 2844797: The Proof Skeleton View does not adapt to the container
  Bug 2895507: MH and other rules are ill-defined
  Bug 2945276: Rodin keyboard view displayed untimely
  Bug 2952087: Rodin 1.2 reuses erroneous Rodin 1.1 proof
  Bug 2952090: when renaming a context, the proofs are gone
  Bug 2952143: EB-Editor refuses to save
  Bug 2952959: Disabling auto-provers doesn't work
  Bug 2958878: Associative Predicate does not accept <=>
  Bug 2961115: Pipe as internal name
  Bug 2961857: p ∈ dom(prj1) causes internal error in New PP
  Bug 2962503: PPTrans throws NPE
  Bug 2962688: Clean with AutoProve on works the second time
  Bug 2964353: Rule based prover does not properly match set extensions.
  Bug 2964360: unsound inference rule
  Bug 2976578: Invalid Thread Access in EventB Editor Manager
  Bug 2977104: Editors still opened when deleting a project
  Bug 2987050: Incoherences in proof statistics
  Bug 2988112: Plugin not found on ProB update site
  Bug 2990491: SM animation sub-folder breaks navigator for UML-B projects
  FR 1834561: auto-provers on discharged proof obligations
  FR 1834715: Interactively proving A <<: B
  FR 1834725: copy and paste
  FR 2543189: Rename proof file together with component
  FR 2682079: Renaming issue
  FR 2822916: How to add proof rules
  FR 2891163: One Point on reversed equality
  FR 2926238: extensible pretty print etc.
  FR 2942210: Make SC symbolFactory visible
  FR 2942231: provide child creation in attribute manipulator
  FR 2949606: Add a replay proof command in event-B explorer
  FR 2952709: Meaning of Retry auto-provers / Recalculate auto-status
  FR 2979236: oftype everywhere
  FR 2979325: Make symbolTable classes visible
  FR 2979446: using a newly deployed theory without restart
  FR 2990974: Error Log

Known Issues

[bugs page]

  • Early releases of XULRunner 1.9.1 may cause an SWT exception that prevents from opening an editor (as well as any browser-based ui component). More recent releases fix this bug (works fine with xulrunner-1.9.1.7). Alternatively, 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 installation directory.

  • A warning like the following one is displayed to the standard output when platform starts on GNOME desktop:
(rodin:17254): GLib-WARNING **: g_set_prgname() called multiple times
It's a GNOME bug, referenced at: [[1]]
  • The error log shows the following problem:
org.osgi.framework.BundleException: The bundle could not be resolved. Reason: Missing Constraint: Import-Package: org.eclipse.equinox.internal.util.event; version="1.0.0"
at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1313)
...
It's an Eclipse 3.5 bug. Information found there: [[2]]
  • The list of the currently open bugs is given below:
Bug 2989932: SM translation flow-down buttons KO  		 
Bug 2988294: Nested elaborated transitions produce conflicting actions   
Bug 2987749: Axioms in classtypes not quantified 
Bug 2979444: Matching ; 	
Bug 2979365: Auto completion in wizards 	
Bug 2974867: Camille text editor -  doesn't allow non alphanumeric chars
Bug 2974863: Camille text editor -  Class cast exception when saving a sm  
Bug 2968560: Dependence of Explorer & eventb.ui  
Bug 2964360: unsound inference rule  		 
Bug 2964359: Rule based prover allows me to define unsound rule  		 
Bug 2964350: RBP allows to generate theory with same name as a context  		 
Bug 2964346: RBP: illegal theory directory leads to strange behaviour  		 
Bug 2958877: {1 | true} --> Error Running Tool  		 
Bug 2957980: Proof Skeleton View : \n displayed as squares  		 
Bug 2952758: Highlighting of bound variables  		 
Bug 2952705: Progress bar running too fast  			 
Bug 2952645: Unable to parse || 	
Bug 2952134: conversion to mathematical symbols generates trailing spaces  	 
Bug 2952091: newPP is unsound 	
Bug 2949652: Event-B editor doesn't refresh  
Bug 2942182: unparsing then parsing gives a different expression 
Bug 2941496: NewPP outputs incorrect set of required Hypotheses  		 
Bug 2940575: some fomulas are truncated 	
Bug 2940315: mod operator should be compatible with itself  		 
Bug 2937132: newPP unresponsive 	
Bug 2937124: Symbol Table and Properties 
Bug 2934585: animB : impossible to start animation  		 
Bug 2931450: editor extension - clause names defined in wrong element  	 
Bug 2916134: Atelier-B PP does not understand S /= {}  		 
Bug 2900427: Event-B keyboard does not translate "or"  		 
Bug 2894645: Error on context named "axioms" 
Bug 2893782: error when building new project with a context 
Bug 2886026: "Overflow" in partition rewriting 
Bug 2883199: Fix "new" actions 
Bug 2882318: Error while entering symbol from symbol table  		 
Bug 2871290: Comments are still editable in a generated model  		 
Bug 2871281: Bad display of marked math symbols  		 
Bug 2869663: Changing the font in the pretty print view  		 
Bug 2844813: Turnstile unicode character 
Bug 2844786: Invisible icons in Proof Control coolbar  		 
Bug 2835692: Text Editor exception  		 
Bug 2824204: Change to Rodin Elements not reflected in editor  		 
Bug 2817523: No paste in root contextual menu of explorer  	 
Bug 2782243: BraveSansMono  		 
Bug 2630205: reasoning with "finite" clause 
Bug 2594282: brama - unexpected error  		 
Bug 2573332: Long formulas get truncated  		 
Bug 2531738: RODIN crash adding text to note or text box in class diagram  		 
Bug 2510307: Proof information window empty for grd/WD  		 
Bug 2371318: Unable to apply equality from left to right  	 
Bug 2231401: anormal,error message on animation  		 
Bug 2174629: No PO generated for unrefined event  		 
Bug 2105507: too difficult to work with explicit set expressions  		 
Bug 2082375: input file write-protection a problem to Rodin  		 
Bug 1971279: "java.lang.OutOfMemoryError ..." 
Bug 1954442: Too many handles used by Edit page on Windows  		 
Bug 1949927: newPP is too sensitive to unused hyps  		 
Bug 1841129: Incorrect proof status 	
Bug 1824177: B4free prover translation for <<-> fails  		 
Bug 1766826: Error messages from math parser incomprehensible  		 
Bug 1737819: WD properties are not fully propagated  		 
Bug 1441596: Tool conflicts caused by identically named files