Difference between revisions of "Rodin Platform 1.3 Release Notes"

From Event-B
Jump to navigationJump to search
imported>Tommy
imported>Jens
 
(16 intermediate revisions by 4 users not shown)
Line 24: Line 24:
  
 
* Changes for plugin-developers
 
* Changes for plugin-developers
:'''Added the origin of predicates in proofs'''. The origin of a predicate is its corresponding IAxiom, IInvariant, ...  It can be fetched by:
+
:'''Added the origin of predicates in proofs'''. The origin of a predicate is its corresponding IAxiom, IInvariant, ...  It can be fetched by <tt> predicate.getSourceLocation().getOrigin()</tt> where predicate is a hypothesis or goal of a proof sequent. Note: it works for root sequents only.
    predicate.getSourceLocation().getOrigin()
 
where predicate is a hypothesis or goal of a proof sequent. Note: it works for root sequents only.
 
  
 
:'''Knowing nature of proof obligations'''. The nature of a proof obligation (Theorem, Well-Definedness, Invariant Preservation, ...) can be known from a IPOSequent.
 
:'''Knowing nature of proof obligations'''. The nature of a proof obligation (Theorem, Well-Definedness, Invariant Preservation, ...) can be known from a IPOSequent.
Line 43: Line 41:
 
:''eg.'' <tt>/usr/local/rodin/rodin -vm /usr/lib/jvm/ia32-java-1.5.0-sun/bin/java</tt> (You have to adjust paths to your system.)
 
:''eg.'' <tt>/usr/local/rodin/rodin -vm /usr/lib/jvm/ia32-java-1.5.0-sun/bin/java</tt> (You have to adjust paths to your system.)
  
== External plug-ins ==
+
== External Plug-ins ==
{{TODO | Describe here the available plug-ins, and the supported versions for this release.}}
 
* [[UML-B - Statemachine Animation| UML-B - Statemachine Animation (version 0.1.3)]]
 
* [[UML-B | UML-B (version 1.0.1)]]
 
 
* [[Camille Editor | Camille Editor (version 1.1.4)]]
 
* [[Camille Editor | Camille Editor (version 1.1.4)]]
* [[Parallel_Composition_using_Event-B | Shared Event Composition plug-in (version 1.1.5)]]
+
* [[Parallel_Composition_using_Event-B | Shared Event Composition plug-in (version 1.1.6)]]
* [[Refactoring Framework | Refactory plug-in (version 0.0.6)]]
+
* [[Refactoring Framework | Refactory plug-in (version 0.0.8)]]
* [[Records Extension | Records Extension (version 0.2.0.beta)]]
+
* [[Decomposition Plug-in User Guide | Decomposition plug-in (version 1.0.2)]]
 +
* [[ProB]]
 +
 
 +
=== Rodin Update Site ===
 +
* [[UML-B_release_notes_for_1.1.0| UML-B (version 1.1.0)]]
 +
* [[UML-B_Statemachine_Animation_Release_History| UML-B - Statemachine Animation (version 1.0.1)]]
 +
* [[Event-BEMF_ReleaseHistory|Event-B EMF Framework ?]]
 +
* [[Feature_Composition_Release_History|Feature Composition Plug-in ?]]
 +
* [[Refactoring_Framework_Release_History|Refactoring Framework Plug-in (version 0.0.8)]]
 +
* [[Shared Event Composition_Release_History|Shared Event Composition Plug-in (version 1.1.6)]]
 +
* [[Decomposition_Release_History|Decomposition Plug-in (version 1.0.2)]]
 +
* [[Records Extension Release History | Records Extension (version ?.beta)]]
  
 
=== B Method Update Site ===
 
=== B Method Update Site ===
Line 191: Line 197:
 
   Bug 2990934: UML-B Cannot add statemachines to refined Class
 
   Bug 2990934: UML-B Cannot add statemachines to refined Class
 
   Bug 2991364: Project explorer jumps to first element
 
   Bug 2991364: Project explorer jumps to first element
 
