软件体系结构 开发工具与环境.ppt
,12.5 开发工具与环境,12.5.1 开发工具 1. 面向AI的程序设计语言 面向AI的程序设计语言: LISP、PROLOG等。 优点:这些语言与领域无关, 因此它们的通用性强, 且使用灵活, 限制少, 用户能“随心所欲”地设计自己的系统。 缺点:一切皆要“从头做起”, 故开发周期长、效率低。 广泛应用领域:人工智能程序设计, 特别是专家系统程序设计。,2. 知识表示语言 针对性:针对知识工程发展起来的程序设计语言 别称:知识工程语言。 优点:此语言并不与具体的体系和范例有紧密联系, 也不局限于实现任一特殊的控制策略, 因而便于实现较广泛的问题。 缺点:知识语言与知识表示有关,因此应用受到限制。,3. 外壳系统 外壳系统别名:骨架(frame) 功能:提供知识获取模块、推理机制、解释功能等。 对专家系统的贡献:外壳系统加上领域专门知识, 即建 立起知识库就可以构成一个专家系统。 系统典型的代表:EMYCIN、KAS和EXPERT等。 优点:开发效率最高。 缺点:限制较多, 灵活性最差。,4. 组合式构造工具 功能:向用户提供多种知识表示方法和多个推理控制机构, 使用户可以选择各种组成部件, 非常方便地进行组合, 来设计、建造自己所需的专家系统。 系统的典型代表:AGE等。,5. 专家系统工具EST ESL核心:专家系统设计语言ESL ESL实质:融过程性和描述性于一体,把知识推理同其他数据处理相结合, 模块化的程序设计语言。,面就是一个用EST开发的一个小型专家系统示例: work(main): 主程序 make window(1,117,0,“d“,3,10,4,30),nl,定义主窗口 write(“微机故障诊断专家系统“),nl ,nl, make window(2,27,0,“a“,9,40,1,16) read char(-), dialog(yes), 开人机对话 meta KB(kb0), 将元知识调入内存 goal trouble(Y), 推理目标 reasoning(backward), 启动反向推理机,Show conclusion, 显示结论 Clear window ,write(“解释否(y/n)?“) ,read char (C), If C=y then explain 给出解释 Else write(“), Clear memory, Clear window. 运行结束,清屏,上面的各类工具, 是按其使用方式划分的。 但事实上, 工具系统还与应用领域有关, 现在的知识系统工具基本上都是针对某一专门领域的。,12.5.2 开发环境,专家系统开发环境作为集成化的专家系统开发工具包,功能主要有:,