Difference between pages "Atomicity Decomposition Plug-in User Guide" and "Rodin Platform 2.1 Release Notes"

From Event-B
(Difference between pages)
Jump to navigationJump to search
imported>Asiehsalehi
 
imported>Tommy
 
Line 1: Line 1:
== Introduction ==
+
{{TOCright}}
The Atomicity Decomposition (AD) plug-in allows an explicit representation of control flow and explicit representation of refinement relationships between an abstract event and the corresponding concrete events.
 
  
See the [http://wiki.event-b.org/index.php/Atomicity_Decomposition Atomicity Decomposition] page for technical details.
+
== What's New in Rodin 2.1? ==
 +
* General Interface
 +
**Improved general platform performance.
 +
**Preferences for the automatic tactics changed.
 +
:::It is now possible to define profiles (e.g. ordered lists) of tactics to be used in post or automatic tactics at both workspace and/or project level. A mechanism is also provided in order to export and share these profiles.
 +
:::See [[Preferences_for_the_automatic_tactics | Preferences for the automatic tactics]]
  
Currently the AD diagrams can be defined in an EMF tree structure included in an Event-B machine which is opened by Rose editor. After defining the control flow and refinement relationships via AD diagrams, the AD diagrams can automatically transformed to the Event-B notation.
+
* Modelling
  
== Installing and Requirements ==
+
* Proving
 +
:'''New automatic rewriting rules'''. Over 150 automatic rewriting rules have been added, making it easier to discharge proof obligations.
 +
:See: [[All_Rewrite_Rules]]
  
=== Setup ===
+
== Requirements ==
The following steps will guide you through the setup process:
+
{{TODO | COPY REQUIREMENTS FROM PREVIOUS PAGES / VERIFY}}<br>
# Start Rodin.
+
{{TODO | Inform here of some specific system requirements (version of Java, etc).}}
# In the menu choose ''Help'' -> ''Install New Software...''.
 
# In the ''Work with'' dropdown list, choose the location URL: Rodin - [http://rodin-b-sharp.sourceforge.net/updates http://rodin-b-sharp.sourceforge.net/updates].
 
# Select the ''Atomicity Decomposition'' feature under the ''Atomicity Decomposition'' category, then click the check box.
 
# Click ''Next'', after some time, the ''Install Details'' page appears.
 
# Click ''Next'' and accept the license.
 
# Click ''Finish''.
 
# A ''Security Warning'' window may appear: click ''OK''.
 
# Restart Rodin as suggested.
 
  
=== Requirements ===
+
== External plug-ins ==
The AD plug-in requires [http://wiki.event-b.org/index.php/Rose_(Structured)_Editor Rose Editor Plug-in] and [http://wiki.event-b.org/index.php/EMF_framework_for_Event-B EMF Plug-in].
+
{{:Rodin_Platform_2.1_External_Plug-ins}}
  
== Creating Flow Diagrams ==
+
== Downloading ==
 +
{{TODO | Add here a link to download the platform.}}
  
First you need to open the machine in the Rose editor by right-clicking on the machine.  
+
== Fixed Bugs ==
 +
{{TODO | Add here a list of the fixed bugs.}}
  
[[Image:machine_rose.jpg]]
+
== Known Issues ==
 +
{{TODO | COPY KNOWN ISSUES FROM PREVIOUS PAGES / VERIFY}}<br>
 +
{{TODO | Add here a link to the SourceForge Bugs page, after filtering bugs (Assignee Any, Status Open, Category Any, Group 1.2).}}
  
Then a flow can be created:
+
== About ==
{|
+
Rodin Platform up to rxxxx <br>
|-
+
Developer Release date : dd/mm/yyyy.<br>
|1. Either for an Event-B machine, when right-clicking on the machine.
+
User Release date : 28/01/2011.<br>
|2. Or for a pre-defined leaf, when right-clicking on the leaf.
 
|-
 
| valign="top" | [[Image:flow_machine.jpg|center]]
 
| valign="top" | [[Image:flow_leaf.jpg|center]]
 
|}
 
  
The following steps will guide you through a combined atomicity decomposition diagram:
+
[[Category:Rodin Platform Release Notes]]
* Create a flow for the most abstract machine.
 
* When refining a machine, the pre-defined flows are copied to the new (refining) machine.
 
* In the new machine, you can create a new flow for each pre-defined leaf.
 
 
 
== Elements and Properties ==
 
 
 
For each flow, you can define one or more of the below elements, when right-clicking on the flow:
 
* typed parameter
 
* leaf
 
* ''loop'' constructor including one leaf (right-click on the ''loop'')
 
* ''and'' constructor including two or more leaves (right-click on the ''and'')
 
* ''or'' constructor including two or more leaves (right-click on the ''or'')
 
* ''xor'' constructor including two or more leaves (right-click on the ''xor'')
 
* ''all'' constructor including one leaf and one parameter (right-click on the ''all'')
 
* ''some'' constructor including one leaf and one parameter (right-click on the ''some'')
 
* ''one'' constructor including one leaf and one parameter (right-click on the ''one'')
 
 
 
[[Image:flow_children.jpg]]
 
 
 
=== Flow Properties ===
 
* Name: a string containing the name of the root event.
 
* Sw: a boolean indicates strong (''true'') / weak (''false'') sequencing.
 
 
 
=== Leaf Properties ===
 
* Name: a string containing the name of the event.
 
* Ref: a boolean indicates refining (''true'') / non-refining (''false'') event.
 
 
 
[[Image:leaf_properties.jpg]]
 
 
 
=== Constructor Properties ===
 
* Ref: a boolean indicates refining (''true'') / non-refining (''false'') constructor (''loop'', ''and'' / ''or'' / ''xor'' / ''all'' / ''some'' / ''one'').
 
NOTE: The refining property for (''loop'' / ''and'' / ''or'' / ''all'' / ''some'') constructors has to be ''false''.
 
 
 
=== Parameter Properties ===
 
* Name: a string containing the name of the parameter.
 
* Type: a string containing the type of the parameter.
 
NOTE: the parameter type has to be defined in the context.
 
 
 
== Transforming to Event-B ==
 
 
 
For each machine, after completing the flow construction process, you can perform the translation rules to transform the defined AD flow to the Event-B notation (For technical details see [http://wiki.event-b.org/index.php/Atomicity_Decomposition Atomicity Decomposition] page). This is done by right-clicking on the machine and launch ''Atomicity Decomposition Transformation -> Transform to Event-B''.
 
 
 
As a result, some read-only event-B elements are generated in order to manage the defined control flow and refinement relationships. User defined event-B elements are allowed; but you can not alter the generated read-only elements.
 
 
 
== Validation Rules to Follow ==
 
 
 
In order to perform the translation rules correctly, you will need to follow these rules:
 
(For more information about technical reasons see [http://wiki.event-b.org/index.php/Atomicity_Decomposition Atomicity Decomposition] page)
 
 
 
* Rules on the flow:
 
** Never change the ''copy'' property of a flow. This is an internal property use to make the internal programming decision.
 
** A most abstract flow is a flow with (''sw'' = ''true'') and its children are all non-refining (''ref'' = ''false'').
 
** For each non-abstract flow, EXACTLY one refining child (''ref'' = ''true'') has to be defined.
 
** Each flow inherits its parameter from its parent flow and parent (''all'' / ''some'' / ''one'') constructor (if exists). This has to be done manually. For each new defined flow, copy and paste all necessary parameters from pre-defined parent flow / constructor.
 
** For technical reasons, a ''loop'' constructor never can placed as the first or last child of a flow.
 
 
 
*Rules on the parameter:
 
** The parameter type has to be defined in the context.
 
** The parameter name has to be unique.
 
 
 
* Rules on the constructors:
 
** The refining property for (''loop'' / ''and'' / ''or'' / ''all'' / ''some'') constructors has to be ''false''.
 
** A constructor leaf inherits its refining property from its parent constructor. For example, for a refining ''xor'' (''ref'' = ''true''), all of its leaves' refining property has to be ''true''. Therefore the (''loop'' / ''and'' / ''or'' / ''all'' / ''some'') children refining property is always ''false''.
 

Revision as of 14:03, 10 January 2011

What's New in Rodin 2.1?

  • General Interface
    • Improved general platform performance.
    • Preferences for the automatic tactics changed.
It is now possible to define profiles (e.g. ordered lists) of tactics to be used in post or automatic tactics at both workspace and/or project level. A mechanism is also provided in order to export and share these profiles.
See Preferences for the automatic tactics
  • Modelling
  • Proving
New automatic rewriting rules. Over 150 automatic rewriting rules have been added, making it easier to discharge proof obligations.
See: All_Rewrite_Rules

Requirements

TODO: COPY REQUIREMENTS FROM PREVIOUS PAGES / VERIFY
TODO: Inform here of some specific system requirements (version of Java, etc).

External plug-ins

Rodin Update Site

Plug-in name Version Status MCV* Release Date Contact Additional info
Umlb32.gif UML-B 2.2.0 available 9th Feb. 2011 email
UML-B Statemachine Animation 1.1.0 available 15th Feb. 2011 email Compatible with UML-B 2.2 and ProB 2.1.
Event-B EMF framework 3.2.1 available Users should not need to install this framework. It will be installed automatically by other plug-ins as required.
Export to Isabelle available 2.x.x email
Rose.gif Rose 1.1.0 available email
Records 1.0.1 available email This release includes EMF and Refactory support for records.
Teamwork not available
Shared Event Composition 1.3.1 available 9th Mar. 2011 email
Refactory 1.1.0 available 11th Feb. 2011 email
DecompositionPlug-in logo.png Decomposition 1.2.0 available 11th Feb. 2011 email
Project diagram icon s.png Project Diagram 1.0.0 available email
Relevance Filter 1.0.0 available 2.x.x email
Theory Plug-in v0.6 available 4th Jan. 2011 email
Code Generation Feature 0.1.5 available 17th May 2011 email

B Method Update Site

Plug-in name Version Status MCV* Release Date Contact Additional info
Atelier-B provers 1.2.2 available 17th Feb. 2011

Other Updates Sites

Plug-in name Version Status MCV* Release Date Contact Additional info
AnimB.png AnimB not available Christophe Métayer Use the update site http://www.animb.org/updatesite
Camille available Use the Camille update site. http://www.stups.uni-duesseldorf.de/camille_updates
Mlogo big.png Modularisation available 2.x.x email Use the update site http://www.iliasov.org/modplugin
Group refinement available 2.x.x email Use the update site http://iliasov.org/refplugin
Flows/Use case extension available 2.x.x email Use the update site http://iliasov.org/usecase
Prob eventb wiki logo.png ProB available 8th Feb. 2011 Use the ProB update site. http://www.stups.uni-duesseldorf.de/prob_updates
The Plug-in includes BMotion Studio
ProR logo.png ProR available 20th Jan. 2012 Michael Jastram ProR support working with requirements. For traceability to Event-B, the Rodin Integration is required.
Update site: http://update.pror.org
Project web site: http://eclipse.org/rmf
ProR logo.png Rodin Integration for ProR not available 28th Feb. 2012 Michael Jastram We are currently working on a revised ProR-Rodin-Integration.

*MCV stands for the Rodin's Maximum Compatible Version

Known plug-in incompatibilities

It unfortunately exists some incompatibilities between plug-ins. This list might be non exhaustive and is updated accorded to user experiences. If you encounter some conflict while installing or using plug-ins, please send a mail to the Rodin User List or feel free to complete the following table.

Plug-in name Incompatible with

Downloading

TODO: Add here a link to download the platform.

Fixed Bugs

TODO: Add here a list of the fixed bugs.

Known Issues

TODO: COPY KNOWN ISSUES FROM PREVIOUS PAGES / VERIFY
TODO: Add here a link to the SourceForge Bugs page, after filtering bugs (Assignee Any, Status Open, Category Any, Group 1.2).

About

Rodin Platform up to rxxxx
Developer Release date : dd/mm/yyyy.
User Release date : 28/01/2011.