Toc Report
Toc Report
Finite-State Automata
Project Report
System Overview
The ATM simulator is modeled as a DFA with various states representing different
stages of user interaction. The user provides input through the console, and the
program transitions between states based on the input and predefined
conditions.
States:
Inputs:
System Design
The system design leverages the DFA model to control the ATM's behavior. The C
code implements the state transitions and associated actions based on user input.
State transitions: The code defines a switch statement that evaluates the
current state and reacts to user input by transitioning to the next state or
handling errors.
Actions: Each state performs specific actions like prompting for PIN,
validating PIN, processing transactions (withdrawal reduces balance,
balance check displays current balance), displaying messages (simulated
cash dispense and card eject), and handling user choices.
Implementation
The C code implements the ATM functionalities as described. Key aspects include:
Future Enhancements
The ATM simulator can be further improved by incorporating:
Conclusion
This project successfully designed and implemented a basic ATM machine
simulator using finite-state automata. The project demonstrates the practical
application of automata theory in system modeling and simulation. With further
enhancements, the simulator can become a more comprehensive tool for
educational purposes or as a base for developing real ATM systems.