* The list of the currently open bugs is given below:
 
  FR 1402874: SC: constant machine invariants, theorems, and guards
 
  FR 1469740: Add information on the splash screen
 
  FR 1581775: Preference for auto-provers
 
  FR 1585072: Labels which display the same
 
  FR 1592551: Sorting guards, events when adding it
 
  FR 1592565: Undo/Redo -- Conserving old stuff
 
  FR 1595966: Sequence types
 
  FR 1596879: Systematic deletion of derived resources
 
  FR 1609286: A single button to delete all empty var's, guards and action
 
  FR 1630595: Deletion of related elements
 
  FR 1664082: Printing
 
  FR 1689028: Abstract expression command
 
  FR 1729169: Traduction des messages
 
  FR 1733653: Witnesses for FIS POs
 
  FR 1737015: Inheriting events in Outline
 
  FR 1737333: Refines button
 
  FR 1777260: Propagation of changes
 
  FR 1777262: statemachine transition naming
 
  FR 1777263: comment out eventB statements / UMLB
 
  FR 1777265: comment on specific variable (etc) in UMLB
 
  FR 1777268: refinement by statemachine
 
  FR 1777274: refinement by statemachine
 
  FR 1779366: umlb - integrated roundtrip engineering
 
  FR 1779420: error messages
 
  FR 1793844: Decomposition Support
 
  FR 1793869: Proof Display/PrettyPrint
 
  FR 1794833: B to C translation
 
  FR 1798603: Recomposition Support
 
  FR 1811398: Better default witness
 
  FR 1811619: Hierarchy View
 
  FR 1828319: Renaming constants and variables
 
  FR 1841787: case distinction at an earlier point
 
  FR 1866801: Having one up/down button next to keyword in Edit Page
 
  FR 1866804: Undo in Proof
 
  FR 1902598: Re: proof of x : dom(expression)
 
  FR 1947658: Automatic simplification for membership
 
  FR 1968032: ISCEvent class needs isInherited method
 
  FR 2000805: expand the model components in a shorter duration
 
  FR 2018737: Provide reasoner for pred and succ
 
  FR 2019655: Project based settings for provers
 
  FR 2032817: Copy & Paste
 
  FR 2041493: extended class types
 
  FR 2042920: editing proofs before copy/pasting them
 
  FR 2046282: choose the name of the variable ...
 
  FR 2060085: Support for exponentiation
 
  FR 2075318: Additional support of card and finite
 
  FR 2115637: add more criterias for looking for invariant properties
 
  FR 2130277: more support to multiplication
 
  FR 2139994: availability status of "build project" button menu
 
  FR 2140171: Use of key-word "finite" incompatible with use of animator
 
  FR 2154812: Proof obligation view does not display extended elements
 
  FR 2154814: Editor  should display extended  elements
 
  FR 2226159: management of no longer used constants in models
 
  FR 2254737: search for words only
 
  FR 2254761: double clicking should select full identifier (including _)
 
  FR 2392103: non-emptiness of a set of total functions
 
  FR 2430736: Simplification with dom/ran restriction/subtraction
 
  FR 2510206: Priorities on builder tasks.
 
  FR 2571735: Add a refactor option for renaming Event-B elements
 
  FR 2572371: Global check - Verify refinement of anticipated events
 
  FR 2605012: manually prooving while building
 
  FR 2629813: No mean to witness several linked variables at once
 
  FR 2672783: animation of ":|"
 
  FR 2682114: Having an extra row in "statistics viewâ€
 
  FR 2682144: Import facility in the “statistics viewâ€
 
  FR 2682154: Using Double digits for labelling
 
  FR 2685484: Allow submitting bug reports from platform
 
  FR 2686302: Uniform event storage in database
 
  FR 2721983: Search and replace in event-B editor
 
  FR 2740289: Suggest witness labels
 
  FR 2744212: A nice unicode symbole for ~
 
  FR 2764848: New complex context provider
 
  FR 2793244: Make legibility check optional
 
  FR 2806192: 'Link with Editor' button
 
  FR 2820268: rewrite rules for NAT1
 
  FR 2845632: Arithmetic Prover Rules for distributivity
 
  FR 2849077: Prover support for expanding d : S x T
 
  FR 2864928: be able to change the event name
 
  FR 2871880: Decorator for warnings in Event-B explorer
 
  FR 2887264: rules about projection
 
  FR 2894692: Integer Rules
 
  FR 2903740: Event Hierarchy Navigation
 
  FR 2922258: Launch prover(s) automatically on added hypothesis
 
  FR 2922263: Simplifying relational image
 
  FR 2922269: Proving r1 \/ r2  :  E <-> F
 
  FR 2922308: Bijection and cardinality
 
  FR 2922314: Proof by case for <=
 
  FR 2922318: <= and >=  to get =
 
  FR 2932968: (NAVIGATOR) Carrier Sets sb "higher"
 
  FR 2936413: auto scroll while selecting text
 
  FR 2942197: Generic Navigator Node
 
  FR 2942199: Navigator Label Provider - extensible
 
  FR 2942201: make utils visible
 
  FR 2942216: Make SC module base classes visible
 
  FR 2946976: Post-tactic eh is too greedy
 
  FR 2954917: Too many logs for unknown element types
 
  FR 2979367: Auto completion in Proof Control
 
  FR 2990197: Theorem labels
 
  FR 2990497: Provide Rename feature for UML-B Projects
 
  
 
[[Category:Rodin Platform Release Notes]]
 
[[Category:Rodin Platform Release Notes]]

