Automata is an editor for deterministic and non-deterministic finite automata (DFA, NFA, NFAε). It is an open source web application aimed to help students and educators better understand and explain the concepts of computation in theoretical computer science university departments.
Learn more about automata:
- Wikipedia: Deterministic finite automaton
- Wikipedia: Non-deterministic finite automaton
- Sipsers' book Introduction to the Theory of Computation
- Real-time editing of automata
- DFA, NFA, NFAε support
- Step-by-step computation simulation
- Sharing automata with a simple link
- Fully native web application in vanilla Javascript
Automata is written in HTML5 and Javascript for the client and Python for the server.
The Automata tool was developed at the Computer Science division of the Electrical and Computer Engineering department at the National Technical University of Athens, but is aimed at academic institutions wordwide.
Contributors:
- Dionysis "dionyziz" Zindros [email protected]
- Manolis Zampetakis [email protected]
- Kostis "gtklocker" Karantias [email protected]
We're looking to add several features. If you feel like contributing, just go ahead and do a pull request with your patch.
Some ideas for the future:
- Login with Gmail to keep a list of your automata
- Conversion from automaton to grammar and back
- Conversion from automaton to regular expression and back
- NFA to DFA conversion
- Automaton minimization
The Automata editor is licensed under the MIT license:
Copyright (C) 2012 Dionysis Zindros
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.