In my second year of Uni, I learned about mathematical models of computation: automata. I found it quite interesting, and wanted to ‘play around’ with automata in some sort of simulation software. However, after searching online, I found no decent, intuitive automata simulators; only old simulators in Java and ones with very little in the way of features. Therefore, I decided that it would be a great project to build my own automata simulator. Once I was in my third year of Uni, I made that my third year project: Animation, Visualisation, and Computation of Large Automata.
In Pro-A, you can create Finite Automata, Push-Down Automata, and Turing Machines. You can create states by double clicking (or right-clicking), and you can create transitions by dragging a red handle from one state to another. There are also other features, such as animating input steps, creating state folds, performing automata operations (like union or concatenation), and multi-level exploration, to name a few.