Difference between pages "Rodin Platform 3.5 Release Notes" and "Rodin Workshop 2021"

From Event-B
(Difference between pages)
Jump to navigationJump to search
 
 
Line 1: Line 1:
{{TOCright}}
+
==9th Rodin User and Developer Workshop==
  
== Dedication to Ken Robinson ==
+
The 9th Rodin User and Developer Workshop, 8 June, 2021, Ulm, Germany (Virtual)
  
This release of the Rodin Platform is dedicated to the memory of Ken Robinson (University of New South Wales) who passed away the 5th of September 2020. Ken was a vibrant member of the Event-B community and an important user of the Rodin platform: he did not hesitate to complain loudly when the platform was not running as he expected. His regular feedback allowed us to greatly improve Rodin for the great good of the whole community. Ken was also the author of the [https://www3.hhu.de/stups/handbook/rodin/current/html/files/EventB-Summary.pdf Event-B Cheat Sheet] available with the Rodin handbook.
+
''The proceedings of the workshop is now available as a [technical report] at the University of Southampton.''
  
== What's New in Rodin 3.5? ==
+
The programme now available on [https://abz2021.uni-ulm.de/program-overview  the ABZ2021 website] and [[#Programme|below]] (with texts).
  
Rodin 3.5 brings lexicographical variants and several bug fixes. It also upgrades the underlying Eclipse to 2020-06, which can be run by all modern Java Runtimes (Java 8 up to 13).
+
Event-B is a formal method for system-level modelling and analysis. The
 +
Rodin Platform is an Eclipse-based toolset for Event-B that provides
 +
effective support for modelling and automated proof. The platform is open
 +
source and is further extendable with plug-ins. A range of plug-ins have
 +
already been developed.
  
The new lexicographical variant feature means that from now on a machine can contain several variant elements, which are to be understood as a tuple combination (in order of appearance). For instance, if a machine contains the two variants ''V1'' and ''V2'' declared in that order, then a converging event must either decrease ''V1'', or not modify ''V1'' and decrease ''V2''.
+
The 9th Rodin workshop will be collocated with the [https://abz2021.uni-ulm.de/ ABZ 2021 Conference].  
  
Please note that we only provide 64-bit binary versions of the Rodin platform.
+
The purpose of this workshop  is to bring together existing and potential
 +
users and developers of the Rodin toolset and to foster a broader community
 +
of Rodin users and developers.
  
=== Changes for plug-in developers ===
+
For Rodin users the workshop will provide an opportunity to share tool
 +
experiences and to gain an understanding of on-going tool developments.
 +
For plug-in developers the workshop will provide an opportunity to showcase
 +
their tools and to achieve better coordination of tool development effort.
  
Rodin 3.5 is built on top of Eclipse 4.16 (2020-06), which requires Java 8, just as the previous versions.
 
  
There is no API change within Rodin Core.
+
=== Programme ===
  
Following to the introduction of lexicographical variants, a machine can now contain several variant elements. Moreover, variant elements now carry a label attribute. The Rodin tools contain a compatibility layer that allows to read existing machine containing a single unlabelled variant and present it with the new API (using the hardcoded label <code>vrn</code> available from the <code>org.eventb.core.IVariant.DEFAULT_LABEL</code> constant).
+
'''09:00 - 10:30'''
 +
* Domain knowledge as Ontology-based Event-B Theories - ''I. Mendil, Y. Aït-Ameur, N. K. Singh, D. Méry, and P. Palanque'' ([[Media:RodinWorkshop2021_Domain knowledge as Ontology-based Event-B Theories.pdf|pdf]], [[Media:RodinWorkshop2021_Domain knowledge as Ontology-based Event-B Theories_slides.pdf|slides]])
 +
* OntoEventB: A Generator of Event-B contexts from Ontologies - ''Idir Ait-Sadoune'' ([[Media:RodinWorkshop2021_OntoEventB.pdf|pdf]], [[Media:RodinWorkshop2021_OntoEventB_slides.pdf|slides]])
 +
* EVBT — an Event-B tool for code generation and documentation - ''Fredrik Öhrström'' ([[Media:RodinWorkshop2021_EVBT.pdf|pdf]], [[Media:RodinWorkshop2021_EVBT_slides.pdf|slides]])
 +
* Scenario Checker: An Event-B tool for validating abstract models - ''Colin Snook, Thai Son Hoang, Asieh Salehi Fathabadi, Dana Dghaym, Michael Butler'' ([[Media:RodinWorkshop2021_Scenario Checker.pdf|pdf]], [[Media:RodinWorkshop2021_Scenario Checker_slides.pdf|slides]])
  
== Installing ==
+
'''10:30 - 11:00''' ''Break''
  
=== Downloading ===
+
'''11:00--12:30'''
 +
* Context instantiation plug-in: a new approach to genericity in Rodin - ''Guillaume Verdier, Laurent Voisin'' ([[Media:RodinWorkshop2021_Context instantiation plug-in.pdf|pdf]], [[Media:RodinWorkshop2021_Context instantiation plug-in_slides.pdf|slides]])
 +
* Examples of using the Instantiation Plug-in - ''Dominique Cansell, Jean-Raymond Abrial'' ([[Media:RodinWorkshop2021_Examples of using the Instantiation Plug-in.pdf|pdf]], [[MEDIA:RodinWorkshop2021_Examples of using the Instantiation Plug-in_slides.jpg|slides]])
 +
* Data-types definitions: Use of Theory and Context instantiations Plugins - ''Peter Riviere, Yamine Ait-Ameur, and Neeraj Kumar Singh'' ([[Media:RodinWorkshop2021_Data-types_definitions.pdf|pdf]], [[Media:RodinWorkshop2021_Data-types_definitions_slides.pdf|slides]])
 +
* Towards CamilleX 3.0 - ''Thai Son Hoang, Colin Snook, Asieh Salehi Fathabadi, Dana Dghaym, Michael Butler'' ([[Media:RodinWorkshop2021_Towards CamilleX 3.0.pdf|pdf]], [[Media:RodinWorkshop2021_Towards CamilleX 3.0_slides.pdf|slides]])
  
[http://sourceforge.net/projects/rodin-b-sharp/files/Core_Rodin_Platform/3.5/ Download Rodin 3.5 now !]
+
'''12:30--13:30''' ''Lunch''
  
=== Upgrading from a previous version of Rodin 3.x ===
+
'''13:30--15:00'''
 +
* Keynote: Safety and Security Case Study Experiences with Event-B and Rodin - ''Jonathan Hammond, Capgemini Engineering'' ([[Media:RodinWorkshop2021_Safety and Security Case Study Experiences with Event-B and Rodin.pdf|slides]])
 +
* Large Scale Biological Models in Rodin - ''Usman Sanwal, Thai Son Hoang, Luigia Petre, and Ion Petre'' ([[Media:RodinWorkshop2021_Large Scale Biological Models in Rodin.pdf|pdf]], [[Media:RodinWorkshop2021_Large Scale Biological Models in Rodin_slides.pptx|slides]])
 +
* Formal Verification of EULYNX Models Using Event-B and RODIN - ''Abdul Rasheeq, Shubhangi Salunkhe'' ([[Media:RodinWorkshop2021_Formal Verification of EULYNX Models Using Event-B and RODIN.pdf|pdf]], [[MEDIA:RodinWorkshop2021_Formal Verification of EULYNX Models Using Event-B and RODIN_slides|slides]])
  
If you run Rodin 3.1, 3.2, 3.3, or 3.4, then you can upgrade your Rodin Platform by clicking Help > Check for Updates, then select Rodin 3.5 in the popup window and accept the licence terms. Note that the upgrading process can take quite a long time.
+
=== Organisers ===
 
+
<p>Chair: Asieh Salehi Fathabadi, University of Southampton, UK</p>
Take care that Rodin 3.5 brings a new version of Eclipse.  This means that once you have opened a workspace with Rodin 3.5, you will not be able to open it with a prior version of Rodin anymore.  Please consider copying your workspace for Rodin 3.5 to avoid any disaster.
+
<p>Co-chair: Thai Son Hoang, University of Southampton, UK</p>
 
+
<p>Co-chair: Colin Snook, University of Southampton, UK</p>
If you run Rodin 3.0 or prior, you cannot upgrade to 3.5. You need to download the platform from SourceForge and reinstall your external plugins.
+
<p>Co-chair: Yamine Ait Ameur, Toulouse National Polytechnique Institute, France</p>
 
 
== Requirements - Compatibility ==
 
 
 
=== Supported operating systems ===
 
 
 
Rodin will work on the following operating systems
 
* macOS 64-bit
 
* Linux 64-bit
 
* Windows 64-bit
 
 
 
=== Java Runtime requirement ===
 
 
 
You need to have a 64-bit Java JRE (version 8 or later) installed on your computer. The Rodin application will not work with a previous version or with a 32-bit JRE.
 
 
 
=== macOS specific requirements ===
 
 
 
The Rodin application is not notarized.  This means that when you download it from SourceForge, macOS will quarantine the application and tell you that it is broken.  Just run the command <code>xattr -rc Rodin.app</code> in a Terminal to remove the quarantine tag.
 
 
 
=== Linux specific requirements ===
 
 
 
Package <code>libc6-amd64:i386</code> must be installed, in particular in order to run external prover binaries depending on the distribution, you could instead need these packages: <code>lib32z1</code>, <code>lib32ncurses5</code>, <code>lib32bz2-1.0</code>.
 
 
 
=== Windows specific requirements ===
 
Atelier B provers may work more slowly; it can cause ML to not automatically discharge some sequents that it discharges on windows 32-bit, due to its timeout. A workaround is to download a custom profile: [http://sourceforge.net/projects/rodin-b-sharp/files/DefaultAuto_ML800 DefaultAuto_ML800], then Window > Preferences > Event-B > Sequent Prover > Auto/Post Tactic > Profiles (tab) > Import..., point to the downloaded file, 'Select All' profiles (there are 2), OK. Then in 'Auto/Post Tactic' tab, select 'Default Auto Tactic Profile (ML 800)' profile for auto-tactics. It is the same as the 'Default Auto Tactic Profile', except ML has a longer timeout (800 ms). You can of course change this timeout by editing the 'ML (800)' profile.
 
 
 
We have not noticed this problem for Linux 64-bit, nor for other platforms; however if you do, the same workaround applies.
 
 
 
=== Math fonts ===
 
 
 
To enhance your proving experience, the eclipse font settings (size, aspect...) are available from the preferences (General > Appearance > Colors and Fonts > Rodin). These settings allow you to modify the properties set on the Event-B Keyboard Text Font which is used in many views of the Proving UI. However, to enjoy these functionalities, you need to install the Brave Sans Mono font on your system. You can download this font from the link [http://sourceforge.net/projects/rodin-b-sharp/files/Font_%20Brave%20Sans%20Mono/0.12/ here].
 
 
 
== External plug-ins ==
 
{{:Rodin_Platform_3.5.0_External_Plug-ins}}
 
 
 
== Fixed Bugs and Implemented Features ==
 
 
 
Bugs
 
783 Launching problem with Java 13
 
782 Launching error with Java 11
 
781 Problem with the Rodin proof generator
 
780 Useless local hypotheses in NAT PO
 
779 No information when failing to launch external provers
 
777 Missing refresh in Rodin Editor for event convergence status
 
776 Rodin Handbook URL broken
 
774 Java SE 6 required to run Rodin V3.4 on macOS High Sierra ?
 
775 Editors misinterpret 'generated = false'
 
773 Update VM arguments for Java 9
 
772 crash of Rodin V3.4 when opening workspace
 
771 Proof view: unreadable formulas (white on white)
 
770 AtelierB plug-in 2.2.0 broken
 
769 Statistics columns have non uniform widths
 
765 Generalized Modus Ponens turns goal into "false"
 
756 Null reasoner input
 
754 Dropins folder is available again by default
 
753 Section color preferences are not taken into account
 
741 Tactic Profile Editing very slow performance
 
698 Using 'Open With' context menu on PO does not load the PO
 
618 Proposed name in refine action
 
 
 
Feature Requests
 
355 Simplify POs for anticipated event further
 
314 Lexicographic variant
 
 
 
== Known Issues ==
 
See [http://sourceforge.net/p/rodin-b-sharp/bugs known bugs on SourceForge].
 
 
 
=== Rodin is not notarized ===
 
 
 
Apple asks that all applications are notarized before they can be run since macOS Mojave. Unfortunately, we did not have time to put this in place for Rodin 3.5.  We expect this to be solved for Rodin 3.6. See [[#macOS_specific_requirements|macOS requirements]] for a workaround.
 
 
 
=== macOS in dark mode ===
 
 
 
See [http://sourceforge.net/p/rodin-b-sharp/bugs/785 Bug 785].
 
 
 
== Thanks ==
 
 
 
A big thank you to
 
* Yamine Ait-Ameur (IRIT) who lead the Event-B-Rodin-Plus initiative for resuming work on the Theory plug-in and the Rodin Platform.
 
* Thai Son Hoang (University of Southampton) who made the port to Eclipse 2020-06.
 
* Colin Snook (University of Southampton) and Michael Leuschel (University of Dusseldorf) for making sure that their plug-ins work with Rodin 3.5 and useful feedback.
 
* Marc Pantel (IRIT) for bringing the macOS workaround.
 
* Ilya Shchepetkov (Ivannikov Institute for System Programming) and Fredrik Öhrström for their useful feedback on the release candidate.
 
* All users and contributors that I have forgotten to remember.
 
 
 
== Disclaimer ==
 
 
 
Since Rodin is continuously maintained, several unsoundness bugs which have been encountered were investigated and fixed. However, despite the total commitment of our teams to ensure the soundness of the platform, some unexpected and unknown soundness issues could remain. We would be grateful if you would report these issues to the [mailto:rodin-b-sharp-devel@lists.sourceforge.net development mailing list].
 
 
 
== About ==
 
 
 
Rodin Platform with git commit: <code>bb0b4ee2e</code><br/>
 
User Release date : 2020/09/11.
 
 
 
[[Category:Rodin Platform Release Notes]]
 

Revision as of 14:59, 14 June 2021

9th Rodin User and Developer Workshop

The 9th Rodin User and Developer Workshop, 8 June, 2021, Ulm, Germany (Virtual)

The proceedings of the workshop is now available as a [technical report] at the University of Southampton.

The programme now available on the ABZ2021 website and below (with texts).

Event-B is a formal method for system-level modelling and analysis. The Rodin Platform is an Eclipse-based toolset for Event-B that provides effective support for modelling and automated proof. The platform is open source and is further extendable with plug-ins. A range of plug-ins have already been developed.

The 9th Rodin workshop will be collocated with the ABZ 2021 Conference.

The purpose of this workshop is to bring together existing and potential users and developers of the Rodin toolset and to foster a broader community of Rodin users and developers.

For Rodin users the workshop will provide an opportunity to share tool experiences and to gain an understanding of on-going tool developments. For plug-in developers the workshop will provide an opportunity to showcase their tools and to achieve better coordination of tool development effort.


Programme

09:00 - 10:30

  • Domain knowledge as Ontology-based Event-B Theories - I. Mendil, Y. Aït-Ameur, N. K. Singh, D. Méry, and P. Palanque (pdf, slides)
  • OntoEventB: A Generator of Event-B contexts from Ontologies - Idir Ait-Sadoune (pdf, slides)
  • EVBT — an Event-B tool for code generation and documentation - Fredrik Öhrström (pdf, slides)
  • Scenario Checker: An Event-B tool for validating abstract models - Colin Snook, Thai Son Hoang, Asieh Salehi Fathabadi, Dana Dghaym, Michael Butler (pdf, slides)

10:30 - 11:00 Break

11:00--12:30

  • Context instantiation plug-in: a new approach to genericity in Rodin - Guillaume Verdier, Laurent Voisin (pdf, slides)
  • Examples of using the Instantiation Plug-in - Dominique Cansell, Jean-Raymond Abrial (pdf, slides)
  • Data-types definitions: Use of Theory and Context instantiations Plugins - Peter Riviere, Yamine Ait-Ameur, and Neeraj Kumar Singh (pdf, slides)
  • Towards CamilleX 3.0 - Thai Son Hoang, Colin Snook, Asieh Salehi Fathabadi, Dana Dghaym, Michael Butler (pdf, slides)

12:30--13:30 Lunch

13:30--15:00

  • Keynote: Safety and Security Case Study Experiences with Event-B and Rodin - Jonathan Hammond, Capgemini Engineering (slides)
  • Large Scale Biological Models in Rodin - Usman Sanwal, Thai Son Hoang, Luigia Petre, and Ion Petre (pdf, slides)
  • Formal Verification of EULYNX Models Using Event-B and RODIN - Abdul Rasheeq, Shubhangi Salunkhe (pdf, slides)

Organisers

Chair: Asieh Salehi Fathabadi, University of Southampton, UK

Co-chair: Thai Son Hoang, University of Southampton, UK

Co-chair: Colin Snook, University of Southampton, UK

Co-chair: Yamine Ait Ameur, Toulouse National Polytechnique Institute, France