ProB2-UI: Difference between revisions

No edit summary
(→‎Download: Release history is now in the Git repo)
 
(30 intermediate revisions by 3 users not shown)
Line 1: Line 1:
* Version 1.0.0 and 1.0.1-SNAPSHOT of this new UI is available at [https://www3.hhu.de/stups/downloads/prob2/ https://www3.hhu.de/stups/downloads/prob2/] or [https://github.com/hhu-stups/prob2_ui https://github.com/hhu-stups/prob2_ui].
'''ProB2-UI''' is the new Java-based user interface for ProB. __NOTOC__
* The sources are available at [https://gitlab.cs.uni-duesseldorf.de/stups/prob/prob2_ui https://gitlab.cs.uni-duesseldorf.de/stups/prob/prob2_ui]. You can also start the application from source using the Gradle run task (./gradlew run on Linux/macOS/etc., gradlew.bat run on Windows).
 
== Download ==
 
'''[[Download#ProB2-UI|Download the latest version of ProB2-UI here]]'''. See also the [https://github.com/hhu-stups/prob2_ui/blob/develop/doc/prob2ui_release_history.md release history].
 
The source code for ProB2-UI is available at https://github.com/hhu-stups/prob2_ui and can be built by following [https://github.com/hhu-stups/prob2_ui#running-from-source these instructions].
 
== Features ==


Compared to the original UI based on Tcl/Tk, this new UI has some unique new features:
Compared to the original UI based on Tcl/Tk, this new UI has some unique new features:
* Projects which store formal models and ProB preferences
* Projects which store formal models, ProB preferences, and verification settings
* Load Rodin models from Rodin workspaces (without having to export them within Rodin)
* Managing and storing multiple trace files for a model, being able to replay all traces
* Managing and storing multiple trace files for a model, being able to replay all traces
* MC/DC test-case generation
* MC/DC test-case generation
* An integrated view for all dot-based graph visualisations (state space, machine hierarchy, formulas, projection diagrams, ...)
* An integrated view to access all table based statistics (MC/DC coverage,...)
* Visualization based on SVG graphics
* A view for managing LTL formulas for a model
* A view for managing LTL formulas for a model
* Visualisation of models using [[VisB]] and SVG graphics
* An integrated view for all dot-based graph visualisations (state space, machine hierarchy, formulas, projection diagrams, enabling graphs, event refinement hierarchy, ....)
* An integrated view to access all table based statistics (event coverage, MC/DC coverage, read-write matrices, WD POs, ...)
* A multi-language interface, currently providing English, French, German and Russian
We have developed a small
[https://mediathek.hhu.de/watch/1c7946da-3042-423f-a1c3-06833f348ec2 video highlighting the core features] (also on [https://youtu.be/HqTlr6y-hwk YouTube]) on a model the from [https://gitlab.cs.uni-duesseldorf.de/general/stups/visb-visualisation-examples visb-visualisation-examples]:
<html>
<iframe width='570' height='321' style='width: 570px; height: 321px; border: 1px solid #ccc;' src='https://mediathek.hhu.de/embed/1c7946da-3042-423f-a1c3-06833f348ec2' frameborder='0' allowfullscreen></iframe>
</html>
== Paper/Citing ==
Paper: [https://link.springer.com/chapter/10.1007/978-3-030-85248-1_12 Springer Link], [https://www.researchgate.net/publication/353989368_ProB2-UI_A_Java-Based_User_Interface_for_ProB ResearchGate]
BibTeX citation:
<pre>
@InProceedings{prob2ui,
author="Bendisposto, Jens
and Gele{\ss}us, David
and Jansing, Yumiko
and Leuschel, Michael
and P{\"u}tz, Antonia
and Vu, Fabian
and Werth, Michelle",
editor="Lluch Lafuente, Alberto
and Mavridou, Anastasia",
title="ProB2-UI: A Java-Based User Interface for ProB",
booktitle="Formal Methods for Industrial Critical Systems",
year="2021",
publisher="Springer International Publishing",
address="Cham",
pages="193--201",
abstract="ProB2-UI is a modern JavaFX-based user interface for the animator, constraint solver, and model checker ProB. We present the main features of the tool, especially compared to ProB's previous user interfaces and other available tools for B, Event-B, and other formalisms. We also present some of ProB2-UI's history as well as its uses in the industry since its release in 2019.",
isbn="978-3-030-85248-1"
}
</pre>


== The ProB2 JavaFX Main Window ==
== The ProB2-UI Main Window ==




Line 26: Line 71:
[[File:ProB2JavaFX_UI_Overview_New.png||1000px]]
[[File:ProB2JavaFX_UI_Overview_New.png||1000px]]


== The ProB2 JavaFX Main Menu Bar ==
== The ProB2-UI Main Menu Bar ==
The menu bar contains the various commands to access the features of ProB. It includes the menus
The menu bar contains the various commands to access the features of ProB. It includes the menus
*File,
*File,
Line 36: Line 81:
*Window and
*Window and
*Help
*Help
[[File:File.png|left]]
[[File:File.png|none]]
The File submenu allows you to create a new Project, open an existing project or a machine, open recent projects shown as list and/or clear the list of recent projects, close the ProB2 JavaFX UI, save your project or reload the currently running machine.
The File submenu allows you to create a new Project, open an existing project or a machine, open recent projects shown as list and/or clear the list of recent projects, close the ProB2-UI, save your project or reload the currently running machine.
[[File:Edit.png|left]]
[[File:Edit.png|none]]
The Edit submenu provides two ways to edit the current machine (either in the editor provided by the ProB2 JavaFX UI or in the your operating systems standard editor) and allows to edit your general and global preferences by opening a seperate window.
The Edit submenu provides two ways to edit the current machine (either in the editor provided by the ProB2-UI or in the your operating systems standard editor) and allows to edit your general and global preferences by opening a seperate window.
[[File:Formula.png|left]]
[[File:Formula.png|none]]
Here you can add formulas for visualization and open the history chart window.
Here you can add formulas for visualization and open the history chart window.
[[File:Consoles.png|left]]
[[File:Consoles.png|none]]
This submenu leads to two consoles, one Groovy, one B.
This submenu leads to two consoles, one Groovy, one B.
[[File:Perspectives.png|left]]
[[File:Perspectives.png|none]]
The Perspectives submenu allows you to change the appearance of the main view. The default view is shown at the top and two additional perspectives (Seperated History and Seperated History and Statistics) are preset. By ''Detach Components'' the view can be shown in seperate windows. ''Load'' allows you to make your own perspective by providing an FXML file containing the views but be aware that this might ruin the ability to detach components.
The Perspectives submenu allows you to change the appearance of the main view. The default view is shown at the top and two additional perspectives (Seperated History and Seperated History and Statistics) are preset. By ''Detach Components'' the view can be shown in seperate windows. ''Load'' allows you to make your own perspective by providing an FXML file containing the views but be aware that this might ruin the ability to detach components.
[[File:View.png|left]]
[[File:View.png|none]]
This submenu allows you to adjust font and button size in the ProB2 JavaFX UI.
This submenu allows you to adjust font and button size in the ProB2-UI.
[[File:Help.png|left]]
[[File:Help.png|none]]
The Help submenu provides you with help about the ProB2 JavaFX UI, information about the ProB2 UI, ProB2 kernel, ProB CLI and Java version used here and a way to report issues regarding the ProB2 JavaFX UI.
The Help submenu provides you with help about the ProB2-UI, information about the ProB2 UI, ProB2 kernel, ProB CLI and Java version used here and a way to report issues regarding the ProB2-UI.

Latest revision as of 15:58, 20 June 2023

ProB2-UI is the new Java-based user interface for ProB.

Download

Download the latest version of ProB2-UI here. See also the release history.

The source code for ProB2-UI is available at https://github.com/hhu-stups/prob2_ui and can be built by following these instructions.

Features

Compared to the original UI based on Tcl/Tk, this new UI has some unique new features:

  • Projects which store formal models, ProB preferences, and verification settings
  • Load Rodin models from Rodin workspaces (without having to export them within Rodin)
  • Managing and storing multiple trace files for a model, being able to replay all traces
  • MC/DC test-case generation
  • A view for managing LTL formulas for a model
  • Visualisation of models using VisB and SVG graphics
  • An integrated view for all dot-based graph visualisations (state space, machine hierarchy, formulas, projection diagrams, enabling graphs, event refinement hierarchy, ....)
  • An integrated view to access all table based statistics (event coverage, MC/DC coverage, read-write matrices, WD POs, ...)
  • A multi-language interface, currently providing English, French, German and Russian


We have developed a small video highlighting the core features (also on YouTube) on a model the from visb-visualisation-examples:

Paper/Citing

Paper: Springer Link, ResearchGate

BibTeX citation:

@InProceedings{prob2ui,
author="Bendisposto, Jens
and Gele{\ss}us, David
and Jansing, Yumiko
and Leuschel, Michael
and P{\"u}tz, Antonia
and Vu, Fabian
and Werth, Michelle",
editor="Lluch Lafuente, Alberto
and Mavridou, Anastasia",
title="ProB2-UI: A Java-Based User Interface for ProB",
booktitle="Formal Methods for Industrial Critical Systems",
year="2021",
publisher="Springer International Publishing",
address="Cham",
pages="193--201",
abstract="ProB2-UI is a modern JavaFX-based user interface for the animator, constraint solver, and model checker ProB. We present the main features of the tool, especially compared to ProB's previous user interfaces and other available tools for B, Event-B, and other formalisms. We also present some of ProB2-UI's history as well as its uses in the industry since its release in 2019.",
isbn="978-3-030-85248-1"
}

The ProB2-UI Main Window

By default the main window is split into three vertical panes (see below).

ProB2JavaFX UI Overview New.png

The ProB2-UI Main Menu Bar

The menu bar contains the various commands to access the features of ProB. It includes the menus

  • File,
  • Edit,
  • Formula,
  • Consoles,
  • Perspectives,
  • View,
  • Window and
  • Help
File.png

The File submenu allows you to create a new Project, open an existing project or a machine, open recent projects shown as list and/or clear the list of recent projects, close the ProB2-UI, save your project or reload the currently running machine.

Edit.png

The Edit submenu provides two ways to edit the current machine (either in the editor provided by the ProB2-UI or in the your operating systems standard editor) and allows to edit your general and global preferences by opening a seperate window.

Formula.png

Here you can add formulas for visualization and open the history chart window.

Consoles.png

This submenu leads to two consoles, one Groovy, one B.

Perspectives.png

The Perspectives submenu allows you to change the appearance of the main view. The default view is shown at the top and two additional perspectives (Seperated History and Seperated History and Statistics) are preset. By Detach Components the view can be shown in seperate windows. Load allows you to make your own perspective by providing an FXML file containing the views but be aware that this might ruin the ability to detach components.

View.png

This submenu allows you to adjust font and button size in the ProB2-UI.

Help.png

The Help submenu provides you with help about the ProB2-UI, information about the ProB2 UI, ProB2 kernel, ProB CLI and Java version used here and a way to report issues regarding the ProB2-UI.