19CSE214 : THEORY OF
COMPUTATION
CASE STUDY REPORT
ATM MACHINE
TEAM MEMBERS :
DEEPAK L [CB.EN.U4CSE19418]
KARAN M [CB.EN.U4CSE19428]
NANDA KISHORE B [CB.EN.U4CSE19442]
SURAJ S P [CB.EN.U4CSE19457]
19CSE214 : Theory Of Computation
Case study report
PROBLEM STATEMENT:
The objective of this project is to design a simple automaton for an ATM, with the
various possible operations it can support.
USE CASE DESCRIPTION:
1. First the ATM is in welcome state
2. Then the user inserts the card, and the card is read
3. The user then can perform one of the possible operations
a) deposit cash
b) withdraw cash
c) transfer money
d) view account statements
e) check balance
4. After performing one transaction, the user can proceed to one more transaction if
he wishes
5. If in between some error occurs in between, the automata goes to trap state
https://image.slidesharecdn.com/automatictellermachine-151125142040-lva1-app6892/95/auto-
matic-teller-machine-1-1024.jpg?cb=1448461265
SPECIFICATION OF TOKENS:
I - insert card
P - pin
D - deposit cash
W - withdraw cash
B - check balance
T - transfer
V - view account statements
0-9 - pin , account no , cash
A - Abort transaction
N - new transaction
STATES USED:
I0 - welcome state
I1 - card read state
I2 - authentication completed state
I3 - deposit cash state
I4 - withdraw cash state
I5 - send money state
I6 - transaction complete state
I7 - prompt accountNo state
I8 - print account state
TS - trap state
F - remove card
LANGUAGE :
Language = { { ( I P ) { D { 0-9 { N , A }^x , A } , W { 0-9 { N , A }^x , A } , T { 0-
9 { 0-9 , A } , A } , V {N , A } } ^x , A } ; x >= 0 }
REGULAR EXPRESSION:
I.P.(((D.(0-9.(N+A)+A))+(W.(0-9.(N+A)+A))+(T.(0-9.((0-9)+A)+A))+(V.
(N+A)))*+A)
GRAMMAR:
G=(V,T,P,S)
V = Finite non-empty set of non-terminal symbols
V = { I0 , I1 , I2 , I3 , I4 , I5 , I6 , I7 , I8 , TS , F }
T = Finite set of terminal symbols
T = { I , P , W , D , T , V , 0-9 , N , A }
P = Finite non-empty set of production rules
P={
I0 -> I I1 ,
I1 -> P I2 | A F ,
I2 -> D I3 | W I4 | T I5 | V I8 | A F ,
I3 -> 0-9 I6 | A F ,
I4 -> 0-9 I6 | A F ,
I5 -> 0-9 I7 | A F ,
I6 -> N I2 ,
I7 -> 0-9 I6 | A F ,
I8 -> N I2 }
S = Start symbol
S = { I0 }
ACCEPTED STRINGS:
I P D 0-9 N W 0-9 N
I P D 0-9 A
IPVN
IPVA
IPA
UNACCEPTED STRINGS:
I P D 0-9 N W
IPWT
D 0-9 A
IPD
State Transition Table :
I0 I1 I2 I3 I4 I5 I6 I7 I8 TS F
I0 I
I1 P
λ A
I2 W T V
D λ A
I3 0-9
λ A
I4 0-9
λ A
I5 0-9
λ A
I6 N
λ
I7 0-9
λ A
I8 N
λ
TS
F
λ-NFA :