Final project for my Software Engineering course @ UniVR — A.Y. 2023/2024. A simple documentation (written in Italian) can be found here. An English version of
javadoc
is also available here.
Word Automata is a graphical tool that allows you to create and simulate automata that recognize words. You can add states, transitions, and set the initial and final states. The tool will then allow you to simulate the automaton on a given word, showing you the path that the automaton takes.
You only have to get the latest release from the releases page by choosing the right .jar
file for your platform. Be also sure to have (at least) Java 21 installed on your machine.
You can also build the project yourself with Maven.
The project uses the following dependencies:
Note: you can choose if a state should be final on creation. You can also change this property later.
Note: you can also add a new transition between two states by holding
Ctrl
,Shift
orAlt
and dragging from the source to the target state.
Note: by default, the initial state is the first state you add. You can change it by right-clicking on a state and selecting "Set as initial state".
Note: in this section you can edit the state label and set it as final. You can also delete the state or add transitions bounded to it.
Note: this action will show the path that the automaton takes on the given word, highlighting the followed transitions.
- Since the project uses an adapted version of JavaFXSmartGraph, automata graphs can be arranged automatically by toggling the
Auto-position
menu inSettings
. - When timeline is playing, you can stop it and move it forward and backward by one transition at a time. You can also increase or decrease the animation speed.
- You can save automata to file and open it later or on another machine.
- Actions can be performed with shortcuts. They are stated near their titles in the menu bar.
- You can enable dark mode globally (you may also argue: why isn't it enabled by default? and you would be probably right).
- If you need a hint on state colors' meaning, you can check them in
Help > Legend
.
This project is licensed under the GPL-3. You can find the full license here.