[发明专利]一种基于体系结构演化的软件可信保证方法有效
申请号: | 200910044524.X | 申请日: | 2009-10-13 |
公开(公告)号: | CN101673197A | 公开(公告)日: | 2010-03-17 |
发明(设计)人: | 王怀民;丁博;史殿习;李骁;尹刚 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F21/22 |
代理公司: | 国防科技大学专利服务中心 | 代理人: | 郭 敏 |
地址: | 410073湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于体系结构演化的软件可信保证方法,要解决的技术问题是当环境超出开发阶段的预设时,提供一种对软件环境适应过程中各阶段进行在线修改的方法,保证软件可信。技术方案是将软件环境适应过程中感知和执行阶段封装为不同的构件,将软件依据环境进行动作决策的规则封装为策略连接子;然后扩展构件容器,一方面支持策略连接子的解释执行,一方面允许第三方有选择性地在运行时增删、替换构件和连接子,从而实现软件环境适应过程中各个阶段的独立在线修改。采用本发明可以在软件不停机的情况下对软件的环境适应过程进行调整,能够以较小的修改代价保证软件可信。 | ||
搜索关键词: | 一种 基于 体系结构 演化 软件 可信 保证 方法 | ||
【主权项】:
1.一种基于体系结构演化的软件可信保证方法,其特征在于包括以下步骤:第一步,依据CCM规范将软件环境适应过程中的环境感知阶段封装为感知构件,将动作执行阶段封装为行为构件;感知构件的构造方法是:将环境感知的代码依据CCM规范封装为构件,然后通过CCM构件的事件端口输出上下文事件;行为构件的构造方法是:将响应环境变化的动作代码依据CCM规范封装为构件,然后通过CCM构件的普通接口对外提供服务;第二步,将软件环境适应过程中的决策规则封装为基于可扩展标记语言XML的策略连接子;策略连接子负责连接感知构件和行为构件,说明“何时干什么”,是软件在环境变化时进行动作决策的依据;策略连接子采用XML语法,其内容基于事件-条件-动作的形式:在事件部份指定触发适应过程的上下文事件名称;在条件部份指定上下文应当满足的条件,其形式是“[上下文][运算符][值]”;在动作部份指定调用哪一个行为构件来完成环境适应过程;策略连接子与CCM规范中的其它构件配置文件保存在一起;第三步,扩展符合CCM规范的构件容器以支持策略连接子;符合CCM规范的构件容器-简称CCM容器由事件服务部件、构件生命周期管理部件以及CCM构件容器其它标准基础设施组成;在CCM容器中增加环境抽象部件和策略连接子解释部件,这些部件均是CORBA对象,通过CORBA对象加载的方式加到CCM容器中:环境抽象部件保存所有上下文的当前值,由上下文表和事件服务监视部件组成:●上下文表保存当前容器中感知构件输出的上下文事件的最新值,是一个二维表格,每一项记录一个上下文,包括感知构件名、输出上下文事件的事件端口名称和上下文当前值三个字段;●事件服务监视部件负责获得感知构件输出的所有上下文事件并将上下文事件的新值保存到上下文表中,该部件向CCM容器中事件服务部件订阅由感知构件输出的上下文事件,在接收到上下文事件后将最新的上下文值取出,在上下文表中依据感知构件名和事件端口名称查找相应记录,如果该记录已存在则用最新的上下文值更新记录,否则添加一条包括感知构件名、事件端口名和上下文值的新记录;策略连接子解释部件动态解释和执行策略连接子,它载入策略连接子,并在策略连接子事件部份指定的上下文事件发生、条件部份指定的条件被满足时,执行动作部份所指定动作;策略连接子解释部件由策略连接子载入接口、策略缓存、策略执行部件组成:●策略连接子载入接口载入指定的策略连接子,它使用符合万维网协会W3C标准的XML解释器来载入和解析策略连接子,然后将策略连接子存入到策略缓存;●策略缓存保存策略连接子,它以数组的方式存储策略连接子信息,每条信息由一个包括事件、条件和动作三个部份的结构体保存;●策略执行部件解释和执行策略缓存中保存的策略连接子,完成环境适应过程,方法是:策略执行部件定期访问CCM容器的事件服务部件,监视策略连接子事件部份指定的上下文事件是否发生;当事件发生后,从环境抽象部件中的上下文表取出策略连接子条件部份所需判断的上下文的当前值,判断该上下文当前值是否符合策略连接子指定的条件;如果符合条件,则通过CORBA的对象适配器POA定位和调用行为构件接口中的方法,完成环境适应过程;第四步,扩展CCM容器以支持软件体系结构在线修改,在CCM容器中增加软件体系结构模型部件和软件体系结构一致性维护部件,这些部件均是标准的CORBA对象,通过CORBA对象加载的方式增加到CCM容器中:软件体系结构模型部件由构件描述数组、策略连接子描述数组和访问接口组成,保存对构件和连接子的描述:●构件描述数组保存构件运行时的状态信息,每个构件状态信息包括构件名称、构件事件端口名称、构件普通接口名称及接口中提供的方法、构件各个端口或接口所连接的连接子名称;●策略连接子描述数组是一个字符串数组,保存所有策略连接子的XML描述;●访问接口提供对构件和连接子描述数组进行查询和修改的方法;查询方法是依据构件名称或连接子名称查找相应的描述数组,返回数组中对应元素的信息;修改方法是指通过对数组的添加、删除和更新操作来实现构件描述和连接子描述的增删替换;软件体系结构一致性维护部件维护软件体系结构模型部件与实际运行的构件和策略连接子之间的一致性,即当软件体系结构模型部件中的构件描述数组和连接子描述数组发生变化时,软件体系结构一致性维护部件对实际构件或策略连接子解释部件中的策略缓存作相应的变动,方法是:软件体系结构一致性维护部件定期访问软件体系结构模型部件,查询软件体系结构模型部件的变化,在有变化时分两种情况进行处理:(1)如果是构件描述数组的变化,则调用CCM容器中的构件生命周期管理部件将构件描述数组的变化映射到实际构件上,即在有新的构件描述增加到构件描述数组中时通知构件生命周期管理部件加载相应的构件、在构件描述数组中有构件描述删除时通知构件生命周期管理部件卸载相应的构件;(2)如果是策略连接子描述数组的变化,则通知策略连接子解释部件的策略连接子载入接口重新载入策略连接子;第五步:向CCM容器中载入和运行构件及策略连接子:使用CCM容器中构件生命周期管理部件载入感知构件和行为构件,使用策略连接子解释部件的策略连接子载入接口载入策略连接子;在感知构件、行为构件和策略连接子载入到CCM容器后,软件依据环境信息调整软件行为,流程是:感知构件检测环境变化并通过其事件端口将上下文事件输出到CCM容器中的事件服务部件;环境抽象部件中的事件服务监视部件获得上下文事件,并将最新的上下文值存入到上下文表;策略连接子解释部件中的策略执行部件通过定期访问事件服务部件获得上下文事件,当已载入的策略连接子事件部份指定的事件产生时,策略执行部件访问环境抽象部件中的上下文表,取出策略连接子条件部份所需检查的上下文值,判断条件是否成立,在条件成立时调用策略连接子动作部份所指定的行为构件接口中的方法来完成环境适应过程;第六步:当环境超出开发阶段预设时,在线修改软件体系结构:首先依据环境的变化确定软件的感知、决策或执行能力三者中哪些方面需要调整,然后根据不同情况执行下列动作:(1)当需要调整软件的环境感知能力时,通过软件体系结构模型的访问接口增加、删除或替换感知构件;(2)当需要调整软件的决策能力时,通过软件体系结构模型的访问接口增加、删除或替换策略连接子;(3)当需要调整软件的动作执行能力时,通过软件体系结构模型的访问接口增加、删除或替换行为构件;在上述动作中,如果需要开发新的感知构件、行为构件或策略连接子,则分别按照第二步或第三步实施。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910044524.X/,转载请声明来源钻瓜专利网。