一种基于OCL的约束验证框架

一种基于OCL的约束验证框架

论文摘要

对象约束语言OCL的出现,为精确化模型奠定了基础。而随着模型在软件开发中的地位越来越重要,如何对施加在模型上的OCL约束进行验证从而提高模型的准确性,保证模型的一致性工作显得极其重要。主流的建模工具不支持OCL约束的定义,或者在代码生成的过程中忽略了施加在模型上的约束,少数支持约束代码生成的工具缺乏完整的验证机制,需要用户手动编写验证代码相关调用,这就带来了模型间的不一致性问题。在软件系统规模不断增大和复杂化的背景下,这些建模工具已经不能完全适应用户的需求。针对这样的问题,本文提出了一种基于OCL的约束验证框架。框架通过定义约束提供了更加精确的模型,并且通过模型转换的方法生成模型代码和验证器,为用户提供最大的方便,减少了模型与所生成代码在软件生命周期中的一致性问题,提高了软件开发的效率。具体而言,本文的工作包括以下几个方面:1)基于Ecore元模型中的EAnnotation元素,提出了一种模型约束的定义方法,使得用户可以在开发模型的同时施加模型约束,方便用户的同时,丰富了模型的语义,提高了模型的准确性。2)通过为上述包含约束信息的模型定义JET(Java Emitter Templates)代码生成模板,在生成模型代码的同时,为模型生成相应的验证器,将验证器注册在模型代码中完成模型实例的验证工作。在代码层面实现了模型代码与验证逻辑的松耦合,保证了模型和代码之间的一致性,同时也提高了开发效率。3)基于Eclipse中的图形编辑框架GEF,设计并实现了一个基于上述框架的体系结构开发环境——Artemis-EIDE,工具在上述框架中定义了软件体系结构中的基本模型和模型约束,使用框架所生成的模型代码以及验证器代码,根据现有的可视化建模框架GEF完成部分定制,实现了软件体系结构的建模和验证环境,以此探索和展示框架在模型实例验证支持上的特点和潜在优势。

论文目录

  • 摘要
  • abstract
  • 第一章 绪言
  • 1.1 研究背景
  • 1.2 研究现状
  • 1.3 本文工作
  • 1.4 本文组织
  • 第二章 相关工作
  • 2.1 模型驱动架构(Model-driven Architecture)
  • 2.1.1 MDA概述
  • 2.1.2 MDA标准
  • 2.1.3 元对象机制MOF
  • 2.1.4 MDA作用
  • 2.2 Eclipse建模框架(EMF)
  • 2.3 对象约束语言(Object Constraint Language)
  • 2.3.1 概念
  • 2.3.2 OCL应用示例
  • 2.3.3 OCL与MOF
  • 2.4 相关工具
  • 2.4.1 USE
  • 2.4.2 Dresden OCL
  • 2.4.3 OCLE
  • 2.5 软件一致性
  • 2.5.1 一致性问题
  • 2.5.2 一致性问题的分类
  • 2.5.3 一致性问题的解决
  • 2.6 本章小结
  • 第三章 基于EMF的约束验证框架设计
  • 3.1 Ecore元模型与EMF Validation Framework
  • 3.2 基于OCL的约束验证框架
  • 3.2.1 总体框架
  • 3.2.2 基于Ecore元模型的约束定义方案
  • 3.2.3 约束代码生成方案
  • 3.2.4 约束验证工作
  • 3.3 运行实例及结果分析
  • 3.3.1 实例设计
  • 3.3.2 约束设计
  • 3.3.3 模型实例构建及结果分析
  • 3.4 本章小结
  • 第四章 基于框架的体系结构建模工具Artemis-EIDE的实现
  • 4.1 Artemis-EIDE设计概述
  • 4.2 Artemis-EIDE模型及约束设计
  • 4.3 Artemis-EIDE工具代码生成
  • 4.4 约束验证器在Artemis-EIDE工具中的使用
  • 4.5 Artemis-EIDE运行展示
  • 4.6 约束验证框架所带来的优势
  • 4.7 本章总结
  • 第五章 总结与展望
  • 5.1 工作总结
  • 5.2 研究展望
  • 致谢
  • 简历与科研成果
  • 参考文献
  • 相关论文文献

    标签:;  ;  

    一种基于OCL的约束验证框架
    下载Doc文档

    猜你喜欢