Toolset to capture, simulate, synthesize and verify graph models
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github
AtacsPlugin
CircuitPlugin
CpogPlugin
DfsPlugin
DtdPlugin
FsmPlugin
FstPlugin
GraphPlugin
MpsatSynthesisPlugin
MpsatVerificationPlugin
PcompPlugin
PetriPlugin
PetrifyPlugin
PlatoPlugin
PolicyPlugin
PunfPlugin
SonPlugin
StgPlugin
ThirdParty
WorkcraftCore
WorkcraftRunner
WtgPlugin
XmasPlugin
config
dist-template @ 446f023
doc @ 07173f1
gradle/wrapper
integration-tests
.gitattributes
.gitignore
.gitmodules
.travis.yml
CONTRIBUTING.md
LICENSE.txt
README.md
build.gradle
dist.sh
gradlew
gradlew.bat
logo.png
settings.gradle
workcraft
workcraft.bat

README.md

Workcraft logo

Build status Code maintainability Coverage Issues Repo size Code size Current release

Workcraft is a cross-platform toolset to capture, simulate, synthesize and verify graph models. It supports a wide range of popular graph formalisms and provides a plugin-based framework to model and analyze new model types. For more information about Workcraft look at https://workcraft.org/.

Getting source

Get Workcraft source code and submodules for its platform-specific backend tools (workcraft-dist-template repo) and documentation (workcraft-doc repo):

git clone https://github.com/workcraft/workcraft.git
cd workcraft
git submodule update --init --remote

Building

Workcraft requires Java JDK 1.8 or newer for a successful build and is assembled via Gradle. It is tested with both Open JDK and Oracle JDK.

These instructions use gradlew, a wrapper that downloads and runs a relatively new version of gradle. Alternatively a pre-installed version can be used.

Use the assemble task to build the core and all the plugins:

./gradlew assemble

Running

You can run Workcraft directly after building it:

./workcraft

Note that Workcraft relies on backend tools for some of its functionality and expects them in tools directory by default. Therefore create a symbolic link pointing to the location of the backend tools for your platform. E.g. for Linux:

ln -s dist-template/linux/tools

If you would like to contribute to Workcraft development, then read through the CONTRIBUTING.md document.