黑板模式

1黑板系统(blackboard system)

黑板系统是一种问题求解模型,是组织推理的步骤、控制状态数据和问题求解之领域知识的概念框架,它将问题的解空间组织成一个或多个应用相关的分级结构。分级结构的每一层信息由一个唯一的词汇来描述,它代表了问题的部分解。领域相关的知识被分成独立的知识模块,它将某一层次中的信息转换成同层或相邻层的信息。各种应用通过不同知识表达方法、推理框架和控制机制的组合来实现。
 

2黑板系统的组成

黑板系统主要由以下三部分组成。
(1)知识源:包含独立的、与应用程序相关的知识,知识源之间不直接进行通讯,
它们之间的交互只通过黑板来完成。
(2)黑板数据结构:按照与应用程序相关的层次来组织并解决问题的数据,知识源
通过不断地改变黑板数据来解决问题。
(3)控制;完全由黑板的状态驱动,黑板状态的改变决定了需要使用的特定知识。
黑板系统示意图黑板系统示意图
 

3影响黑板系统的因素

影响黑板系统设计的最大因素是引用问题本身的特性,但是支撑应用程序的黑板体系结构有许多相似的特征和构件。对于特定应用问题,黑板系统可通过选取各种黑板、知识源和控制模块的构件来设计;也可以利用预先制定的黑板体系结构的编程环境。
 

4典型应用

黑板系统的典型应用是信号处理领域,如网络信息检索、电子商务、自动控制、办公自动化、商业管理智能决策、语音和模式识别、智能控制领域等。
 

5常见实现方式

黑板模式是一种常用的架构模式,应用中的多种不同数据处理逻辑相互影响和协同来完成数据分析处理。就好像多位不同的专家在同一黑板上交流思想,每个专家都可以获得别的专家写在黑板上的信息,同时也可以用自己的分析去更新黑板上的信息,从而影响其它专家。
在实际应用中常见的实现模式有:
A 利用数据库
利用数据库充当黑板,不同的应用共享数据库中信息,并且可以更新数据信息。这也是最常见的实现方式。
特点:
1 便于实现信息的查询,筛选和统计,这方面关系数据库提供了SQL 92的强大支持。
2 不能用于较高实时性要求的环境,这种实现是工作在“拉模式”下的,并且高频率的访问数据库会导致严重的系统性能问题。
B 利用发布—订阅模式
这种实现方式通常采用消息队列作为黑板,队列工作在主题模式(Topic),专家作为队列的订阅者,同时可以向队列发送消息,消息会被发送至所有订阅者。以上过程实现了专家间的信息交流。
特点:
1 可以有效应用于实时性要求较高的系统,这种实现工作在“推模式”下。
2 难于实现信息的统计分析,不像实现方式一那样可以通过SQL支持,这些工作必须开发者自己完成。
 

6其他

对系统进行划分,使其包含一个黑板组件、一系列知识源以及一个控制组件。 
黑板为中央数据存储区,解空间中的元素及控制数据都存储在这里。黑板提供了一个接口,让所有知识源都能够对其进行读写。 
每个知识源都是一个独立的子系统,解决整个问题的特定方面。 
控制组件运行一个监视黑板内容变化的循环,并决定接下来采取什么措施。

原文地址:https://www.cnblogs.com/XiaoPiHaiEr/p/9070432.html