论文部分内容阅读
软件过程执行是软件过程工程和软件项目工程的结合点,并充当着软件项目工程系列活动的引擎,真正实现指导和控制软件项目开发一系列活动的开展,软件过程执行是软件过程领域研究的关键问题。软件演化过程执行实现对软件演化活动的指导和控制。软件演化过程的执行可以是自动化的、半自动的或人工的。如果一个软件演化过程完全由计算机自动进行,则说其实现了软件演化过程自动化。由于软件演化过程中人为因素很多,实现完全的自动化看来近期内仍然有很多困难。本文探讨需与外部环境交互的基于EPMM(Evolution Process Meta-Model)的软件演化过程自动化方法,这些方法一方面被认为是用于提高软件生产率和软件演化质量和效率的重要技术,另一方面动态创建了软件演化过程模型(EPM:Evolution Process Model)和其执行模型(EXECUTED_EPM:Executed EPM)的知识库,为软件演化过程改进提供数据。本文结合软件自动化技术和创建基于规则的专家系统的逻辑程序设计语言的优点,提出了软件演化过程模型自动化的方法和相关技术,运用此方法将软件演化过程模型转换成用Prolog中的事实和规则表示的执行模型,同时构造了软件演化过程知识库,软件演化过程执行模型的执行看成是此知识库上的推理,并在EXECUTED_EPM运行过程中,动态更新EXECUTED_EPM知识库中的知识,这也是软件演化过程知识自动积累的过程。本论文针对EPMM元模型和建模方法产生的EPM,提出分类方法的选择标准,通过系统分析EPM的动态特性提出EPM活动的分类方法,证明了EPM中活动类型集合是完备集,通过分析基于逻辑编程语言的规则表示和推理方法提出了创建EXECUTED_EPM的方法,提出EXECUTED_EPM实例化方法和设计EXECUTED_EPM规则引擎的方法,设计并实现了EPM到EXECUTED_EPM的转换器。本论文的具体研究工作主要包含了以下几个方面:(1)提出活动分类方法。通过系统分析EPM过程层中活动控制信息的流动过程,研究EPM中活动的前提资源和后提资源分配策略和活动运行机制,提出分类方法的选择标准,提出活动前提分类方法、活动后提分类方法和活动前后提分类方法,并分别提出依据活动前提类型或活动后提类型或者活动前后提类型对活动进行分类的方法。(2)证明了使用基于EPMM的白盒建模方法得到的任一EPM,其活动的前提类型、后提类型集合是完备集。使用数学归纳法首先证明了在使用四种基本块细化初始活动得到的软件演化过程模型中,其活动的前提、后提的类型集合是完备集,接着证明了在任何层次上使用白盒建模方法细化模型得到的新软件演化过程模型中,其活动的前提、后提的类型集是完备集。(3)提出EPM过程层到EXECUTED_EPM的转换方法,并设计了转换规则和转换算法。为根据活动前提分类得到的每一个等价类提出一种EPM到EXECUTED_EPM的转换规则以及为根据活动后提分类得到的每一个等价类提出一种EPM到EXECUTED_EPM的转换规则。证明了转换规则集是完备集,并设计出EPM转换为EXECUTED_EPM的相关算法,研究模型中并发活动的转换方法和驱动方法,以提高软件演化的执行效率。(4)提出EPM的活动层、任务层到EXECUTED_EPM的转换方法,提出EXECUTED_EPM转换规则的层次结构,提出活动层的输入资源和输出资源以及任务层角色的转换规则,并设计了转换算法,提出EPM全局层的转换方法和算法。(5)设计并实现EPM执行模型的规则引擎。提出EXECUTED_EPM资源筹备方法和算法,提出捕获EXECUTED_EPM中并发执行活动的方法,并给出捕获并发执行活动的规则,以及并发执行活动的方法。(6)设计并实现了软件演化过程模型转换工具。