软件架构风格-黑板架构风格(Blackboard architecture)
什么是黑板架构风格
- 该架构是一个任务解决策略,它使用独立的模块(知识源)来解决一个共同的问题。
- 该架构的名称来自于人们在黑板周围的合作方式。每个人都坐在黑板周围,问题会被写在黑板上。 当一个人可以解决子问题时,这个人就会去黑板上添加他知道的部分解决方案。这样反复进行,直到找到一个集体解决方案。
- 整个过程是机会主义的,激活知识来源的顺序并不是预先确定的。它纯粹是在每个控制周期内根据黑板的当前状态来决定的。
- 知识源之间不进行交流,只通过黑板进行合作。
个人理解就是:现在有一个算术题,把它写到黑板上,然后有甲乙丙丁四个小朋友,分别会加减乘除。现在让四个小朋友排成一个圈在黑板上解答,不分先后。当轮到甲小朋友上去解答时,它只负责算术题的加法部分,然后将计算的结果写在黑板上,后面的小朋友在它的解答基础上解答自己会的那部分。用这种逻辑反复循环,直到问题全部被解答出来。
参考链接:
https://cs.uwaterloo.ca/~m2nagapp/courses/CS446/1181/Arch_Design_Activity/Blackboard.pdf
http://users.encs.concordia.ca/~gregb/home/PDF/soen6461_blackboard_arch.pdf