DRAKON is a visual language for specifications from the Russian space program. DRAKON is used for capturing requirements and building software that controls spacecraft.
The rules of DRAKON are optimized to ensure easy understanding by human beings.
DRAKON is gaining popularity in other areas beyond software, such as medical textbooks. The purpose of DRAKON is to represent any knowledge that explains how to accomplish a goal.
DRAKON Editor is a free tool for authoring DRAKON flowcharts. It also supports sequence diagrams, entity-relationship and class diagrams.
With DRAKON Editor, you can quickly draw diagrams for:
DRAKON Editor runs on Windows, Mac and Linux.
The user interface of DRAKON Editor is extremely simple and straightforward.
The goal is to see how practical DRAKON is in the context of actors, state machines and message passing.
What has been done:
Each actor in the applications is a DRAKON diagram. Read more...
Get the source code on GitHub
Please see the examples in the examples/automaton folder inside DRAKON Editor's zip file. There you can find small programs based on finite automata represented in DRAKON.
This tutorial explains how to add an arbitrary language to DRAKON Editor.
Code generation in DRAKON Editor is implemented with plugins. Creating a code generator for yet another programming languages can be done by adding a plugin. The tutorial takes the D language as an example. Read more...
As a bonus, DRAKON Editor now supports code generation for the D language!
Starting from version 1.21, DRAKON Editor supports code generation from DRAKON state machine diagrams. Currently, only the C# language is supported.
State machine is a powerful abstraction with a wide area of use. A state machine can be defined as an object that can alternate between different types of behaviour. Read more...
ERIL is a visual language for representing the data structure of computer programs. While DRAKON's purpose is to show the physiology of software, ERIL concentrates on its anatomy.
Currently, DRAKON Editor supports code generation from ERIL diagrams to C# and Tcl.