欢迎来到天天文库
浏览记录
ID:20754141
大小:147.50 KB
页数:3页
时间:2018-10-15
《基于构件的动态体系结构模型》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于构件的动态体系结构模型(CBDA)1、CBDA模型介绍:基于构件的动态体系结构模型CBDA(ComponentBasedDynamicsystemArchitecturemodel)支持运行系统的动态更新,它分为三层:应用层、屮间层和体系结构层。应用层处于最底层,包括构件连接、构件接口和执行。构件连接定义了连接件如何与构件相连接;构件接口说明了构件提供的服务,例如消息、操作和变量等等。在这一层,可以添加新的构件、删除或更新己存在的构件。中间层包括连接件配置、构件配置、构件描述及执行。连接件配置主要是连接件及接口的
2、通信配置;构件配貫管理构件的所有行为;构件描述对构件的N部结构、行为、功能和版本等信息加以描述。在这一层,可以添加版本控制机制和不同的构件装载方法。体系结构层位于最上层,控制和管理整个体系结构,包括体系结构配置器、体系结构描述和执行。其中,体系结构描述主要是描述构件以及它们相联系的连接件的数据;体系结构配置控制整个分布式系统的执行,并且管理配置层;体系结构描述主要是对体系结构层的行为进行描述。在这一层,可以更改和扩展更新限制,更改系统的拓扑结构,更改构件到处理元素之间的映射。在每一层都有一个执行部分,主要是对相应层的
3、操作进行执行。在更新时,必要情况下将会临时孤立所涉及的构件。在更新执行之前,要确保:(1)所涉及的构件停止发送新的请求;(2)在更新开始之前,连接件的请求队列屮的请求全部己被执行。而且,模型封装了连接件的所有通信,这样可以很好的解决动态更新时产生的不一致性问题。2、更新请求描述:更新可以巾用户提出,也可以巾系统自身发出请求。一般来说,一个更新描述包括以下儿个部分:⑴更新类型(updatetype):更新类型包括添加、删除和更新一个新的构件;(2)更新对象列表(listofupdatedobjects):需要更新的对象
4、类的ID号;(3)对象的新版本说明(newversionsoftheobjects):对象的新版本执行情况;(4)对象更新方法(updatemethod):更替、动态及静态;⑶更新函数(叩datefunction):用来更新一个执行对象进程的状态转换函数;⑹史新限制(updateconstraints):描述更新(包括子更新)和它们之间的关系的序列,例如只有对象A的版本〉=2.0时,对象A才能被更新。5、=“C”〉〈implementation〉•••>々object〉〈/remove〉〈objectname=“A”method:“replaee”〉l.0>l.l>〈implementation〉•••>〈/update〉6、jin=“server01//eompl“〉l.l>1.2>〈/update〉3、更新执行步骤:3.1、按照CBDA模型的结构,对系统进行更新,一般来说,冇以下几个步骤:(1)检测更新的范围。在更新执行之前,首先要判断是局部更新还是全局更新,局部更新作7、用于需更新构件的闪部而不影响系统的其他部分,全局更新影响系统的其他部分,全局更新需要发送请求到更高的抽象层。(2)更新准备工作。如果更新发生在应用层,构件配置器等待参与的进程(或线程)发出信号,以表明它们□处于可安全执行更新的状态;如果更新发生在配置层,就需要等待连接件屮断通信和其他构件配置器己完成它们的更新;如果更新发生在体系结构层,就直接执行。(3)执行更新。执行更新,并告知更新发起者更新的结果。(4)存储更新。将构件或体系结构所作的更新存储到构件或体系结构描述中。3.2、局部更新和全局更新:(1)局部更新:局部8、更新巾于只作用于需要更新的构件内部,不影响系统的其他部分,因此比全局更新要简单。(2)全局更新:以一个Cliect/Server系统动态吏新实例来说明CBDA模型在全局吏新屮的应用,在本例中,要求更新某一Server构件。按照CBDA模型,用UML的时序图来描述动态更新过程,如图所示:图3.4Client-Server系统更®时序阁步骤如下:1
5、=“C”〉〈implementation〉•••>々object〉〈/remove〉〈objectname=“A”method:“replaee”〉l.0>l.l>〈implementation〉•••>〈/update〉6、jin=“server01//eompl“〉l.l>1.2>〈/update〉3、更新执行步骤:3.1、按照CBDA模型的结构,对系统进行更新,一般来说,冇以下几个步骤:(1)检测更新的范围。在更新执行之前,首先要判断是局部更新还是全局更新,局部更新作7、用于需更新构件的闪部而不影响系统的其他部分,全局更新影响系统的其他部分,全局更新需要发送请求到更高的抽象层。(2)更新准备工作。如果更新发生在应用层,构件配置器等待参与的进程(或线程)发出信号,以表明它们□处于可安全执行更新的状态;如果更新发生在配置层,就需要等待连接件屮断通信和其他构件配置器己完成它们的更新;如果更新发生在体系结构层,就直接执行。(3)执行更新。执行更新,并告知更新发起者更新的结果。(4)存储更新。将构件或体系结构所作的更新存储到构件或体系结构描述中。3.2、局部更新和全局更新:(1)局部更新:局部8、更新巾于只作用于需要更新的构件内部,不影响系统的其他部分,因此比全局更新要简单。(2)全局更新:以一个Cliect/Server系统动态吏新实例来说明CBDA模型在全局吏新屮的应用,在本例中,要求更新某一Server构件。按照CBDA模型,用UML的时序图来描述动态更新过程,如图所示:图3.4Client-Server系统更®时序阁步骤如下:1
6、jin=“server01//eompl“〉l.l>1.2>〈/update〉3、更新执行步骤:3.1、按照CBDA模型的结构,对系统进行更新,一般来说,冇以下几个步骤:(1)检测更新的范围。在更新执行之前,首先要判断是局部更新还是全局更新,局部更新作
7、用于需更新构件的闪部而不影响系统的其他部分,全局更新影响系统的其他部分,全局更新需要发送请求到更高的抽象层。(2)更新准备工作。如果更新发生在应用层,构件配置器等待参与的进程(或线程)发出信号,以表明它们□处于可安全执行更新的状态;如果更新发生在配置层,就需要等待连接件屮断通信和其他构件配置器己完成它们的更新;如果更新发生在体系结构层,就直接执行。(3)执行更新。执行更新,并告知更新发起者更新的结果。(4)存储更新。将构件或体系结构所作的更新存储到构件或体系结构描述中。3.2、局部更新和全局更新:(1)局部更新:局部
8、更新巾于只作用于需要更新的构件内部,不影响系统的其他部分,因此比全局更新要简单。(2)全局更新:以一个Cliect/Server系统动态吏新实例来说明CBDA模型在全局吏新屮的应用,在本例中,要求更新某一Server构件。按照CBDA模型,用UML的时序图来描述动态更新过程,如图所示:图3.4Client-Server系统更®时序阁步骤如下:1
此文档下载收益归作者所有