| 【中文题名】 | 软件错误分析专家系统研究开发 |
| 【英文题名】 | Research and Development of Software Exception Analysis for Expert System |
| 【学科专业】 | 计算机应用技术 |
| 【论文级别】 | 硕士论文 |
| 【投稿时间】 | 2004-4-23 |
| 【中关键词】 | 专家系统,知识表示,推理机制,知识获取,Visual,Prolog语言 |
| 【英关键词】 | expert system,knowledge representation,inference mechanism,knowledge acquirement,Visual Prolog language, |
| 【分类导航】 | 工业技术>自动化技术、计算机技术>自动化基础理论>人工智能理论>专家系统、知识工程> |
| 【论文摘要】 |
软件错误分析是软件测试工作中必要的过程和手段,Web技术的出现,对软件测试又提出了新的要求。在软件测试中采用软件错误分析专家系统作为辅助工具,不仅有助于测试工作的顺利完成,还可以保证测试结果的可靠性。
作者在研究软件测试以及专家系统核心技术(推理方法与推理机制、解释机制、知识获取和知识表示等)的基础上,采用Visual Prolog语言,完成了软件错误分析专家系统的具体开发。
系统可对Internet环境下运行软件的常见错误进行诊断,给出错误分析,提出修改建议,并可解释错误分析过程,给出推理步骤。系统还具备自学习功能,可不断将新的专家知识充实到知识库,提高自身诊断和推理能力。
系统的桌面应用版本可以在目前流行的Windows操作系统下运行,具有友好的图形用户界面。系统的网络应用版本是B/S三层架构,可以在Internet上通过浏览器使用,专家系统以应用程序的形式存放于逻辑应用服务器上,在数据库服务器上用关系数据库存储知识库。
本文重点介绍了系统的总体架构,以及知识表示、推理机制、知识获取等模块的实现方法;阐述了桌面应用版本下用Visual Pro... |
| 【论文题纲】 |
|
1 概述 |
9-13 |
|
1.1 软件错误分析概述 |
9 |
|
1.2 专家系统技术概述 |
9-10 |
|
1.3 专家系统技术在软件错误分析领域的应用概况 |
10-11 |
|
1.4 课题概况 |
11-13 |
|
2 系统总体架构 |
13-20 |
|
2.1 专家系统的基本结构 |
13-14 |
|
2.2 本系统采用的专家系统开发工具--PROLOG简介 |
14-15 |
|
2.3 本系统的两个版本 |
15 |
|
2.4 桌面应用版本介绍 |
15-17 |
|
2.4.1 系统设计 |
15-16 |
|
2.4.2 运行环境 |
16-17 |
|
2.5 网络应用版本介绍 |
17-20 |
|
2.5.1 系统逻辑结构 |
17 |
|
2.5.2 系统网站总体结构 |
17-19 |
|
2.5.3 系统网络环境 |
19 |
|
2.5.4 系统运行环境 |
19-20 |
|
3 知识表示与知识库的形成 |
20-34 |
|
3.1 常见知识表示方法 |
20-24 |
|
3.1.1 产生式系统 |
20-22 |
|
3.1.2 逻辑谓词 |
22-23 |
|
3.1.3 框架系统 |
23-24 |
|
3.2 本系统采用的知识表示方法 |
24-25 |
|
3.3 本系统知识库的形成 |
25-30 |
|
3.3.1 错误分析经验的自然语言描述 |
25-27 |
|
3.3.2 知识库的具体建立过程 |
27-30 |
|
3.4 本系统知识库的结构 |
30-34 |
|
4 推理机制和控制策略 |
34-48 |
|
4.1 常见的推理技术 |
34-35 |
|
4.1.1 正向推理 |
34 |
|
4.1.2 反向推理 |
34-35 |
|
4.1.3 不确定推理 |
35 |
|
4.1.4 启发式推理 |
35 |
|
4.2 本系统采用的推理技术和控制策略 |
35-39 |
|
4.2.1 Visual Prolog系统采用的推理技术 |
35-36 |
|
4.2.2 本系统推理机的工作方式 |
36-38 |
|
4.2.3 本系统采用的控制策略 |
38-39 |
|
4.3 推理机制的实现 |
39-43 |
|
4.4 网络应用版本中推理机制的实现 |
43-48 |
|
4.4.1 实现流程 |
44-46 |
|
4.4.2 接收推理入口子目标 |
46 |
|
4.4.3 实现动态交互 |
46-48 |
|
5 知识获取 |
48-58 |
|
5.1 常见的知识获取技术 |
48-49 |
|
5.1.1 知识编辑 |
48 |
|
5.1.2 基于模型的知识获取 |
48-49 |
|
5.1.3 机器学习 |
49 |
|
5.2 本系统采用的知识获取方法 |
49-50 |
|
5.3 桌面应用版本下知识获取模块的实现 |
50-55 |
|
5.3.1 知识获取模块的实现流程 |
50-51 |
|
5.3.2 修改规则模块的实现 |
51-55 |
|
5.4 网络应用版本下的知识获取 |
55-58 |
|
6 知识库管理 |
58-67 |
|
6.1 桌面应用版本下知识库管理模块的实现 |
58-61 |
|
6.2 网络应用版本下知识库管理模块的实现 |
61-62 |
|
6.3 关系数据库与知识库文件之间的转换 |
62-67 |
|
6.3.1 采用关系数据库存储知识库的原因 |
62-63 |
|
6.3.2 数据库的设计 |
63-64 |
|
6.3.3 关系数据库到知识库文件的转换 |
64-67 |
|
7 系统开发过程中的一些心得 |
67-72 |
|
7.1 和VISUAL PROLOG语言程序设计相关 |
67-70 |
|
7.1.1 关于Visual Prolog语言中菜单的实现 |
67-68 |
|
7.1.2 在菜单点击事件中实现nondeterm谓词 |
68-69 |
|
7.1.3 实现对话框和用户交互 |
69-70 |
|
7.2 规则号的自动生成 |
70-72 |
|
致谢 |
72-73 |
|
参考文献 |
73-77 |
|
作者在攻读硕士期间所发表的论文及参与的科研项目 |
77 |
|
| 【DOI】 | LunWen.ID:2.2008.386956 |