Skip to content

State Machine App is a web app for automata enthusiasts, offering seamless conversion of Non-Deterministic Finite Automata (NFA) to Deterministic Finite Automata (DFA) alongside advanced algorithms for DFA minimization and reduction. With its intuitive interface, powerful features,and simplify complex automata tasks, making it a better application.

License

Notifications You must be signed in to change notification settings

2200031797KavyaA/StateMachineApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Project Title: Automata State Machine App for NFA to DFA Conversion, and Reduction

Project Overview:

Automata-webapp revolutionizes automata processing by seamlessly converting Non-Deterministic Finite Automata (NFA) into Deterministic Finite Automata (DFA) and employing advanced algorithms to minimize DFA structures. This user-friendly platform caters to both enthusiasts and professionals, providing an intuitive interface for inputting NFA configurations and obtaining equivalent DFA representations. With its DFA minimization feature, the web app optimizes automata models, reducing states and transitions to their most compact forms. Whether for educational purposes or industrial automation, Automata-webapp empowers users to tackle intricate automata transformations effortlessly, enhancing efficiency and simplifying complex structures.

Key Features:

  • NFA to DFA Conversion
  • DFA Minimization
  • Intuitive Interface
  • Versatile Application
  • Streamlined Workflow
  • Interactive Visualization
  • Error Handling
  • Performance Optimization
  • Comprehensive Documentation
  • Scalability

Technologies Used:

  • Frontend: HTML, CSS, JavaScript
  • Backend: Python, Django, Flask framework
  • Automata Libraries: NetworkX, Pygraphviz, Jsplumb

Target Audience:

Automata enthusiasts exploring theoretical concepts. Students studying formal languages and automata theory. Professionals in fields such as computer science, engineering, and automation.

How to use:

  • Click and drag new Connections from the orange div in each State, Each State supports up to 20 Connections.
  • Click on a Connection to delete or rename it.
  • Double-click on the black movable button to see the Clear, NTD, Red, and Help buttons.
  • Right-click on the white page to see the menu of buttons.
  • Click on a 'Nfa 2 Dfa' button to convert from Nfa to Dfa and Show it.
  • Click on a 'Reduction' button to process a Reduction algorithm.
  • RightClick on a State to delete, rename, Start, or Final it.
  • Double-click on whitespace to add a new State.

How to Run:

  • Clone the repository from GitHub: https://github.com/2200031797KavyaA/StateMachineApp
  • Install the required dependencies using pip install -r requirements.txt.
  • Navigate to the project directory and run the Django, and Flask application by using the below commands: python3 manage.py collectstatic then python3 manage.py runserver
  • Access the web application through your browser at http://localhost:8000/
  • Input your NFA configurations and use the features provided for conversion and minimization of automata structures.

That's it! You've successfully set up and launched the State Machine Application on your local system.

Our Amazing Team:

Output Video:

StateMachineAppVideo.mp4

About

State Machine App is a web app for automata enthusiasts, offering seamless conversion of Non-Deterministic Finite Automata (NFA) to Deterministic Finite Automata (DFA) alongside advanced algorithms for DFA minimization and reduction. With its intuitive interface, powerful features,and simplify complex automata tasks, making it a better application.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published