Tooling is essential for practical applications in any field. For Graph Transformation, one of the ways to quickly prototype your graph-like domain is by developing a model in GROOVE, a standalone tool that will give you isomorphism checking, state space exploration and model checking based on a graph grammar consisting of a set of (optionally typed) rules and start graph, optionally complemented with a control program.
In this talk I will show the capabilities of the tool, especially touching on the more advanced features such as nested rules, attribute manipulation, recipes (aka transactions) and various analysis techniques. Some of these are recent extensions. I am also very interested in any type of feedback regarding potential use cases and desirable features.
The talk will include a tutorial on GROOVE.
The bin subdirectory of the GROOVE directory (into which you unzipped the
downloaded archive) contains jar files for each of the toolkit programs:
e.g., Simulator.jar, Generator.jar. You can use these in either of the
following ways:
In a file manager window opened on the bin directory, double-click the jar file;
In a command line window, run java -jar GROOVE_PATH/bin/Program.jar [parameters]
,
where GROOVE_PATH
is the groove directory and Program
is the toolkit
program in question. If you use -h
as parameter, you will get information
about the (other) command-line parameters.
See usermanual.pdf for instructions on how to use the GROOVE Tool Set
(including these installation instructions), or quick-reference.pdf for a quick
non-comprehensive overview.
Here is a brief list of the features supported by GROOVE. For details please
consult the included user manual or quick reference poster,
or the YouTube demos on the GROOVE web site.
The installation includes the following tools:
Simulator(.jar)
: a GUI-based tool that lets you construct, simulate andGenerator(.jar)
: a command line tool that lets you simulate and model checkModelChecker(.jar)
: a command line tool for CTL model checking;PrologChecker(.jar)
: a command line tool for executing Prolog queries on anImager(.jar)
: a command line or GUI tool that supports conversions fromViewer(.jar)
: a stand-alone (GUI) viewer for \GROOVE graphs and rules.Any comments, bug reports and reactions are welcome, either through
the Sourceforge trackers or through an email to
Arend Rensink
University of Twente
http://www.cs.utwente.nl/~rensink
arend.rensink@utwente.nl
Unfortunately, the Java version shipped with macOS is not compatible with this project. It is therefore highly recommended to install the OpenJDK via Homebrew as follows:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install java
Assuming that you have downloaded the GROOVE package to some folder /path/to/groove/, you may then test your setup via executing the command
/opt/homebrew/opt/openjdk/bin/java -jar /path/to/groove/bin/Simulator.jar
-> This should open a window with the GROOVE interface. From here, you may then load the examples from the tutorial via the File menu.
Please note that the meeting will be recorded and live-streamed to YouTube: