论文部分内容阅读
模型驱动架构(MDA)是一种以模型为核心的软件开发方法。MDA开发过程以需求分析阶段为起点,软件开发人员通过阅读分析非形式化或半形式化的需求规格说明,手工创建平台无关模型(PIM)。随着软件产业的飞速发展,人们对软件自动化程度的要求越来越高,需求与PIM的脱节以及PIM的手工创建方式阻碍了软件自动化发展进程。 为了解决需求阶段软件自动化程度不足的问题,本文将MDA与B方法相结合,在MDA需求阶段引入形式化需求描述,提出B方法需求规格说明至一种动态PIM——统一建模语言(UML)状态模型的自动转换方法。UML状态模型有助于开发人员理解B方法需求规格说明,发现需求中的逻辑错误。将平台无关的UML状态模型转换为LabVIEW状态模型等平台相关模型(PSM)后,还能应用到相应平台的状态图编程中,使得基于事件的控制与测试系统的自动化生成成为可能。 在研究MDA基本理论、核心标准、元建模方法和模型转换技术的基础上,本文选择基于元模型的模型转换方法作为B需求模型至UML状态模型的转换方法。通过分析状态信息在B方法规格说明中的存在形式和改变方式,本文从最终实现效果的角度提出了B方法规格说明至UML简单状态图和UML复合状态图的一组转换方法。 在模型转换实现技术方面,本文首先分析B语言词法规则和语法规则,建立B需求元模型。UML状态元模型则由Eclipse开源项目UML2的元模型改写而成。其次,B方法规格说明由B语言直接撰写而成,无法应用到现有的模型转换技术和工具中,需要设计B语言编译器,将B方法规格说明转换为与B需求元模型一致且能够被现有工具识别的XMI格式。再次,本文为B需求模型和UML状态模型设计了ATL模型转换规则。最后,本文将UML状态模型的存储格式调整为能被UML建模工具UML2Tools识别的格式,实现状态模型的可视化显示和编辑。 通过上述研究,本文确立了一种B需求模型至UML状态模型的自动转换方法和实现技术途径。经过规格说明编译、模型转换和模型调整三个步骤,B方法规格说明可被自动转换为可视化的UML状态图。改进后的MDA能够在过程源头提供需求有效性和一致性验证,保证了MDA过程后续阶段输入工件的准确性,MDA过程的优点也可得到良好的保持。自动取款机实例的应用,验证了模型转换方法的正确性和有效性。