In 2023, the Professional version will be updated twice, through a corrective version in Q1 2023 and an evolutionary version in Q3 2023 with the display of counter-examples in the proof interface. In 2024, the T2 EN50128 and IEC 61508 certified Professional version will be made available, as well as the Community version integrating a RUST code generator.
List of corrections for the Professional version Q1 2023:
- More powerful automatic checking of proof rules Packing of pup file to a project resource
- Launching bbatch on a given workspace is made easier
- Archiving in Windows fixed Arguments to the `bb` (loop) command in an interactive proof are now saved in the correct order.
- Improved type inference in the B compiler
- Fixed the Linux installer to avoid failures in newer distributions
- Fixed constant values in the pptranssmt translator
- The size of the horizontal scroll bar in the proof tree is now correct.
- XML output from bbatch for the `gs` interactive prover command is now well balanced
- The GUI does not crash when receiving corrupted XML data from bbatch as part of internal interactions; instead, it produces diagnostic information.
- Improved assumption selection in the `pptranssmt` translator.
- `Force(Fast)` is now handled for projects in NG mode (i.e, in `pos` format)
- The `iterate` operator is now correctly rendered from the proof obligation view in the component editor.
- Correction in rules created by the SMT hammer in the interactive proof.
- Improved support for operation calls and inlined imports in NGOP
- Fixed an encoding issue in the proof mechanism writer `ppTransSmt`
- Added support for various B operators in the proof mechanism writer `ppTransSmt`
- Checking for B0 conditions in the type check phase is disabled for system projects.
- Documentation for Event-B support has been updated with closure implementations (syntax and proof obligations).
- Error messages displayed in the component editor can be copied to the clipboard.
- The dialog for saving interactive proofs in the `User_Pass` theory now includes checkboxes for saving to the PMM component file, the PUP component file, or the PatchProver project file.
- Added setting to display the host name in the main window title
- Added custom proof obligation generator for optional Event-B proof obligations
- The user can now undo the closure of the interactive prover (if interactive proof commands have been issued).
List of corrections for the Professional version Q3 2023:
- Display of counterexamples in the modelling and proof interface. When using the formal B method, design errors correspond to invalid proof obligations. Atelier B automatic provers are not able to identify whether a proof failure is due to a logical error, whereas SMT solvers are able to prove a first-order logic formula but also to refute it and produce a counterexample. These counterexamples can give the user valuable insights into design errors. SMT solvers have been integrated into the most recent version of Atelier B, but only to use their proof capabilities.
L’utilisation du nouvel outil bxml, avec la version 4.2 Free de l’Atelier B, est empêchée par l’absence de la déclaration de ressources dans le fichier AtelierB. Les symptômes sont l’apparition de messages d’erreur de la forme « Bxml error for … ».
Pour corriger manuellement le problème, il convient d’ajouter les lignes suivantes:
ATB*ATB*Proof_Obligations_Generator_NG_Command: pog ATB*ATB*Bxml_Command: bxml
au fichier AtelierB.
Une version 4.2.1 corrigeant ce problème est en préparation et devrait être disponible au téléchargement la semaine prochaine.