论文部分内容阅读
智能软件系统能够学习新需求并控制系统调整自身的行为以适应环境变化。该类软件系统通常由传统组件和智能组件两部分组成,传统组件反映了系统的确定性需求,而智能组件负责在动态的环境下做出最优的行为决策。同时智能组件的加入也给软件系统带来了诸多不确定性因素,如何保证其质量具有重要研究意义。目前,研究者在保证智能软件系统质量的工作中,主要考虑了需求不确定、结构不确定等因素,但缺乏对构成智能组件的数据质量不确定的关注。本文主要研究了缺陷数据对智能软件系统质量的影响,数据来源于构成智能组件的神经网络训练集。我们的工作分为两个方面,一是对智能软件系统进行模型验证:首先根据已经确定的需求建立Petri网模型,根据样本数据训练神经网络,整合两部分构建自适应Petri网模型以描述智能软件系统;然后针对模型的智能组件部分即训练得到的神经网络,提取出模糊规则并转化为Petri网,以此得到一个混合的Petri网模型;最后用混合自动机描述该混合Petri网模型,并利用KeYmaera工具验证该系统属性。二是通过模型验证的结果定位到缺陷数据:为了达到这一目的,对整个模型验证过程进行逆向分析。首先从模型验证工具产生的报告中可以获取一些与违反属性相关的信息,然后确定混合自动机中产生这些信息或与之密切相关信息的具体位置;根据混合自动机、可达图、Petri网三者之间的关系,可以定位到Petri网上相关库所和变迁,进而定位到相应的模糊规则;对此,本文提出了一种由模糊规则定位数据的方法并分析了其有效性,通过这一系列过程从关键信息点追踪模型直到找到缺陷的部分。最后,本文引入了一个简单的制造系统的例子,实验结果证明该方法是有效的。本文主要的贡献点如下:(1)提出了一种针对智能软件系统的模型验证技术,重点考虑了数据质量不确定的因素,其数据是指智能组件中用于训练神经网络的样本数据;(2)提出了一种定位缺陷数据的方法,它通过模型验证的结果逆向追踪整个系统找到了用于训练神经网络的样本数据中的缺陷部分;(3)通过模型验证技术以及定位缺陷数据的方法在一定程度上说明了样本数据的质量将会影响整个智能软件系统的质量,为保证系统的质量提供了另一条途径。