论文部分内容阅读
伴随着信息产业的迅速发展,计算机软件技术的应用也越来越广泛,然而,由于计算机软件中存在各种可能引起故障的错误,软件可能会发生软件失效。随着嵌入式软件在军事、商业等等各行业的广泛应用,由于嵌入式软件对于实时性以及可靠性的高要求,软件失效可能带来的后果也愈加严重,因此,越来越多的研究人员投向了软件自恢复这一课题。本文从嵌入式软件的角度,针对于其中可能存在的缺陷,进行了具体的分析,对于软件自恢复的问题进行了研究,通过使用自主构建的任务模型,通过使用状态空间-动作空间-决策方法三者结合,以此来处理软件老化。本文做的工作主要包括:(1)研究了软件缺陷以及软件老化的相关知识,并在此基础上探讨了嵌入式软件的可靠性,以及以软件抗衰为主的软件自恢复的相关内容;(2)研究了提取软件状态所使用的指标,通过任务的运行时间、资源使用量等方面进行评价,并结合任务自身可能存在的其他异常,判断软件的当前状态;(3)研究了针对于软件老化问题所采取的自恢复策略,具体研究了软件的状态空间、动作空间的设定和决策方法,研究了基于规则的决策方法来完成自恢复策略的决策,设计了基于Q-学习的决策方法,并给出了软件自恢复过程中状态的迁移;(4)在实验平台上构建了自恢复策略的运行环境,通过自定义的任务模型模拟实际运行的软件,并在该模型基础上实施自恢复策略,通过对于实验中的数据的收集和分析,展示了自恢复策略的有效性;(5)通过进行对比试验,进一步验证了自恢复策略的优越性。实验证明,本文采用的软件自恢复策略能够及时感知软件的当前状态,并在此基础上实施相应的自恢复策略,针对不同的问题分别进行处理,有效保证了软件的正常运行,满足了软件对于性能的需求。