论文部分内容阅读
随着计算机信息技术的飞速发展,人们提出更加苛刻而又完善的软件需求,增加了软件系统建模的难度。以往人们重点关注软件系统的行为建模,注重某一功能的具体实现和系统模型的构建,而对具体的功能模块往往采用形式化建模方法使之具有相应的功能。当前的软件系统被认为是一个具有连续变量和离散变量的混合系统,目前对混合系统的建模已经取得一定的进展,但未被广泛的应用于软件系统开发与设计领域。由于软件系统与所处的软件运行环境之间的信息交互是一个非常复杂过程,导致软件系统的输入输出映射关系不能完全实现实际的软件需求,从而可能产生软件系统部分功能没有实现、意想不到的软件故障的出现等问题,甚至会降低软件系统的可靠性和安全性。结合Petri网描述离散系统和人工神经网络(artificial neural networks, ANN)描述连续系统的优势,本文提出了用于软件需求建模与分析的改进型Petri网(enhanced Petri nets,EPN)模型,主要的研究工作如下:1)提取软件系统的日志文件(logfile)中有效的输入输出流信息通过采用关键字查询的方法提取软件系统logfile中的连续和离散的输入输出流信息,建立基于离散变量的Petri网模型和连续变量ANN模型,使其满足系统的需求。2)实现ANN模型转化为EPN模型由于Petri网模型和ANN模型是两种不同形式的模型,对同一软件系统建模可能有一定的差异性。通过扩展Petri网的定义来描述非线性系统,然后改进现有的ANN模型到Petri网模型的转化规则,使转换成的EPN模型具有ANN模型非线性拟合的能力。3)Petri网模型的合成现有的基于共享合成和同步合成Petri网的方法无法实现若干Petri网模型合成后同时完全保留原先Petri网模型的性质。然而,在EPN中,通过定义一些特定功能的变迁实现不同Petri网模型的合成而同时保留其相应的性质,进而实现系统的统一建模。最后本文以一个典型的水箱控制软件系统为例讲解本文方法的具体应用。根据从水箱控制软件的logfile中提取出的该软件的输入输出流信息建立相应的ANN模型和Petri网模型,最后利用Petri网的合成方法将ANN模型转换成的EPN模型和Petri网模型合成为一个统一的EPN模型。比较EPN模型的状态可达图与实际系统的状态演化图之间的差异,验证所提出方法的有效性。