D23 General Platform Maintenance: Difference between revisions
imported>Pascal |
imported>Laurent |
||
(20 intermediate revisions by 3 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 | The noticeable new features in the main platform for the past year are listed below: | ||
* Mathematical Language V2 (releases 1.0 and upper) | * Mathematical Language V2 (releases 1.0 and upper) | ||
: The new version of the mathematical language is supported. | : The new version of the mathematical language is supported. | ||
: See [http://wiki.event-b.org/index.php/Event-B_Mathematical_Language | : See [http://wiki.event-b.org/index.php/Event-B_Mathematical_Language Event-B Mathematical Language]. | ||
* Theorems everywhere (releases 1.0 and upper) | * Theorems everywhere (releases 1.0 and upper) | ||
: It is possible to mix theorems and regular predicates in axioms, invariants and guards. | : It is possible to mix theorems and regular predicates in axioms, invariants and guards. | ||
Line 16: | Line 16: | ||
: - or click in the ''Symbol Table'' view which displays the symbols graphically, | : - or click in the ''Symbol Table'' view which displays the symbols graphically, | ||
: - or directly enter the Unicode value of the symbol (for advanced users). | : - or directly enter the Unicode value of the symbol (for advanced users). | ||
: See [http://wiki.event-b.org/index.php/Rodin_Keyboard | : See [http://wiki.event-b.org/index.php/Rodin_Keyboard Rodin Keyboard]. | ||
See the [ | 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 = | = 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 | 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 WP4 partners or by advanced users 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 [ | Beyond that, any user registered on SourceForge may record any encountered bug on the Rodin platform or request a new feature, using the dedicated [http://wiki.event-b.org/index.php/D23_General_Platform_Maintenance#Available_Documentation trackers]. Depending on the category, the bug / feature is assigned to the WP9 partner who is in charge of processing it: | ||
{{SimpleHeader}} | {{SimpleHeader}} | ||
|- | |- | ||
Line 59: | Line 57: | ||
|} | |} | ||
The priorities are discussed during the WP9 meetings. | The priorities are discussed during the WP9 meetings (bi-weekly management conference call, WP9 face-to-face meetings during DEPLOY workshops). | ||
= Choices / Decisions = | = Choices / Decisions = | ||
The WP9 partners have agreed on a release policy (see the [ | The WP9 partners have agreed on a release policy (see the [http://wiki.event-b.org/index.php/D23_General_Platform_Maintenance#Available_Documentation 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 Version Numbering]). | |||
* A wiki page is dedicated to each release. | |||
The main advantages, for both developers and end-users, are summarized below: | The main advantages, for both developers and end-users, are summarized below: | ||
Line 72: | Line 74: | ||
The following pages give useful information about the Rodin platform releases: | The following pages give useful information about the Rodin platform releases: | ||
* Release notes. | * Release notes. | ||
: See [http://wiki.event-b.org/index.php/Rodin_Platform_Releases | : See [http://wiki.event-b.org/index.php/Rodin_Platform_Releases Rodin Platform Releases]. | ||
: More details are provided in the notes distributed with each release (eg. [ | : More details are provided in the notes distributed with each release (eg. [http://sourceforge.net/project/shownotes.php?release_id=693928]). | ||
* Bugs. | * Bugs. | ||
: See [http://sourceforge.net/tracker/?atid=651669&group_id=108850 | : See [http://sourceforge.net/tracker/?atid=651669&group_id=108850]. | ||
* Feature requests. | * Feature requests. | ||
: See [ | : See [http://sourceforge.net/tracker/?group_id=108850&atid=651672]. | ||
= Planning = | = Planning = | ||
The [ | The [http://wiki.event-b.org/index.php/D23_General_Platform_Maintenance#Available_Documentation 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: | Special efforts will be made on the following topics, which are requested by all users in an industrial context: | ||
* Team-based | * Mathematical Extensions. | ||
: Currently, the operators and basic predicates of the Event-B mathematical language supported by the Rodin platform are fixed. The purpose is to extend the platform to support user-defined data types and associated operators, including inductive data types. Users will then be able to define operators of polymorphic type as well as parameterised predicate definitions. | |||
* Team-based Development. | |||
: The purpose is to perform simultaneous developments. | : The purpose is to perform simultaneous developments. | ||
: | : The [http://wiki.event-b.org/index.php/D23_Decomposition Decomposition plug-in] gives an answer to this requirement by allowing to cut a model in sub-models which may be handled independently. In the same manner, the [http://wiki.event-b.org/index.php/EMF_Compare_Editor_installation EMF Compare Editor] enables the comparison of machines and contexts: it is a first step to be able to use the Rodin platform in a team environment by putting a code repository (e.g., Subversion) underneath it. | ||
: In order to understand the problem properly, some usage scenarios for [http://wiki.event-b.org/index.php/Scenarios_for_Team-based_Development team-based development] and for [http://wiki.event-b.org/index.php/Scenarios_for_Merging_Proofs merging proofs] have already been written. Moreover, a page has been initiated to remember the main requirements (see [http://wiki.event-b.org/index.php/Teamwork_Requirements Teamwork Requirements]). These pages provide a basis for brainstorming and further developments on the topic. | |||
: | |||
* Documentation. | * Documentation. | ||
: The purpose is to continuously increase | : The purpose is to continuously increase and improve available documentation on the Wiki. It may contain requirements, pre-studies (states of the art, proposals, discussions), technical details (specifications), teaching materials (tutorials), user's guides, etc. The intended audience may be developers or end-users. | ||
[[Category:D23 Deliverable]] | [[Category:D23 Deliverable]] |
Latest revision as of 11:30, 27 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 WP4 partners or by advanced users 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 processing it:
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 (bi-weekly management conference call, WP9 face-to-face meetings during 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 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 Rodin Platform Releases.
- More details are provided in the notes distributed with each release (eg. [1]).
- Bugs.
- See [2].
- Feature requests.
- See [3].
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, which are requested by all users in an industrial context:
- Mathematical Extensions.
- Currently, the operators and basic predicates of the Event-B mathematical language supported by the Rodin platform are fixed. The purpose is to extend the platform to support user-defined data types and associated operators, including inductive data types. Users will then be able to define operators of polymorphic type as well as parameterised predicate definitions.
- Team-based Development.
- The purpose is to perform simultaneous developments.
- The Decomposition plug-in gives an answer to this requirement by allowing to cut a model in sub-models which may be handled independently. In the same manner, the EMF Compare Editor enables the comparison of machines and contexts: it is a first step to be able to use the Rodin platform in a team environment by putting a code repository (e.g., Subversion) underneath it.
- In order to understand the problem properly, some usage scenarios for team-based development and for merging proofs have already been written. Moreover, a page has been initiated to remember the main requirements (see Teamwork Requirements). These pages provide a basis for brainstorming and further developments on the topic.
- Documentation.
- The purpose is to continuously increase and improve available documentation on the Wiki. It may contain requirements, pre-studies (states of the art, proposals, discussions), technical details (specifications), teaching materials (tutorials), user's guides, etc. The intended audience may be developers or end-users.