D45 General Platform Maintenance: Difference between revisions
imported>Tommy |
imported>Tommy |
||
Line 87: | Line 87: | ||
* '''A Possibility to highlight patterns in the ProverUI.''' This feature came from a request of DEPLOY partners<ref name="searchInPUI">https://sourceforge.net/tracker/?func=detail&atid=651672&aid=3092835&group_id=108850</ref>, often facing the need to find particular patterns such as expressions in long predicates (e.g. long goals). Since Rodin 2.2, and its new ProvingUI interface, a nice feature was added, allowing to search and highlight a string pattern into the whole ProvingUI views and editors. This function as also been enabled on direct selection of text in this UI. | * '''A Possibility to highlight patterns in the ProverUI.''' This feature came from a request of DEPLOY partners<ref name="searchInPUI">https://sourceforge.net/tracker/?func=detail&atid=651672&aid=3092835&group_id=108850</ref>, often facing the need to find particular patterns such as expressions in long predicates (e.g. long goals). Since Rodin 2.2, and its new ProvingUI interface, a nice feature was added, allowing to search and highlight a string pattern into the whole ProvingUI views and editors. This function as also been enabled on direct selection of text in this UI. | ||
* '''A better output providing warning and errors in case of wrong or missing building configurations.''' This issue, often seen as a bug or a plug-in incompatibility, raises when a user imoprts and tries to use a model on a platform with some missing plug-ins needed on build. The user often use to think his models corrupted although Rodin just being not able to build them, and hiding this information to the user. This is why, since Rodin 2.3, an output in such case has been provided taking the form of warnings or errors that any user can review. This is a partial answer to Rodin plug-in incompatibilities issue. | * '''A better output providing warning and errors in case of wrong or missing building configurations.''' This issue, often seen as a bug or a plug-in incompatibility, raises when a user imoprts and tries to use a model on a platform with some missing plug-ins needed on build. The user often use to think his models corrupted although Rodin just being not able to build them, and hiding this information to the user. This is why, since Rodin 2.3, an output in such case has been provided taking the form of warnings or errors that any user can review. This is a partial answer to Rodin plug-in incompatibilities issue. | ||
* The switch to Eclipse 3.7 | * '''The switch to Eclipse 3.7'''. Due to the major improvements made every year in every Eclipse releases and the continuously growing number of contributing projects which are for some of them used as basis for Rodin plug-ins, the Rodin platform follows the evolution and is adapted every year quickly to the latest Eclipse version available. This year, Rodin 2.3 originated the switch from Eclipse 3.6 to Eclipse 3.7. | ||
* A Handbook to complete and enhance the existing documentation. | * A Handbook to complete and enhance the existing documentation. | ||
Revision as of 11:06, 18 November 2011
Overview
The Rodin platform versions concerned by this deliverable are:
- 2.1(08.02.2011),
- 2.2(01.06.2011),
- 2.2.2(01.08.2011),
- 2.3(04.10.2011),
- 2.4(31.01.2011),
- 2.5(30.04.2011).
This year, the maintenance carried on fixing identified bugs, although an emphasis has been put on correcting usability issues. Indeed, during the meeting in Nice, the WP9 members agreed to refocus on the needed tasks to address some specific bugs and issues reported by DEPLOY partners, and wished resolved by the end of DEPLOY. Thus, no new features were implemented but those appearing in the description of work. The tasks to be performed by the WP9 members were then scheduled, prioritized and regularly updated during the WP9 bi-weekly meetings. The updates allowed to capture and integrate rapidly some minor changes to enhance the usability of the platform which were required by the DEPLOY partners. The following paragraphs will give an overview of the the work that has been performed concerning maintenance on the existing platform components (i.e. core platform and plug-ins).
See the Release Notes[1] and the SourceForge[1] databases (bugs and feature requests) for details about the previous and upcoming releases of the Rodin platform.
- General platform maintenance (Thomas Muller)
The maintenance done to overcome Rodin scalability weaknesses and enhance the proving experience will be detailed in a separate chapter. However, some features initially planned and some other which were later added and prioritized are worth to mention:
- Possibility to highlight patterns in the ProverUI,
- A better output providing warning and errors in case of wrong or missing building configurations,
- The switch to Eclipse 3.7
- A Handbook to complete and enhance the existing documentation.
These items will be detailed hereafter in this chapter.
- TODO An overview of the contribution about Mathematical extensions / Theory Plug-in (Issam Maamria)
- TODO An overview of the contribution about Plug-in Incompatibilities (All partners)
- TODO An overview of the contribution about Modularisation (Alexei Illiasov)
- TODO An overview of the contribution about Decomposition (Renato Silva)
- TODO An overview of the contribution about Team-based Development (Colin Snook, Vitaly Savicks)
- TODO An overview of the contribution about UML-B (Colin Snook, Vitaly Savicks)
- TODO An overview of the contribution about ProR (Michael Jastram)
Motivations
The tasks to solve the issues faced by the DEPLOY partners have been listed and being assigned to groups according to their priority. A high priority means a high need in the outcome of a given task. The group 1 has the highest priority, the group 2 has an intermediate priority, and the group 3 has the lowest priority. The group 4 concerns topics that could not be ressourced during the lifetime of DEPLOY.The prover integrity item although not being directly covered, has been partially addressed thanks to Isabelle and SMT integration. Unfortunately, the originally planned export of full proofs and integrity check is beyond the scope of DEPLOY.
Group 1 (highest priority) | Responsible |
---|---|
Performance - Core (large models, etc.) - GUI (incl. prover UI, edition, etc.) |
SYSTEREL |
Prover Performances - New rewriting rules / inference rules - Automatic tactics (preferences, timeout, etc.) |
SYSTEREL |
ProB Disprover (incl. counter examples to DLF POs) | Düsseldorf |
Stability (crash, corruption, etc.) | SYSTEREL |
Editors | SYSTEREL/Düsseldorf |
Group 2 | Responsible |
---|---|
Prover Performances - SMT provers integration - connection with Isabelle - Mathematical extensions - ProB |
SYSTEREL ETH Zürich Southampton/SYSTEREL Düsseldorf |
Scalability - Decomposition - Modularisation plug-in - Team-based development |
Southampton Newcastle Southampton |
Plug-in incompatibilities | Newcastle |
Model-based testing | Pitesti/Düsseldorf |
ProR | Düsseldorf |
Group 3 | Responsible |
---|---|
Scalability - Generic instantiation - UML-B maintenance |
Southampton ETH Zürich/Southampton |
Code Generation | Southampton |
Group 4 |
---|
Prover Integrity |
Integrity of Code Generation |
Platform maintenance
The platform maintenance, as it can be deduced from the above tables in section Motivations, mainly concerned stability and performance improvement. These topics will be discussed and detailed in a separate chapter about scalability improvements.
However, other prioritary improvements were made on the platform. These improvements or came from DEPLOY partners specific needs, or were corresponding to previously identified needs (listed in D32 - Model Construction tools & Analysis III Deliverable).
Hence we review below the motivations of some noteworthy implemented features:
- A Possibility to highlight patterns in the ProverUI. This feature came from a request of DEPLOY partners[2], often facing the need to find particular patterns such as expressions in long predicates (e.g. long goals). Since Rodin 2.2, and its new ProvingUI interface, a nice feature was added, allowing to search and highlight a string pattern into the whole ProvingUI views and editors. This function as also been enabled on direct selection of text in this UI.
- A better output providing warning and errors in case of wrong or missing building configurations. This issue, often seen as a bug or a plug-in incompatibility, raises when a user imoprts and tries to use a model on a platform with some missing plug-ins needed on build. The user often use to think his models corrupted although Rodin just being not able to build them, and hiding this information to the user. This is why, since Rodin 2.3, an output in such case has been provided taking the form of warnings or errors that any user can review. This is a partial answer to Rodin plug-in incompatibilities issue.
- The switch to Eclipse 3.7. Due to the major improvements made every year in every Eclipse releases and the continuously growing number of contributing projects which are for some of them used as basis for Rodin plug-ins, the Rodin platform follows the evolution and is adapted every year quickly to the latest Eclipse version available. This year, Rodin 2.3 originated the switch from Eclipse 3.6 to Eclipse 3.7.
- A Handbook to complete and enhance the existing documentation.
Mathematical extensions / Theory Plug-in
TODO To be completed by Issam Maamria
Plug-in Incompatibilities
TODO To be completed by all partners
Modularisation
TODO To be completed by Alexei Illiasov
Decomposition
TODO To be completed by Renato Silva
Team-based Development
TODO To be completed by Colin Snook, Vitaly Savicks
UML-B
TODO To be completed by Colin Snook, Vitaly Savicks
ProR
TODO To be completed by Michael Jastram
Choices / Decisions
Platform maintenance
Mathematical extensions / Theory Plug-in
TODO To be completed by Issam Maamria
Plug-in Incompatibilities
TODO To be completed by all partners
Modularisation
TODO To be completed by Alexei Illiasov
Decomposition
TODO To be completed by Renato Silva
Team-based Development
TODO To be completed by Colin Snook, Vitaly Savicks
UML-B
TODO To be completed by Colin Snook, Vitaly Savicks
ProR
TODO To be completed by Michael Jastram
Available Documentation
- Core platform:
- The following pages give useful information about the Rodin platform releases:
- TODO Links for Mathematical extensions / Theory Plug-in
- TODO Links for Plug-in Incompatibilities
- TODO Links for Modularisation
- TODO Links for Decomposition
- TODO Links for Team-based Development
- TODO Links for UML-B
- TODO Links for ProR
Status
Platform maintenance
By the end of the project, there are :
- xx bugs reported and open. All with a priority lower or equal to 5.
- xx feature requests expressed and still open.
Mathematical extensions / Theory Plug-in
TODO To be completed by Issam Maamria
Plug-in Incompatibilities
TODO To be completed by all partners
Modularisation
TODO To be completed by Alexei Illiasov
Decomposition
TODO To be completed by Renato Silva
Team-based Development
TODO To be completed by Colin Snook, Vitaly Savicks
UML-B
TODO To be completed by Colin Snook, Vitaly Savicks
ProR
TODO To be completed by Michael Jastram
References
- ↑ 1.0 1.1 http://wiki.event-b.org/index.php/D32_General_Platform_Maintenance#Available_Documentation Cite error: Invalid
<ref>
tag; name "documentation" defined multiple times with different content - ↑ https://sourceforge.net/tracker/?func=detail&atid=651672&aid=3092835&group_id=108850
- ↑ http://wiki.event-b.org/index.php/Rodin_Platform_Releases
- ↑ https://sourceforge.net/tracker/?group_id=108850&atid=651669
- ↑ https://sourceforge.net/tracker/?group_id=108850&atid=651672