1. 基于构件的动态系统结构
(1)分为应用层、中间层、体系结构层。
(2)应用层处于最低层,包括构件连接、构件接口和执行。可以添加新的构件、删除或更新已经存在的构件。
a. 构件连接:定义了连接件如何与构件连接。
b. 构件接口:说明了构件提供的服务。
(3)中间层包括连接件配置、构件配置、构件描述以及执行。可以添加版本控制机制和不同的构件装载方法。
a. 连接件配置:主要是管理连接件及接口的通信配置。
b. 构件配置:管理构件的所有行为。
c. 构件描述:对构件的内部结构、行为、功能和版本等信息加以描述。
(4)体系结构层位于最上层,控制和管理整个体系结构,包括体系结构配置、体系结构描述和执行。可以更改和扩展更新机制,更改系统的拓扑结构,以及更改构件到处理元素之间的映射。
a. 体系结构描述:主要是描述构件以及它们相联系的连接件的数据。
【主要对体系结构层的行为进行描述】
b. 体系结构配置:控制整个分布式系统的执行,并且管理配置层。
(5)更新过程:
a. 检测更新的范围:判断是局部更新还是全局更新
局部更新作用于需要更新的构件的内部,不影响系统的其他部分。
全局更新影响系统的其他部分,需要发送请求到更高的抽象层。
b. 更新准备工作
如果更新发生在应用层,构件配置器等待参与的进程发出信号,以表明它们处于可安全执行更新的状态。
如果更新发生在配置层,就需要等待连接件中断通信,其他构件配置器已完成它们的更新。
c. 执行更新,并告知更新发起者更新的结果
d. 存储更新,将构件或体系结构所做的更新存储到构件或者体系结构描述中
(6)CBDSAM局部更新实例:
a. 更新发起者发出一个更新请求,这个请求被送到构件配置器中,构建配置器将分析更新的类型,从而判断它是对象的局部更新
b. 构件A的配置器发出一个信号给连接件以隔离构件A的通信,准备执行更新
c. 构件A的配置器开始执行更新
d. 更新执行完毕后,构件A的构件描述被更新,并且构件A发送一个消息给连接件B,两者间的连接被重新存储起来
e. 将更新结构返回给更新发起者
(7)CBDSAM全局更新实例
a. Server构件配置器收到更新发起者提出的更新请求后,向体系结构配置器提出更新请求
b. 体系结构配置器对更新请求的类型进行分析,判断是否在更新请求限制范围内,不在更新范围内的更新不予执行;如果在更新限制范围内,体系结构配置器对更新所涉及的连接件和构件发出消息要求它们做好更新准备
c. 准备工作完成后,Client构件配置器和连接件向体系结构配置器返回就绪信息
d. 一切准备就绪后,体系结构配置器通知Server构件进行更新
e. 更新执行完毕后,向Server构件配置器、体系结构配置器和更新发起者通知更新执行完毕并返回更新结果;同时,体系结构配置器通知Client构件和连接件更新结束,可以继续正常运行