Difference between revisions of "D23 General Platform Maintenance"

From Event-B
Jump to navigationJump to search
imported>Pascal
imported>Pascal
(27 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
= Overview =
 
= Overview =
The purpose of the platform corrective and evolutive maintenance is to address bugs and feature requests.
+
The purpose of the platform corrective and evolutive maintenance is to address bugs and feature requests reported either by mail or through the appropriate trackers on SourceForge.
  
The main evolutions of the Rodin platform are driven by the description of work for the Rodin project and the requirements expressed by industrial WP1 to WP5 partners or by consultants during the lifecycle of the project.
+
The noticeable new features in the main platform for the past year are listed below:
 +
* Mathematical Language V2 (releases 1.0 and upper)
 +
: The new version of the mathematical language is supported.
 +
: See [http://wiki.event-b.org/index.php/Event-B_Mathematical_Language Event-B Mathematical Language].
 +
* Theorems everywhere (releases 1.0 and upper)
 +
: It is possible to mix theorems and regular predicates in axioms, invariants and guards.
 +
* Auto-completion (releases 1.0 and upper)
 +
: When entering a predicate or expression in the Event-B machine / context editor, it is possible to type <tt>C-Space</tt> to see a list of possible identifiers that could be entered at the cursor position.
 +
* Entering mathematical symbols (releases 1.1 and upper)
 +
: The Rodin platform provides many more ways to enter mathematical symbols:
 +
: - either type the ASCII shortcut (as in previous releases),
 +
: - or type the LaTeX command (as defined in style <tt>bsymb</tt>),
 +
: - or click in the ''Symbol Table'' view which displays the symbols graphically,
 +
: - or directly enter the Unicode value of the symbol (for advanced users).
 +
: See [http://wiki.event-b.org/index.php/Rodin_Keyboard Rodin Keyboard].
  
Beyond that, any user registered on SourceForge may record any encountered bug on the Rodin platform or request a new feature, using the dedicated trackers. Depending on the category, the bug / feature is assigned to the WP9 partner who is in charge of its treatment:
+
See the [http://wiki.event-b.org/index.php/D23_General_Platform_Maintenance#Available_Documentation Release Notes] and the [http://wiki.event-b.org/index.php/D23_General_Platform_Maintenance#Available_Documentation SourceForge] databases (bugs and feature requests) for details about the previous and upcoming releases of the Rodin platform.
 +
 
 +
= Motivations =
 +
The main evolutions of the Rodin platform are driven by the description of work for the DEPLOY project and the requirements expressed by industrial WP1 to WP5 partners or by consultants during the lifecycle of the project.
 +
 
 +
Beyond that, any user registered on SourceForge may record any encountered bug on the Rodin platform or request a new feature, using the dedicated [[#Available documentation | trackers]]. Depending on the category, the bug / feature is assigned to the WP9 partner who is in charge of its treatment:
 
{{SimpleHeader}}
 
{{SimpleHeader}}
 
|-
 
|-
Line 38: Line 57:
 
|}
 
|}
  
= Motivations =
+
The priorities are discussed during the WP9 meetings (a management conference call is planned every two weeks, and the WP9 meetings are organised during the DEPLOY workshops).
{{TODO}}
 
This paragraph shall express the motivation for each tool extension and improvement. More precisely, it shall first indicate the state before the work, the encountered difficulties, and shall highlight the requirements (eg. those of industrial partners). Then, it shall summarize how these requirements are addressed and what are the main benefits.  
 
  
 
= Choices / Decisions =
 
= Choices / Decisions =
{{TODO}}
+
The WP9 partners have agreed on a release policy (see the [[#Available%20Documentation | Rodin Platform Releases]] wiki page). In particular:
This paragraph shall summarize the decisions (eg. design decisions) and justify them. Thus, it may present the studied solutions, through their main advantages and inconvenients, to legitimate the final choices.  
+
* A new version of the Rodin platform is released every 3 months.
 +
* The code is frozen during the 2 weeks preceding each release.
 +
* The Eclipse versioning policy is enforced (See [http://wiki.eclipse.org/index.php/Version_Numbering http://wiki.eclipse.org/index.php/Version_Numbering]).
 +
* A wiki page is dedicated to each release.
 +
 
 +
The main advantages, for both developers and end-users, are summarized below:
 +
* Information. The wiki page dedicated to each release provides instant information on the new features and improvements, which may be discussed if necessary.
 +
* Validation. The period of code freeze is more especially devoted to bug fixes, and the frequency of the stable releases is ensured.
 +
* Integration. A synchronization between the optional plug-ins and other plug-ins is now possible.
  
 
= Available Documentation =
 
= Available Documentation =
Line 57: Line 82:
  
 
= Planning =
 
= Planning =
The ''Rodin Platform Releases'' wiki page lists in particular the upcoming releases and give the scheduled release dates.
+
The [[#Available%20Documentation | Rodin Platform Releases]] wiki page lists in particular the upcoming releases and give the scheduled release dates.
 +
 
 +
Special efforts will be made on the following topics:
 +
* Team-based development.
 +
: The purpose is to perform simultaneous developments.
 +
: In order to understand the problem properly, some usage scenarios (see [http://wiki.event-b.org/index.php/Scenarios_for_Team-based_Development http://wiki.event-b.org/index.php/Scenarios_for_Team-based_Development]) for team-based Development have already been written, and a page has also been started to express merging proofs scenarios (see [http://wiki.event-b.org/index.php/Scenarios_for_Merging_Proofs http://wiki.event-b.org/index.php/Scenarios_for_Merging_Proofs]).
 +
: A prototype plug-in is available, which enables the use of the EMF compare editor for machines and contexts. The DEPLOY partners will try out this plug-in and gather requirements for the teamwork plug-in.
 +
: See [http://wiki.event-b.org/index.php/EMF_Compare_Editor_Investigation http://wiki.event-b.org/index.php/EMF_Compare_Editor_Investigation] (Implementation issues).
 +
: See [http://wiki.event-b.org/index.php/EMF_Compare_Editor_installation http://wiki.event-b.org/index.php/EMF_Compare_Editor_installation] (How to install the EMF Compare editor).
 +
: See [http://wiki.event-b.org/index.php/Teamwork_Requirements http://wiki.event-b.org/index.php/Teamwork_Requirements] (Feedback page / Requirements).
 +
 
 +
* Documentation.
 +
: The purpose is to continuously increase the available documentation on the Wiki. It may contains requirements, pre-studies (states of the art, proposals, discussions), technical details (specifications), teaching materials (tutorials), user's guides, etc. The intended audience may be the developers or the end-users.
 +
 
 +
[[Category:D23 Deliverable]]

Revision as of 11:02, 8 January 2010

Overview

The purpose of the platform corrective and evolutive maintenance is to address bugs and feature requests reported either by mail or through the appropriate trackers on SourceForge.

The noticeable new features in the main platform for the past year are listed below:

  • Mathematical Language V2 (releases 1.0 and upper)
The new version of the mathematical language is supported.
See Event-B Mathematical Language.
  • Theorems everywhere (releases 1.0 and upper)
It is possible to mix theorems and regular predicates in axioms, invariants and guards.
  • Auto-completion (releases 1.0 and upper)
When entering a predicate or expression in the Event-B machine / context editor, it is possible to type C-Space to see a list of possible identifiers that could be entered at the cursor position.
  • Entering mathematical symbols (releases 1.1 and upper)
The Rodin platform provides many more ways to enter mathematical symbols:
- either type the ASCII shortcut (as in previous releases),
- or type the LaTeX command (as defined in style bsymb),
- or click in the Symbol Table view which displays the symbols graphically,
- or directly enter the Unicode value of the symbol (for advanced users).
See Rodin Keyboard.

See the Release Notes and the SourceForge databases (bugs and feature requests) for details about the previous and upcoming releases of the Rodin platform.

Motivations

The main evolutions of the Rodin platform are driven by the description of work for the DEPLOY project and the requirements expressed by industrial WP1 to WP5 partners or by consultants during the lifecycle of the project.

Beyond that, any user registered on SourceForge may record any encountered bug on the Rodin platform or request a new feature, using the dedicated trackers. Depending on the category, the bug / feature is assigned to the WP9 partner who is in charge of its treatment:

Category Partner
AnimB Christophe METAYER
B2LaTeX University of Southampton
Decomposition Systerel
Event-B core Systerel
Event-B interface Systerel
Event-B POG Systerel
Event-B provers Systerel
Event-B static checker Systerel
PRO-B Dusseldorf
Renaming University of Southampton
Requirements Dusseldorf
Rodin platform Systerel
Text editor Dusseldorf
U2B Southampton

The priorities are discussed during the WP9 meetings (a management conference call is planned every two weeks, and the WP9 meetings are organised during the DEPLOY workshops).

Choices / Decisions

The WP9 partners have agreed on a release policy (see the Rodin Platform Releases wiki page). In particular:

  • A new version of the Rodin platform is released every 3 months.
  • The code is frozen during the 2 weeks preceding each release.
  • The Eclipse versioning policy is enforced (See http://wiki.eclipse.org/index.php/Version_Numbering).
  • A wiki page is dedicated to each release.

The main advantages, for both developers and end-users, are summarized below:

  • Information. The wiki page dedicated to each release provides instant information on the new features and improvements, which may be discussed if necessary.
  • Validation. The period of code freeze is more especially devoted to bug fixes, and the frequency of the stable releases is ensured.
  • Integration. A synchronization between the optional plug-ins and other plug-ins is now possible.

Available Documentation

The following pages give useful information about the Rodin platform releases:

  • Release notes.
See http://wiki.event-b.org/index.php/Rodin_Platform_Releases.
More details are provided in the notes distributed with each release (eg. http://sourceforge.net/project/shownotes.php?release_id=693928).
  • Bugs.
See http://sourceforge.net/tracker/?group_id=108850&atid=651669.
  • Feature requests.
See http://sourceforge.net/tracker/?group_id=108850&atid=651672.

Planning

The Rodin Platform Releases wiki page lists in particular the upcoming releases and give the scheduled release dates.

Special efforts will be made on the following topics:

  • Team-based development.
The purpose is to perform simultaneous developments.
In order to understand the problem properly, some usage scenarios (see http://wiki.event-b.org/index.php/Scenarios_for_Team-based_Development) for team-based Development have already been written, and a page has also been started to express merging proofs scenarios (see http://wiki.event-b.org/index.php/Scenarios_for_Merging_Proofs).
A prototype plug-in is available, which enables the use of the EMF compare editor for machines and contexts. The DEPLOY partners will try out this plug-in and gather requirements for the teamwork plug-in.
See http://wiki.event-b.org/index.php/EMF_Compare_Editor_Investigation (Implementation issues).
See http://wiki.event-b.org/index.php/EMF_Compare_Editor_installation (How to install the EMF Compare editor).
See http://wiki.event-b.org/index.php/Teamwork_Requirements (Feedback page / Requirements).
  • Documentation.
The purpose is to continuously increase the available documentation on the Wiki. It may contains requirements, pre-studies (states of the art, proposals, discussions), technical details (specifications), teaching materials (tutorials), user's guides, etc. The intended audience may be the developers or the end-users.