DESTool ...


Don't trust undo/redo/autosave.

... is a tool for the synthesis and analysis of discrete event systems. Technically, DESTool is implemented as a graphical front-end to the discrete-event systems library libFAUDES. The latter uses a fairly simple functions-on-data approach, i.e., there are faudes-functions that operate on data of a specific faudes-type. Functions and types are documented by the libFAUDES user-reference. DESTool invites the user to organize a DES design task as a project that consists of faudes-typed variables on which a list of faudes-functions (aka script) is to be applied.

The below screen-shot shows a DESTool project for a variation of the well known simple machine example.



DESTool is available as GPL licensed source code from our GitHub repository FGDES. The build process is somewhat involved and for this reason we distribute pre-compiled binaries via our download page.

For automatic layout of graphs (generators, systems, etc.), DESTool relies on the tool dot from the Graphviz package. For most Linux distributions, dot can be installed by the package manager or is included anyway. For Mac OS and MS Windows, installers are available from the Graphviz site. Regarding DESTool, you may test your Graphviz installation by invoking dot -V from the command prompt. If DESTool fails to figure the location of the dot executable, the path can also be set in vioconfig.txt.


Regarding principle functionality, we consider DESTool as of version 0.40 to be fine for a public audience. However, there is still quite a number of minor and major issues with the actual user interface, like context menus, navigation through windows, undo/redo etc. We plan to address these issues in due course by silently updating up to version 0.99. During this process, newer versions of DESTool will continue to read files written by older versions, but not necessarily vice versa.

Please feel free to notify us about any undesirable behaviour in the user interface. This will help us to focus our efforts. Also check for available updates once in a while.


DESTool is developed at the Friedrich-Alexander-Universit¨a;t Erlangen-N¨u;rnberg with Thomas Moor as coordinator and principle author. The underlying class hierarchy for workspace objects and the interface via the libFAUDES RTI were designed in course of Ruediger Berndt's master thesis. Overall, our software development did substantially benefit from various student projects, either in form of code contributions or user feedback.

As of February 2024, the following people have contributed libFAUDES/DESTool:

Ramon Barakat, Ruediger Berndt, Christian Breindl, Christine Baier, Tobias Barthel, Christoph Doerr, Marc Duevel, Norman Franchi, Stefan Goetz, Rainer Hartmann, Jochen Hellenschmidt, Stefan Jacobi, Matthias Leinfelder, Tomas Masopust, Michael Meyer, Andreas Mohr, Thomas Moor, Mihai Musunoi, Bernd Opitz, Katja Pelaic, Irmgard Petzoldt, Sebastian Perk, Thomas Rempel, Daniel Ritter, Berno Schlein, Ece Schmidt, Klaus Schmidt, Anne-Kathrin Schmuck, Sven Schneider, Matthias Singer, Yiheng Tang, Ulas Turan, Christian Wamser, Zhengying Wang, Thomas Wittmann, Shi Xiaoxun, Yang Yi, Jorgos Zaddach, Hao Zhou, Christian Zwick, et al


Copyright (C) 2008 - 2024 Thomas Moor


20.02.2024 DESTool 0.84 (distributed unter GPL)
01.03.2016 DESTool 0.82 (improved build system)
01.12.2013 DESTool 0.74 (improved HIL-performance)
01.10.2011 DESTool 0.63 (Lua console)
15.12.2010 DESTool 0.51 (many bug-fixes, more to come)
15.03.2010 DESTool 0.40 (3rd public preview, luafaudes extensions)
15.02.2010 DESTool 0.33 (2nd public preview, libFAUDES RTI access)
10.11.2008 DESTool 0.21 (1st public preview)



libFAUDES 2.32b --- 2024.03.08 --- with "synthesis-observer-diagnosis-iosystem-hiosys-multitasking-coordinationcontrol-timed-iodevice-simulator-luabindings"