ATM Transaction Simulator using Finite State Machine (FSM)
This project implements an ATM transaction workflow using a Finite State Machine (FSM). The simulator models the logical sequence of ATM operations and ensures that transitions occur only in the correct order. The system prevents invalid actions and visually demonstrates state transitions in an interactive web interface.
This project illustrates the real-world application of automata theory in modeling ATM transaction systems.
- Finite State Machine based ATM workflow
- Card insertion simulation
- PIN authentication state
- Transaction selection
- Cash withdrawal simulation
- Session termination
- Invalid transition prevention
- Interactive visual state highlighting
- Web-based simulator
- FSM States
- Idle State
- Card Inserted
- PIN Entered
- Transaction Selected
- Cash Dispensed
- Session End
Each state transitions only through valid user actions.
HTML, CSS, JavaScript, Finite State Machine (FSM) Logic
Download or clone the repository Open the HTML file in any browser Use the buttons to simulate ATM operations Observe state transitions visually
- Automata-Lab/
- |-Code.html
- │-README.md
The system starts in the Idle state. When the card is inserted, it moves to PIN authentication. After correct PIN entry, the user selects a transaction. Upon withdrawal selection, cash is dispensed. Finally, the session ends and returns to Idle state.
Invalid transitions are blocked by FSM rules.
- Pakhi Mittal
Designed FSM model Defined states and transitions, Implemented JavaScript FSM logic, Integrated UI with state transitions, Implemented dynamic state highlighting, Debugged transition validation
- Priyasha Das
Developed HTML structure, Designed UI using CSS, Assisted in UI integration, Tested transaction flows, Documentation support
- ATM workflow simulation
- Automata theory demonstration
- FSM learning tool
- Educational visualization