有限自动机ATM机状态转换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
有限自动机ATM机状态转换
0引言
有限自动机源于20世纪40年代,是一种用于研究离散事件动态系统的数学模型,1943年麦克卡赛(McCulloch)与皮特斯(Pitts)建立了模拟神经网络的自动机。1956年莫尔(Moore)建立了描述计算机的时序机的概念。此后,自动机理论迅速发展,与计算机技术密切结合,在人工智能、自动控制等领域有广泛应用。有限自动机是计算机科学的重要基石,它可以用来研究时序线路与计算机的构造,是计算机硬件的理论基础。由于计算机中的数以二进制形式表示,所以计算机基本的加法器功能可以用有限自动机来实现。计算机的操作系统在信息处理进程中需要一定资源。在不同资源条件下,进程处于不同的状态。进程活动中要不断提出申请资源和归还资源的请求,这些请求与进程的状态和资源的条件有关。操作系统的这些活动体现了一个有限自动机的功能特征,因此操作系统的信息处理过程可以用有限自动机来刻画。
1 ATM机状态分析
ATM机是当前银行较为常用的一种用户自助操作的机器,它是以实时操作系统软件基础实现的强实时系统。ATM机具有事务的基本特性,即:原子性、一致性、隔离性、持久性。其中,原子性保证了事务的操作是一个完整的过程,要么做,要么不做;一致性:保证事务从一个一致性状态转换到另外一个一致性状态,此特性与原子性密切相关;隔离性:即一个事务的执行不被其他事务所干扰,各事务之间执行互不干扰;持久性:即一个事务一旦提交,它对数据库中的数据改变就是永久性的。从插卡到某个动作操作成功为一个原子操作,要么成功,提交事务,更新数据库;要么失败,退回到插卡前的操作,数据库中数据仍为原来的数据,不发生改变。本文从ATM机的基本状态出发来讨论ATM机中的状态迁移。
ATM机的基本状态包含了插卡,输入密码,余额查询,取款,存款,转账,退出这几个基本状态。其中初始阶段为等待插卡阶段,此阶段等待磁卡的插入;插入以后则系统状态变为插卡状态,此状态判断插入的磁卡是否有效,有效则跳转到输入密码状态,系统状态变为登录状态,此时可以根据需要进行查询、取款、存款、转账等状态的转换;若输入密码错误则继续保持插卡状态等待正确的用户
密码;查询状态,直接查询账户余额;取款状态,输入取款金额,此状态需要判断取款金额是否大于账户余额,若大于,则操作失败,返回取款前的状态,若小于,则操作成功,提交事务,更新数据库数据;存款状态,判断放入的钱币是否有假钞和放入钱币的金额,若有假钞,退回到存入之前的操作直到放入的钱币全部为真,清点放入金额,提交事务,更新数据库数据。转账状态,此状态要进行账户名、卡号的核对,先进行账户名和卡号的核对,如果正确则输入转账金额状态,判断账户余额是否能够满足本次转账的金额,此状态与取款状态的取款操作类似。
3 ATM机形式语言的定义
ATM机可以用不确定的有限状态自动机(NFA)来定义,NFA=(Q,Σ,σ,Q0,F),NFA是个五元式。其中:Q是一个有限状态的集合,Qϵ{ WC,SC,LG,BQ,TM,TMS,SM,SMS,CB,CBS ,IM};Σ是状态转换的条件字母表集合,Σϵ{ce,ci,pwc,pwi,tm,sm,cb,be,bu,hf,at,qu,re,ubc,ubu };σ是状态转换函数;Q0为起始状态,Q0 ϵ{WC};F是接收状态的集合,F ϵ{WC,SC,LG,BQ,TM,SM,CB,EX}。WC:等待插卡状态,SC:插卡状态,LG:登录状态,BQ:余额查询,TM:取款状态,TMS:取款成功,SM:存款状态,SMS:存款成功,CB:转账状态,CBS:转账成功,IM:输入转账金额状态。ce:磁卡有效,ci:磁卡无效,pwc:密码正确,pwi:密码错误,tm:取款,sm:存款,cb:转账,be:余额充足,bu:余额不足,hf:有假币,at:都是真币,qu,查询余额,re:返回,ubc:账号用户名匹配,ubu:账号用户名不匹配,ex:退卡。
4 ATM NFA图
5结论
本文通过对ATM机建立的NFA五元式,涵盖了ATM机中基本的状态,描述了ATM机的基本状态变换。本文为ATM机的研发提供了理论基础,使得ATM机中的状态变换清晰明了。同时,本文可能还存在某些不足,还希望老师指出。最后,我要感谢陈文宇老师给了我这个特别培养的机会。