AutomataEditor

2.0

Introduction

Automata editor is vector editor for drawing finite automata according to VauCanSon-G format (a LaTeX package). The editor supports export to several vector formats (e.g. EPS, SVG, VauCanSon-G, GraphML, ...) as well as bitmap formats (e.g. BMP, JPEG, ...).

The program offers a basic tools for working with finite automata such as basic algorithms for finite automata, export of transition table to the LaTeX format and simulation of work of finite automata with possiblity to export the steps of simulation in the VauCanSon-G format.

There were designed an interface to external dynamically loaded modules, so that any algorithm can be added to extend the editor's functionality.

Homepage

Subversion

For checkout current revision use:

svn co https://automataeditor.svn.sourceforge.net/svnroot/automataeditor/trunk automataeditor

Installation

Step 1: Install Qt 4.6.3 (supported and tested version)

Step 2: Check Automata_Editor.pro and the other subproject files (*.pro)

Step 3: Run qmake in application directory (contains Automata_editor.pro)

Step 4: Run make (nmake) in application directory

GraphViz wrapper

If don't wish to have GraphViz positioner, comment gvwrapper in Automata_editor.pro:

 SUBDIRS += gvwrapper 

Widows: GraphViz version 2.26.3 Linux systems: GraphViz version 2.20.2-8 (for other version modification of gvwrapper could be needed)

GraphViz version is checked in runtime and can be set globally in sources.pro:

 DEFINES += GRAPHVIZ_VERSION=\\\"2.26.3\\\" 
Note:
escaping \ and " is required for make define's value a string or it's possible to change GraphViz supported libraries in constants.h:
 GRAPHVIZ_VERSION    "2.26.3" 

For other versions of some modifications in gvwrapper will be probably needed, because GraphViz interface was changed somewhere between 2.20.x and 2.26.x

It's possible to change GraphViz supported libraries in constants.h:

 GRAPHVIZ_VERSION    "2.26.3"    // this is version which is required in runtime 

Developement IDE

Possible to use QtCreator and load existing project Automata_editor.pro

Eclipse

Qt Eclipse Integration available - http://doc.qt.nokia.com/qt-eclipse-1.5/index.html

Visual Studio project

Qt Visual Studio Add-in available - http://doc.qt.nokia.com/vs-add-in-1.0/index.html

Known issues

Plugin HOWTO subproject

Simple project which shows how to implement custom algorithm as external dynamically loaded plugin. For build this project allow it in Automata_editor.pro:

 SUBDIRS += plugin_howto 

Features settings

SVG support

If don't wish SVG support, comment usage of Qt SVG Module in core project sources.pro

 QT += svg 

OpenGL support

It's possible to experimentally turn on OpenGL drawing by allowing it in sources.pro

 QT += opengl