D I S C L A I M E R
DESTool is still under development. The current version should be functional, however, it may not always behave nice. 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-arguments 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.
A DESTool script is a simple list of faudes-functions, ready to run within a couple of mouse clicks. Any advanced programming is banned to libFAUDES extensions.
Animated discrete event systems
To interactively inspect the outcome of a discrete event system design, DESTool provides step by step execution. Diagnostic information includes which components enable or disable individual events.
Building on the libFAUDES IoDevice plug-in, DESTool supports interaction with physical hardware to run a DES design on the actual plant.
Transparent to libFAUDES extensions
DESTool passes on the libFAUDES dynamic run-time-interface to the user. When you extend your copy of libFAUDES by additional algorithms, they are available through DESTool without adapting/re-compiling DESTool.
DESTool is available from the preview folder on the LRT/FGDes download page. There are binary packages for most common operating systems:
Linux: The Linux package of DESTool comes as .tar.gz archive. Extracting the archive, you obtain a folder faudes_destool, which you may place anywhere in the users file system. System-wide installation is currently not supported. To start DESTool, run ~/faudes_destool/bin/destool from a command shell. The binaries are compiled for 64-bit Linux and link agains LSB stubs for cross-distribution compatibility. The most recent 32-bit binary is DESTool 0.76, still available from the faudes archive. If you experience errors for missing libraries or unresolved symbols, get some more detailed information and/or let us know.
Mac OS: For Apple's Mac OS, DESTool is distributed as a .dmg disk-image. Double click will mount the image and the finder will show the DESTool application. It may be placed anywhere in the users file system. System-wide installation is currently not supported. The application bundle also includes the libFAUDES tools (e.g. luafaudes and simfaudes) in the directory DESTool.app/Contents/MacOS for command-line execution. The binary is built with the Mac OS 10.11 toolchain and should be compatible back to Mac OS 10.7, i.e., for Macs dated 2011 and thereafter. The most recent distribution that was actually compiled on Mac OS 10.7 is DESTool 0.82. The most recent distribution compatible back to 32-bit Mac OS 10.4 (apprx. 2006) is DESTool 0.74.
MS Windows: DESTool is distributed as a setup.exe installer application. Double click will install by default to C:/Programs/FAUDES/DESTool. Users need write permission on the installation folder in order for DESTool to be fully operational. The MS Windows version of DESTool is compiled for 64-bit MS Windows 7 and should be compatible with subsequent 64bit editions of MS Windows. You may need to install the MS Visual C redistributable package --- look for "vc_redist.x64.exe" for MS VS 2015. The most recent distribution compatible back to 32-bit MS Windows XP is DESTool 0.76, available from the libFAUDES archive.
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 Universitaet Erlangen-Nuernberg 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 2016, the following people have contributed libFAUDES/DESTool:
In contrast to libFAUDES, DESTool is currently distributed in binary form only, see [here] for license/legal details. If you need access to the DESTool source code, this can be arranged on an individual basis.
Copyright (C) 2008 - 2016 Thomas Moor
|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.28b --- 2019.12.01 --- with "synthesis-observer-diagnosis-iosystem-hiosys-multitasking-coordinationcontrol-timed-iodevice-simulator-luabindings"