Rodin Platform 2.0 Release Notes

From Event-B
Revision as of 16:20, 11 August 2010 by imported>Tommy (→‎What's New in Rodin 2.0?)
Jump to navigationJump to search

What's New in Rodin 2.0?

  • General Interface
Improved Statistic View. The statistic view was simplified and unified, to make it clearer and easily resizable and be displayed at first click on every element.
  • Modelling
Mathematical Extensions. Rodin was extended to allow definition of basic predicates, new operators or new algebraic types.
See Mathematical extensions
Better platform's behaviour. Some cumbersome behaviours where improved:
- It is now possible to display statistics for a project without expanding it first.
- The view on selected hypotheses is now correctly scrolled to bottom, to display freshly added ones.
- Navigating through proof tree nodes is faster (useless refreshings of search hypotheses where removed to gain performance).
Independent quantified variables with the same name. It is now possible to use the same name for quantified variables which are independant.
Improved WD Lemma Generation . The WD Lemma Generation was improved to simplify unnecessarily complicated lemmas.Some old proofs could appear as undischarged, the "Proof Replay on Undischarged POs" commmand will discharge these proofs.
See also: Improved WD Lemma Generation
  • Proving
Project Explorer's Actions now able to run in background. The "Proof Replay on Undischarged POs", "Retry Auto Provers" and "Recalculate Auto Status" commands are now able to run in background. The user is allowed to modify his models, and do interactive proving while such commands are running. Note that the "Save" action on interactively proved PO, which is concerned by such a command, might be delayed as concurrency occurs. The "Save" action will then be scheduled as a further task to be performed, and the user will have to wait or cancel the command. Those commands are accessible by right-clicking in the Event-B Explorer.
See also: Proof Obligation Commands
Proof details can now be displayed. It is now possible for the user to have a look at what a proof rule really did. A new view, the Rule Details View, was added to the proving perspective to show up the various operations performed by a rule on a proof tree node. It is for example possible, now, to look at instantiated hypotheses, or even, find hypotheses that where removed or hidden by a rule.
See also: Rodin_Proving_Perspective#Rule_Details_View
  • Changes for plugin-developers
Rodin 2.0 is Helios based. Rodin 2.0 is based on the Eclipse 3.6 Helios release. A wiki page has been added to document main improvements that could be of interest to plug-in developpers.
See Migration to Eclipse 3.6.
Rodin 2.0 is Java 1.6 based.
See Migration to Java 6.
Simplified addition of tactic providers for the proving UI. A new attribute ("any") can now be used to describe the tactic providers that both apply on hypotheses and goal (i.e. that have the same behavior for both hypothesis predicates and goal predicate).
A new mechanism to collect informations while traversing formulae. The IFormulaInspector<F> interface has been added and published in order to ease the aggregation of informations (of type F) computed while traversing the AST of a formula. This mechanism replace the old one, where one should retrieve positions where such informations could take place and iterate in a second time on each positions to calculate and accumulate informations.

Requirements

TODO: Inform here of some specific system requirements (version of Java, etc).

  • It is recommended to run the Rodin platform with a Java 6 Runtime Environment.
  • Only a 32-bit version of the Rodin platform is provided for PCs.
  • Only a 64-bit version of the Rodin platform is provided for MAC.
In other terms, Rodin 2.0 does not support MAC PowerPC / Intel 32-bit based platforms any longer.
  • Migration to Eclipse 3.6 (Helios)
Some incompatibilities may arise while moving from Eclipse 3.5 to Eclipse 3.6.
The following page aims to list exhaustively the items to be checked and modified in order to make a plug-in compatible with Rodin 2.0.
See Migration to Eclipse 3.6.
  • Migration to Java 6
Plugin developers should be aware of possibly occurring issues when migrating from the JVM 1.5 to the JVM 6.
A typical example that could produce errors or an unwanted behaviour, is to compare the inlined result of a HashMap with hard-coded values (eg. a string).
As a consequence, it is required to set the JVM used by a plug-in to the 6 version, and then check and modify if necessary the code which produces or could potentially lead to errors.

Incompatibilities between Rodin 1.x and Rodin 2.0

For Rodin 1.x users

No incompatibility is introduced when migrating to Rodin 2.0. In other terms, models used within Rodin 1.3 are compatible with Rodin 2.0, and vice-versa.

For Rodin 1.x plugin developers

This part lists the incompatibilities encountered when migrating from Rodin 1.x to Rodin 2.0.

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

TODO: Add here a list of the fixed bugs.

Known Issues

TODO: Add here a link to the SourceForge Bugs page, after filtering bugs (Assignee Any, Status Open, Category Any, Group 1.2).