mNo edit summary |
No edit summary |
||
Line 30: | Line 30: | ||
* Closure: The transitive and reflexive closure operator of classical B is not supported as defined in the B-Book by Abrial. AtelierB also does not support the operator as defined in the B-Book (as this version cannot be applied in practice). For the reflexive component of closure, ProB will compute the elements in the domain and range of the relation. | * Closure: The transitive and reflexive closure operator of classical B is not supported as defined in the B-Book by Abrial. AtelierB also does not support the operator as defined in the B-Book (as this version cannot be applied in practice). For the reflexive component of closure, ProB will compute the elements in the domain and range of the relation. | ||
Note however, that the transitive closure operator closure1 is fully supported, and hence one can translate an expression closure(e), where e is a binary relation over some domain d, into the expression closure1(e) \/ id(d). | Note however, that the transitive closure operator <tt>closure1</tt> is fully supported, and hence one can translate an expression <tt>closure(e)</tt>, where e is a binary relation over some domain d, into the expression <tt>closure1(e) \/ id(d</tt>). | ||
* Unsupported Operators: | * Unsupported Operators: | ||
** Trees and binary trees: These constructs are not supported (the <tt>STRING</tt> type is now supported); | |||
** Trees and binary trees: These constructs are not supported (the STRING type is now supported); | ** <tt>VALUES</tt>: This clause of the <tt>IMPLEMENTATION</tt> machines is not yet supported; | ||
** VALUES: This clause of the IMPLEMENTATION machines is not yet supported; | |||
* There are also some general limitations wrt refinements. See [[Current Limitations#Multiple Machines and Refinements]] for more details. | * There are also some general limitations wrt refinements. See [[Current Limitations#Multiple Machines and Refinements]] for more details. |
As of version 1.3, ProB contains a much improved parser which tries be compliant with
Atelier B as much as possible.
There is also a plugin for Atelier B for use withthe standalone Tcl/Tk Version on Atelier B projects.
Note however, that the transitive closure operator closure1 is fully supported, and hence one can translate an expression closure(e), where e is a binary relation over some domain d, into the expression closure1(e) \/ id(d).