<p>My name is David Buzatto and I am a teacher of several subjects on a Computer Science course. One of these subjects is Theory of Computation and, this semester, I decided to implement a simulator of finite automata, pushdown automata and Turing machines, with the aim of using it instead of the already known JFLAP. I would like if, if possible, someone could test it and critique the current version of the tool. Why? Well, my biggest concern is: does it work as expected? It is very difficult to test for possible corner cases. Although JFLAP is the &quot;standard&quot;, I think this tool is a little complicated to use in some points, especially in relation to the construction of state machines. I tried to create something more user friendly.</p>
<p>The current tool features are:</p>
<h2>Finite Automata (FA)</h2>
<ul>
<li>Full support for Deterministic and Nondeterministic Finite Automata modeling, test and simulation;</li>
<li>Create, edit, save and save as image;</li>
<li>Support to add all missing transitions;</li>
<li>Support for removal of inaccessible and useless states;</li>
<li>Conversion from Nondeterministic Finite Automaton to Deterministic Finite Automaton;</li>
<li>Deterministic Finite Automaton minimization;</li>
<li>Regular Operations:
<ul>
<li>Union;</li>
<li>Concatenation;</li>
<li>Kleene Star;</li>
<li>Complement;</li>
<li>Intersection.</li>
</ul>
</li>
</ul>
<h2>Pushdown Automata (PDA)</h2>
<ul>
<li>Full support for Deterministic and Nondeterministic Pushdown Automata modeling, test and simulation;</li>
<li>Create, edit, save and save as image;</li>
<li>Conversion from Final State to Empty Stack and vice-versa acceptance types.</li>
</ul>
<h2>Turing Machines (TM)</h2>
<ul>
<li>Full support for Deterministic Turing Machines modeling, test and simulation;</li>
<li>Support for Nondeterministic Turing Machines modeling;</li>
<li>Create, edit, save and save as image;</li>
<li>Automatic detection of infine loops, i.e., Turing Machines that never halt.</li>
</ul>
<p>You can download it here <a href="https://github.com/davidbuzatto/YAAS/releases/tag/v1.0.1" rel="nofollow noreferrer">https://github.com/davidbuzatto/YAAS/releases/tag/v1.0.1</a></p>
<p>Best regards!</p>

CC BY-SA 4.0
2023-10-21T17:44:50.357Z
Are there any aspects of the project you are most interested in testing or getting feedback about? What are the benefits of using a new tool instead of the existing standard JFLAP?
ggorlen
CC BY-SA 4.0
2023-10-21T21:54:21.550Z
@ggorlen My biggest concern is: does it work as expected? It is very difficult to test for possible corner cases. Although JFLAP is the "standard", I think this tool is a little complicated to use in some points, especially in relation to the construction of state machines. I tried to create something more user friendly. I'll add this to the question.
davidbuzatto
CC BY-SA 4.0
2023-10-24T15:07:19.667Z
Are PDA transitions editable after they are made?  I can't figure out how.
Ben I.
CC BY-SA 4.0
2023-10-24T16:07:42.837Z
@BenI. Yes they are! Just use the move tool (little hand) and either click on the transition and edit it in the panel on the right (button with a pencil) or right click in the desired transition and choose de option "Operation(s)" on the popup menu.
davidbuzatto
CC BY-SA 4.0
2023-10-24T20:05:43.877Z
@davidbuzatto Oh, I see! I've started raising issues on github for you.
Ben I.
CC BY-SA 4.0
2023-10-25T15:36:34.713Z
@BenI. thank you very much! I'll wait a few days to start working on them. Best regards!
davidbuzatto
CC BY-SA 4.0
2023-11-02T08:27:51.867Z
dummy suggestion: why wouldn't you do some proper testing?
YCN-
<cs-theory><turing-machines>
Could anyone test and criticize my automaton simulator?
# Could anyone test and criticize my automaton simulator?

(Asked by: username_0 on 2023-10-21)

My name is David Buzatto and I am a teacher of several subjects on a Computer Science course. One of these subjects is Theory of Computation and, this semester, I decided to implement a simulator of finite automata, pushdown automata and Turing machines, with the aim of using it instead of the already known JFLAP. I would like if, if possible, someone could test it and critique the current version of the tool. Why? Well, my biggest concern is: does it work as expected? It is very difficult to test for possible corner cases. Although JFLAP is the "standard", I think this tool is a little complicated to use in some points, especially in relation to the construction of state machines. I tried to create something more user friendly.

The current tool features are:

## Finite Automata (FA)

* Full support for Deterministic and Nondeterministic Finite Automata modeling, test and simulation;
* Create, edit, save and save as image;
* Support to add all missing transitions;
* Support for removal of inaccessible and useless states;
* Conversion from Nondeterministic Finite Automaton to Deterministic Finite Automaton;
* Deterministic Finite Automaton minimization;
* Regular Operations:
  + Union;
  + Concatenation;
  + Kleene Star;
  + Complement;
  + Intersection.

## Pushdown Automata (PDA)

* Full support for Deterministic and Nondeterministic Pushdown Automata modeling, test and simulation;
* Create, edit, save and save as image;
* Conversion from Final State to Empty Stack and vice-versa acceptance types.

## Turing Machines (TM)

* Full support for Deterministic Turing Machines modeling, test and simulation;
* Support for Nondeterministic Turing Machines modeling;
* Create, edit, save and save as image;
* Automatic detection of infine loops, i.e., Turing Machines that never halt.

You can download it here <https://github.com/username_0/YAAS/releases/tag/v1.0.1>

Best regards!

**Tags:** cs-theory, turing-machines

> **Comments:**
> **username_1**: Are there any aspects of the project you are most interested in testing or getting feedback about? What are the benefits of using a new tool instead of the existing standard JFLAP?  
> **username_0**: @username_1 My biggest concern is: does it work as expected? It is very difficult to test for possible corner cases. Although JFLAP is the "standard", I think this tool is a little complicated to use in some points, especially in relation to the construction of state machines. I tried to create something more user friendly. I'll add this to the question.  
> **username_2**: Are PDA transitions editable after they are made?  I can't figure out how.  
> **username_0**: @BenI. Yes they are! Just use the move tool (little hand) and either click on the transition and edit it in the panel on the right (button with a pencil) or right click in the desired transition and choose de option "Operation(s)" on the popup menu.  
> **username_2**: @username_0 Oh, I see! I've started raising issues on github for you.  
> **username_0**: @BenI. thank you very much! I'll wait a few days to start working on them. Best regards!  
> **username_3**: dummy suggestion: why wouldn't you do some proper testing?  

---

## 0 answers

