(→Download: Release history is now in the Git repo) |
|||
(46 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
== The ProB2 JavaFX Main Window == | '''ProB2-UI''' is the new Java-based user interface for ProB. __NOTOC__ | ||
== 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: | |||
* 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 | |||
[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-UI Main Window == | |||
Line 6: | Line 63: | ||
* In the left pane, the Operations view , showing the operations whose preconditions and guards are true in this state (the view also uses a blue circular arrow icon when an operation does not change the state); | * In the left pane, the Operations view , showing the operations whose preconditions and guards are true in this state (the view also uses a blue circular arrow icon when an operation does not change the state); | ||
* In the middle the State View, containing the current state of the B machine, listing e.g., the current values of the machine variables; | * In the middle the State View, containing the current state of the B machine, listing e.g., the current values of the machine variables; | ||
* In the right pane there are a variety of subviews, which can be | * In the right pane there are a variety of subviews, which can be activated: | ||
* The History of operations leading to this state (History) | ** [[History_View|The History of operations leading to this state (History)]] | ||
* The Project view | ** [[Project_View|The Project view]] | ||
* The Verification view | ** [[Verification_View|The Verification view]] | ||
* The Statistics view | ** [[Statistics_View|The Statistics view]] | ||
[[File:ProB2JavaFX_UI_Overview_New.png||1000px]] | |||
The menu bar contains the various commands to access the features of ProB. It includes the | == 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: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-UI, save your project or reload the currently running machine. | |||
[[File:Edit.png|none]] | |||
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|none]] | |||
Here you can add formulas for visualization and open the history chart window. | |||
[[File:Consoles.png|none]] | |||
This submenu leads to two consoles, one Groovy, one B. | |||
[[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. | |||
[[File:View.png|none]] | |||
This submenu allows you to adjust font and button size in the ProB2-UI. | |||
[[File:Help.png|none]] | |||
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. |
ProB2-UI is the new Java-based user interface for ProB.
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.
Compared to the original UI based on Tcl/Tk, this new UI has some unique new features:
We have developed a small
video highlighting the core features (also on YouTube) on a model the from visb-visualisation-examples:
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" }
By default the main window is split into three vertical panes (see below).
The menu bar contains the various commands to access the features of ProB. It includes the menus
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.
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.
Here you can add formulas for visualization and open the history chart window.
This submenu leads to two consoles, one Groovy, one B.
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.
This submenu allows you to adjust font and button size in the ProB2-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.