什么是软件设计的黑板模式:优点缺点

黑板模式适合于没有确定的求解方法的复杂问题。黑板模式将软件系统划分为黑板、知识源和控制器三类构件:

(1)黑板。负责保存问题求解过程中的状态数据,并提供这些数据的读写服务。

(2)知识源。负责根据黑板中存储的问题求解状态评价其自身的可应用性,进行部分问题求解工作,并将此工作的结果数据写入黑板。

(3)控制器。负责监视黑板中不断更新的状态数据,安排(多个)知识源的活动。

黑板模式示意图如图6-14所示。

图6-14 黑板模式示意图

黑板模式的典型动作过程如下:

(1)根据状态选取知识源。控制构件观察黑板中的状态数据,决定哪些知识源对后续的问题求解可能有贡献,然后调用这些知识源的评价功能,进一步选取参与下一步求解活动的知识源。

(2)问题求解,更新状态。被选中的知识源基于黑板中的状态数据将问题求解工作向前推进一步,并根据此步骤的结果更新黑板中的状态数据。

(3)重复,直到问题解决。控制构件不断重复上述控制过程,直至获得满意或比较满意的结果。

黑板模式具有以下优点:

(1)黑板模式的知识源和控制构件可灵活更换、升级,支持采用不同的知识源、不同控制算法来试验各种问题求解方法。

(2)知识源之间没有互操作,知识源与控制构件和黑板之间均通过良好定义的接口进行交互,知识源的复用性较好。

(3)知识源的问题求解动作是探索性的,允许失败和试错,采用此模式的软件系统具有较好的容错性和健壮性。

同时,黑板模式也存在着以下缺点:

(1)问题求解性能较低、有时无法预测求解时间。

(2)不能确保获得最优解。

(3)知识源和控制器两种构件的开发困难。

(4)问题求解路径不确定,软件测试困难。

版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。http://www.apmygs.com/530.html
返回顶部