Difference between pages "D45 General Platform Maintenance" and "Event-B Qualitative Probability User Guide"

From Event-B
(Difference between pages)
Jump to navigationJump to search
imported>Tommy
m
 
imported>Son
m
 
Line 1: Line 1:
= Overview =
+
[[User:Son]] at '''ETH Zurich''' is in charge of the plug-in.
The Rodin platform versions concerned by this deliverable are:
+
{{TOCright}}
* 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 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<ref name="documentation">http://wiki.event-b.org/index.php/D32_General_Platform_Maintenance#Available_Documentation</ref> and the SourceForge<ref name=documentation>http://wiki.event-b.org/index.php/D45_General_Platform_Maintenance#Available_Documentation</ref> databases (bugs and feature requests) for details about the previous and upcoming releases of the Rodin platform.
+
== Introduction ==
 +
Event-B Qualitative Probability plug-in provides supports for reasoning about termination with probability 1 (almost-certain termination).
  
* Core platform maintenance (Thomas Muller)
 
According to the previously mentionned refocus, the maintenance tasks performed on the core plateform basically aimed to overcome Rodin scalability weaknesses, and the continuous need of seamless proving experience. The performance was enhanced by core implementation and user interface refactorings. The proving usability was enhanced by the possibility to customize, combine, and parameterize tactics and the addition of new inference and rewriting rules. This will however be details in the chapter relating the prover improvements.
 
  
* {{TODO}} An overview of the contribution about Mathematical extensions / Theory Plug-in (Issam Maamria)
+
== Installing and Updating ==
 +
The plug-in is available through the main Rodin Update Site under '''Modelling Extension''' category.
  
* {{TODO}} An overview of the contribution about Plug-in Incompatibilities (All partners)
+
== News ==
 +
* 23.11.2011: Version 0.2.1 released for Rodin 2.3.*
  
* {{TODO}} An overview of the contribution about Modularisation (Alexei Illiasov)
+
== Technical References ==
  
* {{TODO}} An overview of the contribution about Decomposition (Renato Silva)
+
== Usage ==
 
 
* {{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.
 
 
 
{{SimpleHeader}}
 
|-
 
! scope=col | Group 1 (highest priority) || Responsible
 
|-
 
|Performance <br /> - Core (large models, etc.) <br /> - GUI (incl. prover UI, edition, etc.) || SYSTEREL
 
|-
 
|Prover Performances <br /> - New rewriting rules / inference rules <br /> - 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
 
|-
 
|}
 
{{SimpleHeader}}
 
|-
 
! scope=col | Group 2 || Responsible
 
|-
 
| Prover Performances <br /> - SMT provers integration <br /> - connection with Isabelle  <br /> - Mathematical extensions <br /> - ProB || <br />SYSTEREL <br /> ETH Zurich <br /> Southampton/SYSTEREL <br /> Düsseldorf
 
|-
 
|Scalability <br /> - Decomposition <br /> - Modularisation plug-in <br /> - Team-based development || <br /> Southampton <br /> Newcastle <br /> Southampton
 
|-
 
|Plug-in incompatibilities || Newcastle
 
|-
 
|Model-based testing || Pitesti/Düsseldorf
 
|-
 
|ProR || Düsseldorf
 
|}
 
{{SimpleHeader}}
 
|-
 
! scope=col | Group 3 || Responsible
 
|-
 
|Scalability <br /> - Generic instantiation <br /> - UML-B maintenance <br /> || <br /> Southampton <br /> ETH Zurich/Southampton
 
|-
 
|Code Generation || Southampton
 
|}
 
{{SimpleHeader}}
 
|-
 
! scope=col | 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 | Motivations]], concerned stability and performance improvement. The prover performance improvement, and the addition of a textual structured editor will be discussed and detailed in separate chapters.<br>
 
The various DEPLOY partners encountered several major issues while editing large models. Some were related to the core code of the Rodin platform, causing crashes, loss of data, corruption in models. Some other were related to the UI causing platform hanging, and sometimes leading to its freezing which required sometimes to kill the Rodin process, thus also leading to potential loss of data and corruption in models. Hence, it appeared necessary to solve such issues before the end of DEPLOY.
 
 
 
== 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 ==
 
SYSTEREL lead a two phase investigation to have a better idea of the work to be done to improve the performance. Each phase being followed by some refactoring of the code. Out of the early investigation, a cause and effect relationship has been found between perfomance loss and the various reported bugs, such as "platform hanging" bugs or even "no more handle" bugs related to the high consumption of graphical elements on Windows platforms. Indeed, it appeared that solving the performance issues sometimes solved induced bugs as well.<br>
 
Later, a deeper investigation was performed, to indentify and tackle the remaining performance issues. Profiling and code review were the two techniques used. The profiling strategy allowed to get a better localisation of the performance loss in both UI and core code while the code review helped to understand the intrinsic misuses or drawbacks of particular components and/or architectures.
 
== 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:
 
:* Release notes<ref>http://wiki.event-b.org/index.php/Rodin_Platform_Releases</ref>.
 
:* Bugs<ref>https://sourceforge.net/tracker/?group_id=108850&atid=651669</ref>.
 
:* Feature requests<ref>https://sourceforge.net/tracker/?group_id=108850&atid=651672</ref>.
 
 
 
*{{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 =
 
<references/>
 
 
 
[[Category:D45 Deliverable]]
 

Revision as of 11:14, 23 November 2011

User:Son at ETH Zurich is in charge of the plug-in.

Introduction

Event-B Qualitative Probability plug-in provides supports for reasoning about termination with probability 1 (almost-certain termination).


Installing and Updating

The plug-in is available through the main Rodin Update Site under Modelling Extension category.

News

  • 23.11.2011: Version 0.2.1 released for Rodin 2.3.*

Technical References

Usage