Latest revision as of 13:21, 28 July 2010

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 > Error Log 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
Unified creation of new projects and event-B components. Whatever the way a "New" action is triggered ("File > New" in menubar, button in the toolbar, context menu or buttons in the "Event-B Explorer", etc.), the same wizard is used.
Easier renaming of modelling element labels. The "Rename" menu replaces the "Refactor" menu. Label prefixes can now be customized either globally (workspace scope) or locally (project scope).
See also: Customize Prefixes
  • Building
Direct children processing only. Project subfolders and their contents are now considered non Rodin contents. As a consequence, models placed in subfolders are not checked for errors and no POs are generated for them.
  • Proving
A new "Replay Proof" command. A new "Proof Replay" command that tries to prove undischarged POs by reusing older proofs of these POs, when they exist. In former releases, it happened that one opened an undischarged PO and it was immediately proved. Then one had to manually go through all undischarged POs, just to see them in turn be proved. The "Proof Replay on Undischarged POs" command does it in a single step. It is accessible by a right-click in the Event-B Explorer.
See also: Proof Obligation Commands
The simplification rewrites reasoner version has been incremented. As this reasoner is extensively used by auto provers, many proofs will be marked as broken after cleaning projects, but correct ones will replay successfully.
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 proofs. The origin of a predicate is its corresponding IAxiom, IInvariant, ... It can be fetched by predicate.getSourceLocation().getOrigin() where predicate is a hypothesis or goal of a proof sequent. Note: it works for root sequents only.
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 currently selected POs.
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

Rodin Update Site

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 1441596: Tool conflicts caused by identically named files
  Bug 1737819: WD properties are not fully propagated
  Bug 1766826: Error messages from math parser incomprehensible
  Bug 1824177: B4free prover translation for <<-> fails
  Bug 1841129: Incorrect proof status
  Bug 1949927: newPP is too sensitive to unused hyps
  Bug 1954442: Too many handles used by Edit page on Windows
  Bug 2082375: input file write-protection a problem to Rodin
  Bug 2105507: too difficult to work with explicit set expressions
  Bug 2174629: No PO generated for unrefined event
  Bug 2371318: Unable to apply equality from left to right
  Bug 2510307: Proof information window empty for grd/WD
  Bug 2531738: RODIN crash adding text to note or text box in class diagram
  Bug 2573332: Long formulas get truncated
  Bug 2630205: reasoning with "finite" clause
  Bug 2782243: BraveSansMono
  Bug 2817523: No paste in root contextual menu of explorer
  Bug 2824204: Change to Rodin Elements not reflected in editor
  Bug 2835692: Text Editor exception
  Bug 2844786: Invisible icons in Proof Control coolbar
  Bug 2844813: Turnstile unicode character
  Bug 2869663: Changing the font in the pretty print view
  Bug 2871281: Bad display of marked math symbols
  Bug 2871290: Comments are still editable in a generated model
  Bug 2882318: Error while entering symbol from symbol table
  Bug 2883199: Fix "new" actions
  Bug 2886026: "Overflow" in partition rewriting
  Bug 2893782: error when building new project with a context
  Bug 2894645: Error on context named "axioms"
  Bug 2900427: Event-B keyboard does not translate "or"
  Bug 2916134: Atelier-B PP does not understand S /= {}
  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 2940575: some fomulas are truncated
  Bug 2941496: NewPP outputs incorrect set of required Hypotheses
  Bug 2942182: unparsing then parsing gives a different expression
  Bug 2949652: Event-B editor doesn't refresh
  Bug 2952091: newPP is unsound
  Bug 2952134: conversion to mathematical symbols generates trailing spaces
  Bug 2952645: Unable to parse ||
  Bug 2952705: Progress bar running too fast
  Bug 2952758: Highlighting of bound variables
  Bug 2957980: Proof Skeleton View : \n displayed as squares
  Bug 2958877: {1 | true} --> Error Running Tool
  Bug 2964346: RBP: illegal theory directory leads to strange behaviour
  Bug 2964350: RBP allows to generate theory with same name as a context
  Bug 2964359: Rule based prover allows me to define unsound rule
  Bug 2968560: Dependence of Explorer & eventb.ui
  Bug 2974863: Camille text editor -  Class cast exception when saving a sm
  Bug 2974867: Camille text editor -  doesn't allow non alphanumeric chars 
  Bug 2979365: Auto completion in wizards
  Bug 2979444: Matching ;
  Bug 2987749: Axioms in classtypes not quantified
  Bug 2988294: Nested elaborated transitions produce conflicting actions
  Bug 2989932: SM translation flow-down buttons KO
  Bug 2990934: UML-B Cannot add statemachines to refined Class
  Bug 2991364: Project explorer jumps to first element