论文部分内容阅读
软件建模是软件开发的中心活动。随着软件规模不断增大,系统结构日趋复杂,使得单一的结构图无法完全刻画整个系统,人们必须从多个角度和层次,建立一系列视图来共同规约系统的结构和行为。此外为了适应开放的环境和变化的用户需求,许多软件系统的体系结构需在运行时刻进行演化,而这些演化动作也需要在模型中加以描述。虽然当前已有多种建模语言和工具,但如何平衡其直观易用性与自动分析验证支持能力仍是一个有待深入研究的问题。 本文在前人工作基础上,尝试建立一种基于图文法的通用建模框架,它符合UML规范,支持模型动态演化行为的描绘,并支持多种模型一致性问题的分析和验证。图文法可以直接刻画图形建模元素及其组合规则,能够以语法制导的形式帮助用户正确建模,尤其是通过图转换可以直观地刻画系统的体系结构演化行为。同时,图文法具有严格的形式化基础,能对软件模型制品及制品之间的一致性分析与验证提供良好的支持。 具体说来,本文工作主要包括: 1.设计了一个基于图文法的软件建模框架。该框架支持以语法制导的模型实例生成,基于动作语义的模型演化行为建模,以及基于图约束的规约描述及相关分析和验证. 2.实现了若干基于图文法的一致性验证技术。使用图文法分析技术判断模型与元模型的顺应问题,和用子图匹配算法判断模型是否满足OCL形式的规约;采用图文法的关键对分析技术检验系统结构演化行为模型的一致性. 3.实现了一个原型系统,该系统基于Eclipse插件和GEF技术,使用开源软件AGG作为图文法引擎,界面上分3个编辑器:元模型编辑器,规则编辑器,和模型编辑器,提供给用户一个较为完整的基于图文法的建模工具。