欢迎来到天天文库
浏览记录
ID:34446898
大小:385.09 KB
页数:4页
时间:2019-03-06
《自适应自动程序设计及其在自动售货机中的应用new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、自适应自动程序设计及其在自动售货机中的应用余世明,丁国正,刘立峰(浙江工业大学信息工程学院,杭州 310012)[摘要] 对程序故障的处理,通常可以使用返回值或异常来报告。但当状态模型中的程序出现故障后,使程序仍能回到出现故障处的状态或做进一步的处理,这是返回值或异常做不到的。针对自动处理的实现,提出了采用组合编码和状态冗余设计相结合的自动程序设计思想,给出了它的一个结构模型和算法。模型通过减少程序的状态切换故障(预防)和增加系统的故障恢复能力(治疗)来实现这个目标。最后,将这个设计模型部分成功地应用
2、到自动售货机上,实际运行效果良好。[关键词] 自适应;状态冗余设计;自动程序设计;故障恢复;自动售货机[中图分类号] TP311畅11 [文献标识码] A [文章编号] 1009-1742(2007)11-0147-04针对能自我复制的思维机器问题所提出的研究态)的设计是实现自适应自动程序设计的关键。[1]线路中,有限自动机是非常有用的类型之一。MIT自适应自动程序设计的主要理论依据是有限自的McCulloch和Pitts提出了以神经元为基本单位的动机理论和Von.Neumann的冗余设计思想,文章提
3、生物神经系统模型(McCulloch唱Pitts,神经学模型),出了一种自适应自动程序设计的结构模型,它将状Turing提出了著名的万能机(图灵机),Von.Neumann态切换的判别条件进行组合来减少程序的状态切换提出了利用冗余来获得自适应能力的Neumann模故障并对状态信息打包储存,同时采用冗余状态获型,这些模型的提出都是针对如何能制造一个机器取系统的故障恢复能力。[1]来实现自我复制,甚至能思考。这些模型虽未完1结构模型的建立全实现,但它为多状态频繁转换的大型软件工程的自适应实现提供了重要的基
4、础。结构模型的建立主要由从实际问题到状态模以状态为中心的设计为故障的处理提供了基型、状态模型的简化、状态信息包的建立、冗余状态础。通常采用返回值或异常来报告程序错误,但怎的设计四部分组成。样能让机器无需人工干预而自动处理这些错误,通1.1从实际问题到状态模型[2]常是办不到的。利用有限自动机和冗余状态设计实际问题往往可以用一个过程来描述,这个过却可以基本实现故障的报告、修复等。如果把故障程就是一系列状态的有序排列,但一个状态,由于过看作状态的误转换,将冗余状态设计成故障处理状渡条件的多样化,往往可以过
5、渡到多个状态,如从一态,那么故障的处理过程,就是当程序出现故障(误台自动售货机上购买饮料,如果所投金额足,则会转转换)时,通过原状态的状态信息包和原状态信息备入正常的吐出饮料状态,如果所投金额不足,则会转分包的比较,来判断他们是否一致而判定出是否出到销售提醒状态。这样的模型就是典型的不确定的[3]现了故障,同时自动跳转到故障处理状态,故障处理有限状态自动机(NFA),这些过渡条件就是状态状态通过对原状态的状态信息包的分析,作出相应的切换条件。因而,将实际问题用状态模型来描述,的处理。如出现通信故障,则
6、可以自动重连接等。就是将问题的一系列状态有序连接,并在这些连接因而,状态信息包的实现和冗余状态(故障处理状线上加入它们的转换条件。[收稿日期] 2007-07-14;修回日期 2007-08-26[基金项目] 浙江嵌入式系统与应用重大专项资助项目(2005c11011)[作者简介] 余世明(1962-),男,甘肃天水市人,浙江工业大学信息工程学院博士、教授、高级程序员2007年第9卷第11期1471畅2状态模型的简化1)所有转移条件实现了形式化,对于编程人员由于实际中的模型往往是不确定的NFA模型,的
7、编程来说,编程将只面对条件参数Cij,而不再需如果直接对其进行程序的设计,将会使程序产生过要寻找具体的条件变量。多的交叉而繁杂,同时,由于过多的循环套将会延长2)可以保证状态切换时出现死机的可能性更程序的执行时间,所以有必要将它化简为一系列单小。因为每个判别的循环套会判别所有必须的条件向的状态过程,这样的过程就是确定的DFA而不只是依次判别各个条件变量,这样就可以即时[4]模型。改变组合条件中的已经满足条件,避免因某一条件在软件工程中,不能让状态呈现不确定状态而变量未满足而出现死循环而死机。影响接下来
8、的程序设计,通常不直接使用NFA模3)可以根据具体的切换情况为各个判别变量型,而先转化为DFA模型。这样的转化就是将NFA加权。如把此次切换最重要的变量排到组合变量的的功能等价到DFA,即将描述NFA的功能状态不重前面,将相对不重要的排到组合变量的后面,判别时复地列出,并将各个状态的可能转化相应列出;DFA用循环套依次判别它们,并在判别的循环套中加入的简化就是删除孤立的状态,合并等价的状态,但要一些强行退出循环套的程序(如时间限制等)。这[5,6]保证D
此文档下载收益归作者所有