Z规格说明中序列和包的自动求精研究与实现

Z规格说明中序列和包的自动求精研究与实现

论文摘要

为了克服自然语言和程序设计语言描述规格说明产生的缺陷,人们提出了一种新的软件开发范型,其基本思想是对系统建立一个数学模型,研究和提供一种基于数学的或形式语义学的规格说明语言,用这种语言严格的描述所开发的软件功能,并由自动程序设计的加工模型来得到可执行的代码。在软件开发系统开发过程中,系统需求分析和规格说明非常重要。该阶段形成的过程说明文档既是软件开发人员和用户之间的规约,又是软件开发的起点。本课题以Z规格说明的自动求精为目的,提出了用STL中的不同容器表示Z规格说明数据类型的思想。结合C++语言的模板、重载技术和STL模板库对数据结构和通用算法的强大支持功能,提供了相应的函数模板。以Z规格说明中的序列和包为研究对象,利用C++及STL技术设计了序列和包各种操作的求精规则(这里采用STL中的deque容器表示Z规格说明中的序列,map容器表示Z规格说明中的包),并产生目标程序,即把Z规格说明转换为C++代码。主要工作是设计了Z规格说明的自动扫描器、解释器,定义了Z规格说明中的关键字和符号表,给出了对应规则,实现了序列和包的自动求精;给出了Z规格说明的正确性验证方式,提供了错误处理的手段,并举例说明规格说明的写法以及实现。最后提供了程序的实验结果。Z规格说明可以贯穿软件开发的整个过程,而在软件开发过程中都会先应用于需求分析阶段,本课题讨论的也就是这个阶段。由于求精过程不采用手工操作,避免了人工的误操作或演算错误导致的求精前后不一致,保证了系统的一致性和完整性。加快了程序软件开发的自动化和智能化的进程。

论文目录

  • 摘要
  • Abstract
  • 1 绪论
  • 1.1 课题研究背景
  • 1.1.1 形式化方法
  • 1.1.2 Z规格说明
  • 1.2 国内外研究现状
  • 1.3 课题意义
  • 1.3.1 采用 Z规格说明的必要性
  • 1.3.2 自动求精的可行性分析
  • 2 Z规格说明的预处理
  • 2.1 扫描器
  • 2.1.1 字符表
  • 2.1.2 单词表
  • 2.1.3 公理描述
  • 2.1.4 对表达式的处理
  • 2.2 解释器
  • 2.2.1 解释器的设计思想
  • 2.2.2 解释器的实现过程
  • 3 自动求精
  • 3.1 求精的概念
  • 3.2 STL简介
  • 3.2.1 概述
  • 3.2.2 容器(containers)
  • 3.2.3 算法(algorithms)
  • 3.2.4 迭代器(iterators)
  • 3.2.5 其他组件
  • 3.3 求精的方法
  • 3.4 求精过程
  • 3.4.1 语法制导
  • 3.4.2 数据求精
  • 3.4.3 操作求精
  • 3.5 求精的难点分析
  • 4 序列和包的自动求精
  • 4.1 Z规格说明的数据结构
  • 4.2 数据的初步求精
  • 4.3 翻译过程和函数
  • 4.3.1 变量声明
  • 4.3.2 声明子程序
  • 4.3.3 子程序调用
  • 4.3.4 中间代码的生成
  • 4.3.5 代码的优化
  • 4.4 序列操作的求精
  • 4.5 包的操作求精
  • 4.6 程序执行结果
  • 5 错误处理
  • 5.1 Z规格说明的正确性验证
  • 5.1.1 Z规格说明的完整性
  • 5.1.2 Z规格说明的一致性
  • 5.1.3 Z规格说明类型检查
  • 5.2 中间文档的错误处理
  • 5.2.1 错误类型
  • 5.2.2 错误恢复
  • 5.2.3 错误定位
  • 6 实例
  • 6.1 序列的实例
  • 6.2 包的求精实例
  • 7 结论
  • 参考文献
  • 在学研究成果
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  

    Z规格说明中序列和包的自动求精研究与实现
    下载Doc文档

    猜你喜欢