论文部分内容阅读
随着软件应用领域的不断扩展和深入,软件的规模和复杂性在逐渐扩大和提高。人们对软件的质量和生产效率也提出了更高的要求。软件复用是在软件开发中避免重复劳动的解决方案。通过软件复用,可以提高软件开发的效率和质量。模型驱动以及面向服务等概念的提出为解决各个层次的软件复用提供了解决方案。本文在已有研究成果的基础上,针对目前研究存在的不足,以模型驱动和面向服务为切入点,对于软件需求建模、模型验证以及模型转换等问题给出了相应的解决方案。本文的主要贡献包括如下方面。在特征模型的基础上提出了面向服务的特征模型,简称为服务特征模型,用服务特征以及服务特征之间的两大类四种关系来描述服务特征模型;并给出了服务特征模型的形式化定义,一个服务特征是一个九元组,分别描述服务特征的九个属性。在此基础上给出了服务特征模型的四个基本性质。提出了形式化的需求定制以及验证方法。给出了从领域服务特征模型得到目标系统需求模型的四条模型裁剪定制规则。并给出了对目标系统需求模型的完整性、一致性进行自动获取和验证的机制,包括用Kripke-结构描述需求模型,用CTL公式描述性质以及用SMV实现对性质的自动检查。提出了用模型求精进行从CIM到PIM转换的方法。并提出了解释映射的求精方法,运用这一方法在保持语义一致的前提下进行不同抽象层次模型之间的转换。并将解释映射的结果描述为规则,用于模型演绎中。本文提出的求精方法分为两种:简单求精和复杂求精。简单求精有三类:分解、特化和可操作化;复杂求精则分为两大类:解释映射、模型演绎。解释映射是通过同构嵌入映射来进行求精,这就需要将模型表示为一个理论集合,将两个理论集合进行解释映射,这类求精比较复杂,但是经过证明的映射可以作为规则加入规则集,在模型演绎求精中进行复用。第二类求精就是模型演绎,本文借鉴Manna提出的程序综合方法,对演绎表进行改进,其一,对于定理中变量的类型进行扩展,加入模型类型、服务类型以及组件类型;其二,将需要进行求精的模型看作是一组需要证明的定理,对于模型运用规则,需要对表示模型的每个定理同时应用规则。提出了运用模式从软件需求分析产生目标系统体系结构的模型转换框架。该框架利用设计模式对需求的建模和模型转换提供进一步的支持。本文将模式分为领域模式、分析模式、体系结构模式以及设计模式四个层级,不同类型的模式应用到模型转换的不同阶段。模式作为结构映射的规则应用到模型转换框架中,在一定程度上提高了模型转换的效率,实现了软件需求分析和体系结构设计的复用。设计并实现了支持这一整体框架的建模和求精的支持工具原型,给出了工具原型的主要功能和软件体系结构。