VMIDS系统的早期版本采用HMB模式,图8-13是HMB模式的VMIDS系统示意图。这里,原子构件对应于子智能虚拟控件,而复合构件对应于复合智能虚拟控件。
图8-13 HMB模式的VMIDS系统示意图
通过分析图8-13中HMB的描述以及根据VMIDS早期版本的开发过程,可以发现HMB模式存在如下问题:
1)要使基于HMB模式的VMIDS系统可靠的运行,必须要求在系统初始化的时候,载入所有的虚拟控件库和仪器功能库,登记所有的消息。而在实际拼搭和使用仪器的过程中,往往并不需要所有“素材”,于是因载入了过多不必要的资源,使得仪器执行效率大大降低。(www.xing528.com)
2)在HMB模式中,消息的传递、接收和响应,或者通过查询遍历所有的智能虚拟控件实现;或者则通过消息广播实现,即消息进入消息总线,所有的智能虚拟控件都接收,如果有对应的服务(请求或提供)则响应,否则不响应。这两种方式实际上都需遍历所有控件,使得消息的响应效率低,当控件规模很大的话,效率更是极低。
3)考察图8-13发现,控件的复用效率实际上较低。复合控件CC1和CC2中都包含了原子控件C4,复合控件CC1和CC2及它们上一层次消息总线上都包含了原子控件C3,而在HMB模式下,则需在系统中创建C3三个实例和C4两个实例。当如CC1和CC2等所示的复合控件增多时,原子控件的实例将可能形成泛滥。而实际上,有时一个实例即可实现。
针对上述问题,我们提出了DR-HMB模式。在DR-HMB模式中,虚拟控件库和仪器功能库的载入、消息的登记均动态进行,也就是只有在用户需要的时候才进行;同时,如果不需要时,则可动态清除。对于消息的传递、接收和响应,借鉴网络通信中的路由表原理,在消息登记时,建立消息路由表,于是消息发送者利用消息路由表,通过消息总线直接发送到消息接收者,而无需在总线中漫游、遍历所有控件。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。