论文部分内容阅读
近年来,软件演化已成为了软件生存周期中最重要的形态之一,成为了今天软件工程研究的热点领域。一方面,支持软件演化的软件过程(简称软件演化过程)可以建立软件演化的整体任务框架,被视为是提高软件演化质量和效率的一种重要技术,受到学术界的高度关注和重视;另一方面,对建模产生的软件过程模型,如何验证过程模型的正确性,是摆在我们面前的一个迫切任务。在软件过程领域,建模和验证是两大关键活动。与软件过程建模相比,软件过程验证的相关讨论和研究不如前者。在内容方面,现有过程验证主要以结构验证和性质验证为主,缺乏行为验证,无法确保过程模型的行为与过程规约一致;在方法方面,现有基于Petri网的过程模型验证方法分为四种:基于状态空间的验证方法、基于结构的验证方法、基于逻辑推理的验证方法和基于代数网的验证方法,均不能很好地支持行为验证,使得其应用受到很大限制。故而,现有文献并不能很好地解决软件演化过程模型的行为验证。本文提出了基于Petri网的进程代数验证方法,验证软件演化过程元模型建模产生的软件演化过程模型,解决以下四个问题:(1)在验证理论方面,针对现有软件过程验证主要以结构验证和性质验证为主,对于软件演化过程模型,提出了行为验证的相关理论,基于软件演化过程元模型代数,从语义角度,使用进程代数的等式推理,验证过程模型的行为与过程规约是否一致。(2)在验证方法方面,针对现有基于Petri网的过程模型验证方法:基于状态空间的验证方法、基于结构的验证方法、基于逻辑推理的验证方法和基于代数网的验证方法,均不能很好地支持行为验证,提出了基于Petri网的进程代数验证方法,用以支持软件演化过程模型的行为验证。该方法充分结合了Petri网和进程代数的优点,不仅可以从静态角度验证过程模型的结构、从动态角度验证过程模型的性质,还可以从语义角度验证过程模型的行为。(3)在验证技术方面,一方面,使用Petri网的相关技术对软件演化过程模型的结构和性质进行规约和验证,通过性质保持性,使用保持结构和性质不变的抽象操作,有效减少模型的节点数量,避免状态空间爆炸,提高验证效率;另一方面,使用ACP风格的进程代数对软件演化过程模型的行为进行规约和验证,基于代数语义,使行为验证的方式从模型推导转变为代数推导,提高验证效率(4)在过程改进方面,系统地提出了过程模型改进的四种操作:插入操作、删除操作、细化操作和抽象操作。总之,针对软件演化过程元模型建模产生的软件演化过程模型,本文提出了支持过程模型的结构验证、性质验证和行为验证的相关理论、方法和技术。