论文部分内容阅读
随着我国军事和科技的不断进步和发展,对计算机软件的依赖程度越来越高。尤其是在航天航空、军事作战、指挥控制等高精尖领域需要大量高效率、高可靠性、高复杂度的计算机软件支持。面对这样的需求,传统的软件开发方法已经不能很好的保证软件制品的质量和性能。寻找适合于这些领域的新型高效实用的软件开发方法已成为软件工程领域研究的重要课题。一些研究者提出了使用软件体系结构的解决方案,试图通过抽取归纳领域内的公共特性形成领域适用的体系结构风格来实现领域内开发经验和软件制品的复用。这种方法能够简化设计过程、降低开发强度、提高设计合理性,增强系统可靠性和可理解性。也有一些观点采纳了模型驱动思想把模型划分到不同的抽象层次并将其作为系统设计和开发的基本元素,然后以自动化的模型转换为驱动力推动开发过程。这种开发方法能够有效的保证软件开发过程的一致性和可追踪性。然而,目前的这些研究多停留在理论研究阶段,并且由于方法自身特性的限制大都存在一定的缺陷,难以应用到实际开发中。通过对多个领域的分析我们发现特定领域往往都具有:存在一定的开发经验积累和开发成果,拥有相对固定成熟的组织结构等特性。针对这些领域特性本文结合软件体系结构和模型驱动思想提出了基于体系结构元模型和模型转换的领域软件开发方法。此外在技术方面,为了提供该方法在实际应用中的有效支撑,本文还对开发方法中所涉及的一些关键技术进行了研究,包括体系结构与模型驱动架构的集成模式、体系结构的元模型表示、从需求模型到体系结构模型的转换以及从体系结构模型到系统实现的过渡。具体来说,本文的研究内容主要包括以下几个方面:1、基于体系结构元模型和模型转换的领域软件开发方法研究。本文首先对现有的软件开发方法和开发过程进行了总结和分析,然后从体系结构和模型驱动两个方向入手,对它们的特性、组织、原理等进行了分析和研究,最后根据领域特性及体系结构和模型驱动的特点提出了一种基于体系结构元模型和模型转换的领域开发方法,旨在综合利用体系结构和模型驱动两方面的优势,使其形成优势互补克服各自的不足,从而提升领域软件开发效能。在对体系结构与模型驱动架构之间的多种组合模式进行了分析和尝试之后,我们在开发方法中采用正交组合模式实现两者的集成,利用体系结构模型对前期软件制品和开发经验进行复用,并采用模型驱动的思想,将体系结构模型作为软件开发的核心,使用自动化的模型转换方法推动软件开发过程。2、基于MOF的体系结构元模型构建。为了能够用一种具有规范性和统一性的方式来对体系结构进行描述,本文使用OMG的MOF规范定义了体系结构元模型,给出了基于元模型的体系结构描述方法。体系结构元模型说明了体系结构模型的抽象语法、具体语法和语义,可以用来对体系结构的静态组织和动态行为进行描述,它将作为整个开发过程的基础。3、需求模型到体系结构模型的转换方法研究。从需求模型向体系结构模型的转换是模型转换的第一步,直接影响到后续工作的进行。为了保证转换过程的一致性以及方便转换过程的进行,本文将体系结构的概念引入到需求阶段,提出一种基于体系结构的需求分析和表示方法,之后给出了一种基于QVT模型描述的使用映射和约束注入的模型转换方法,将需求模型向体系结构模型进行转换,最终能够获得基于体系结构元模型的体系结构描述。4、体系结构模型到系统实现的转换方法研究。模型驱动开发方法的最终目标是希望能够通过模型转换的方式获得系统实现,本文针对领域特性提出了一种基于谓词逻辑和动作依赖的原型系统生成方法,实现了体系结构模型向系统实现的转换。转换过程以谓词逻辑作为数学基础,首先对模型的形式化表示进行分析归纳完成基础信息组织,接着采用基于谓词逻辑和动作依赖的约束抽取获得隐式信息,然后使用构件对信息进行封装,最后通过构件组合和代码注入的方式生成原型系统。本文的创新之处则主要体现在以下几个方面:1、在采用正交组合模式对体系结构与模型驱动架构进行集成的基础上,提出一种基于体系结构元模型和模型转换的领域软件开发方法。本文首先将体系结构模型抽象到一个单独的层次并将其置于同模型驱动架构正交的位置,然后通过在两者元模型之间建立映射转换关系将体系结构的概念分别注入到模型驱动架构的三个抽象层次中,实现两者的有效集成。在此基础上本文提出一种基于体系结构元模型和模型转换的领域软件开发方法,采用体系结构元模型作为系统建模的基本元素并以模型转换为推动进行领域软件开发。在该方法中元模型采MOF标准进行构建,提供了一种规范性的体系结构描述方法,使得体系结构模型便于理解并且易于实现同其它模型之间的转换;体系结构作为领域内软件产品和开发经验的一种复用方式,避免了重复工作,实现了对开发过程的经验指导,保证了开发过程的正确性和高效性;模型转换推动的开发过程能够在各个阶段之间形成一种平滑连接,提高了开发过程的自动化程度,增强了开发过程的一致性和可追踪性,有助于提升软件质量和可复用能力。2、提出一种基于体系结构元模型的需求分析和表示方法。传统的观点认为体系结构只是解空间中的概念,这给模型转换和体系结构在开发过程的连续性带来了很大的阻碍。本文将体系结构中的基本概念——构件和连接子——引入到需求阶段,把需求模型划分为功能节点和组织节点两类与之对应,并通过一个需求阶段构件和连接子的识别规则集对它们进行分析;之后采用场景元模型和交互元模型对分析结果进行组织和表示,给出了一种基于体系结构元模型的需求建模方法。这使得需求阶段和设计阶段采用统一的基本概念和规则,令后续转换工作变得自然而直接,同时有利于开发过程一致性和可追踪性的保证。3、提出一种基于QVT的约束注入模型转换方法。需求模型向体系结构模型的转换从本质上讲是从CIM模型向PIM模型的转换,目前对这类转换的研究相对较少。本文使用基于QVT描述的转换规则通过模型映射和约束注入的方式将需求模型转换为体系结构模型。转换过程以场景为单位根据QVT描述的转换规则采用增量迭代的方式进行,首先对功能性需求进行转换,然后将非功能性需求注入到功能性需求转换成的模型中。这样信息的完整性能够得到保证,需求描述中的所有信息都能被转换到体系结构层次。4、提出一种基于谓词逻辑和动作依赖的原型系统生成方法。从模型到系统实现的过渡是体系结构和模型驱动研究共同的重点,本文根据领域需求从信息对等的角度出发设计了一种从体系结构模型到原型系统的自动转换生成方法。方法首先对模型进行形式化表示和分析完成基础信息组织,接着通过采用谓词逻辑和动作依赖进行自动化的约束抽取获得隐式信息,然后将这些信息封装成不同粒度的构件,最后利用模型编织的方法实现构件组合生成体系结构模型的原型系统实现。该方法以谓词逻辑作为数学基础,综合利用静态模型和动态模型中的显式和隐式信息,采用自动化的转换过程,保证了转换过程的正确性和完整性,易于处理需求变化对系统造成的影响,有效的降低了软件开发风险,提高了软件开发效率。综上所述,本文对领域软件开发中的体系结构元模型以及模型转换方法进行了系统性的分析和研究,提出了以体系结构元模型为基础使用模型转换驱动的领域软件开发方法。为领域内的经验积累和软件复用提供了一条有效的途径,同时丰富了模型驱动方法在实用化方向的研究,具有理论意义和应用价值。