毕业设计:文献参考(6)
一、基本信息
- 标题: UML动态行为图的机械语义形式验证与精化研究
- 来源:华东师范大学
- 作者:窦亮
二、研究背景
可见,在软件系统设计建模和模型精化的过程中,生成形式规范并维持其在精化过程中的一致性需要大量的努力和对相关人员的培训。针对以上的问题,本文关注用于软件设计动态建模的UML序列图和状态图,给序列图和状态图定义和实现机械语义,在定理证明器Coq中对基于UML的软件设计模型进行机械验证,对模型精化关系进行了研究,力图为保证正确的模型精化过程提供有效的理论和工具支持,以提高软件设计过程中的正确性和可靠性。
三、具体内容
本文共分为七章,内容分别如下:
第一章为绪论部分。首先,陈述了本文研究问题。接着,介绍国内外研究背景现状,包括形式化方法的重要性及其发展历程、UML形式化的现状、软件设计和开发过程中的精化,以及定理证明器coq的应用现状和机械语义的概念等。然后,介绍了本文研究内容。最后,说明了本文组织结构,以及己发表文章与本文章节的联系。
第二章为背景和相关技术部分。首先,介绍了OMG提出的软件开发框架MDA的基本理论,以及MDA的核心技术标准。接着对UML2.4进行了概述,按静态图和动态图两个类别列举了UML2.0中的常见图。然后介绍了元建模语言Kermeta,对Kermeta语言的命令式编程特性、面向对象编程特性、面向模型编程特性和面向方面编程特性进行了介绍。最后对定理证明器Coq进行介绍,重点介绍了归纳数据类型和归纳谓词的定义和使用方法,以及在Coq中进行交互式定理证明的过程。
第三章,为uML序列图定义抽象语法和基于路径的指称语义,在Cock中进行实现,形成机械语义,进行形式验证。在详细介绍了}Ml,z.o序列图特征的基础上,形式化定义了抽象语法、语义域和语义函数,该指称语义涵盖了uM}.z..o序列图常用的组合片段交互操作符。接着介绍在Coq中使用归纳类型和归纳谓词实现序列图的机械语义的方法,将语义属性用Coq定理进行描述并证明,验证了语义具备的属性,并通过实例进行了分析。最后讨论了UML2.0序列图形式语义的相关工作。
第四章,为UML状态图定义抽象语法和操作语义,在Coq中进行实现,形成机械语义,进行形式验证。在详细介绍了UML2.4状态图特征的基础上,形式化定义了抽象语法和辅助函数,在此基础上先定义了处理单个输入事件的操作语义,然后定义了处理输入事件序列的操作语义,该操作语义是较为完整全面的状态图操作语义定义。接着介绍在Coq中使用归纳类型和归纳谓词实现状态图的机械语义的方法,验证了语义具备的属性,通过实例进行了分析。最后讨论了UML2.0状态图形式语义的相关工作。
第五章,讨论UML动态行为图的精化关系及其属性。首先研究了基于序列图的软件设计模型的精化关系,对精化关系给出形式化定义,并对精化关系具有的典型属性进行了证明,接着给出精化实例,并与当前有关序列图精化的研究工作进行了比较。类似地,接着研究了基于状态图的软件设计模型的精化关系,对精化关系给出形式化定义,先定义了状态图上的单步精化关系,接着对精化关系具有的典型属性进行了证明,并给出精化实例,同样也与当前有关状态图精化的研究工作进行了比较。最后,基于现有的对LTML动态行为图的机械语义形式验证和精化关系的研究,提出了可机械验证的软件设计模型精化框架。
第六章,介绍基于IKermeta实现的、在元模型层次进行的UML到Coq形式规范的自动转换工具的设计与实现。首先是转换工具的概述,然后介绍转换框架,接着分别介绍UML序列图和状态图的转换实现,分别包括元模型定义、转换规则、项目结构、核心算法及代码、测试实例几个方面。
第七章是总结与展望,总结了本文的研究成果,讨论了进一步的工作。
四、参考文献
[1]窦亮. UML动态行为图的机械语义形式验证与精化研究[D].华东师范大学,2015.