3 系统模型设计
考虑到塔机安全评判的专家系统是一个基于规则的评判类专家系统。因此,在建立系统之初,就考虑了系统的扩充性,即:建立的专家系统应该适用于塔机的安全评判,同时也可作为一个一般的专家系统工具来使用,在系统启动使用后,能够通过简单的重新构造系统的知识库再构造为其他的专家系统。根据这样的设计考虑,塔机安全评判的专家系统的知识库、知识库的建立、知识的获取应该是重要的,而且是用户可重新定义使用的部分。因此,该系统是一个基于规则的评判类专家系统和工具,为了方便和说明系统的功能,以后都把该系统简称为TQES系统。
根据前面对专家系统结构的理论介绍和要求,TQES系统总体上的结构采用基于规则的一般结构,包括以下几部分:基本数据库,初始证据库,规则库,知识获取,推理机,解释机制,人机接口,综合数据库,最终数据库。其相互关系如图3所示。下面介绍其组成部分和功能。
图3 TQES专家系统总体结构图
(1)库文件
TQES系统包括5个库文件,其实就是通常的知识库和综合数据库的具体形式体现。
规则库,即知识库,在基于规则的专家系统中,知识的表示是一组按照一定顺序排列的规则,这些规则一起组成规则库,规则库是知识的存放处。TQES的规则库包括了TQES专家系统用的所有知识。
基本数据库为系统的初始化数据文件,它为规则库的建立提供统一格式的数据。在TQES中,使用的最基本的推理单位为节点,节点包含有某种数据值、值的可靠度、数据的标识符等参数。基本数据库由节点构成。
中间数据库也叫综合数据库,该库是在推理中用的临时数据库,它也由节点组成。该库只有在TQES推理时存在,为动态库文件。
最终数据库是TQES推理结束并且成功后的数据库,该库存放推理的成功数据,它也由节点组成。该库只有在TQES推理成功后才产生,为动态库,但是可以进行存储和多种方式的输出。
推理机是TQES的主要的进行推理工作的模块,它根据用户的环境设定而进行推理。其主要功能实现如图4所示。
图4 TQES专家系统总体流程图
(2)推理机
(3)解释机制
对推理的结论和推理的过程进行解释,增加推理的透明性。
(4)人机接口
人机接口模块是TQES的特色部分,它负责处理操作人员和系统的信息交换。包括对用户的输入信息转化为系统的形式,把系统的输出信息转化为自然化语言,动态显示推理进程、阅览检查、打印各个库文件和数据的模糊化处理等。
(5)知识获取
负责获取知识,具体来讲就是构造基本数据库文件和知识库文件。TQES通过可视化环境获取数据,动态编辑、显示,自动格式化存储,并具有安全、不失真特性。
4 程序实现
按照TQES结构模型,利用基于现代设计方法学专家系统构造技术进行了程序设计。所有的程序都在VISUAL C++环境下设计并调试通过,符合C++规范。由于源程序较多(500多页,近20000行代码、40万字符),在此就不列出源代码。同时,由于TQES是一个真正Windows下的面向对象的程序,因此其功能部分和界面部分是综合的。下面列出主要源程序的作用。
Item.cpp 节点定义功能实现
ItemBase.cpp 节点库实现文件
ItemNameManager.cpp 建立基本节点库
ItemInit.cpp 初始化基本节点库
ItemBasePrint.cpp 打印节点库
ItemInitDate 获取初始化数据
MyTree.cpp 以树形显示节点库
MyList.cpp 以列表形式显示节点库
Rule.cpp 规则定义功能实现
RuleBase.cpp 规则库实现
RuleManager.cpp 建立和管理规则
RuleBasemanger.cpp 建立和管理规则库
RuleAddItem.cpp 为规则增加前提或结论
RuleDisplay.cpp 规则以自然语言显示在屏幕上
RuleEqualEdit.cpp 规则的前提和结论之间计算关系的公式编辑器
RuleList.cpp 规则库以列表显示
RulePreHeight.cpp 规则前提权重分配
Value.cpp 节点的值实现
Do.cpp 推理驱动
Doing.cpp 推理进行
DoSutuo.cpp 推理设置
ConclusionOut.cpp 显示推理结论
MainFrm.cpp 主窗口管理
Tqes.cpp 程序进程总启动
TqesView.cpp 程序视图管理
TqesDoc.cpp 程序文档管理
Tqes.cnt 程序帮助的索引
Tqes.rtf 程序帮助的源文件内容
5 结 论
TQES系统经过调试后全部达到功能指标,并对一些已经存在的塔机安全事故进行分析,结果正确、可靠,是一个值得信赖的塔机安全评判软件,可以对塔机的安全管理起到一定的协助作用。同时,考虑到软件开发的难度和塔机专业的局限性,在TQES开发之初就考虑到其功能和应用领域的不协调性。因此TQES在主文件不加修改的前提下,通过相应的库文件的重新构造或修改,就可应用到其他类似的评判类、推理类、故障诊断类专家系统中,TQES又是一个广义上的专家系统开发工具,它具有广阔的应用领域和光辉前景。