[发明专利]一种基于体系结构演化的软件可信保证方法有效
| 申请号: | 200910044524.X | 申请日: | 2009-10-13 |
| 公开(公告)号: | CN101673197A | 公开(公告)日: | 2010-03-17 |
| 发明(设计)人: | 王怀民;丁博;史殿习;李骁;尹刚 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F21/22 |
| 代理公司: | 国防科技大学专利服务中心 | 代理人: | 郭 敏 |
| 地址: | 410073湖*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 体系结构 演化 软件 可信 保证 方法 | ||
技术领域
本发明涉及软件维护技术领域,具体涉及一种当软件运行环境超出开发阶段预设场景时,通过软件体系结构的在线演化来保证其持续正确运行的方法。
背景技术
软件可信是指软件运行行为及结果符合人们预期、满足用户需求,在受到操作错误、环境影响等干扰时仍能持续提供服务。传统的程序正确性证明、软件测试等可信保证方法在开发阶段实施,需要依赖对软件未来运行环境的假设。然而,随着嵌入式软件、互联网软件、7x24小时提供服务的社会和商业关键系统等软件形态的出现,软件运行时的资源变化、外部服务失效、硬件故障、恶意攻击等各种环境因素已很难在开发阶段被精确预期,上述方法已不足以保证软件的可信。
环境无法在开发阶段被精确预期,因此要保证软件的可信,只能立足于软件发布后由第三方(维护人员或其它软件实体)在必要时修改和扩展软件的环境适应能力。所谓环境适应,是指软件响应环境变化、调整自身行为的过程。目前通常使用上下文事件来表达环境的变化:上下文是环境的某个维度(如可用内存或温度),可以使用“上下文名称-上下文值”的名值对来表示,上下文事件则是环境在该维度上状态的变化。在此基础上,软件的环境适应过程可以细分为感知、决策和执行等阶段:感知阶段获取上下文事件,决策阶段决定事件发生时执行何种动作,执行阶段则负责具体动作的实施。
软件环境适应能力的扩展可通过停机升级的方式实现,但这一方法需要获得软件源码,并且付出停止服务、重新部署等高昂代价。2002年Sajadi等提出了一种通过CORBA截获器在中间件中动态织入代码来使软件获取非预设环境下适应能力的方法;2004年都柏林大学的Chisel项目使用一种名为Iguana/J的策略语言来在软件中描述如何处理环境数据的逻辑,并通过策略的在线升级来使得软件可以应对非预设环境;2008年Pukall等提出了一种通过Java虚拟机内置机制在部署时对软件进行修改、使其适应不同环境的方法。然而,上述方法存在共同的不足:在环境超出预设时,许多情况只需修改环境适应过程中的决策规则或者增加新感知手段,但上述方法中的感知、决策和执行三个阶段并未明显区分,不支持各个阶段的单独在线修改,导致环境超出预设时软件可信保证的代价变得高昂。
软件的体系结构模型将软件系统抽象为由粗粒度的计算实体(构件)和实体间交互关系(连接子)所组成的网络,软件体系结构在线演化是指软件发布后通过对其体系结构模型的修改来对软件系统进行调整,如增删替换构件、连接子等。CORBA构件模型CCM(CORBA Component Model)是OMG组织制定的一个用于开发和部署分布式应用的构件模型规范,对构件、作为构件运行环境的构件容器、构件开发方法等内容进行了定义。CCM构件对外提供服务的方式包括事件端口和普通接口:前者输出代表某种状态变化、可被发布和订阅的事件;后者是构件方法与属性集合,其中方法是构件提供的业务功能,属性是构件对外暴露的状态。
软件体系结构在线演化可在软件不停机情况下对组成软件的构件和连接子进行调整。构件和连接子封装了软件的不同功能模块及功能模块间的交 互,从而使软件维护人员的注意力可以放在软件的总体架构和系统级配置上,而非繁琐而难以理解的细节代码上。因此,将软件体系结构在线演化与非预设环境下的软件可信保证相结合具有重要意义。目前尚无公开的技术资料涉及二者有机结合的成果或成熟技术方案。
发明内容
本发明要解决的技术问题是当环境超出开发阶段的预设时,提供一种支持第三方(维护人员、除软件自身之外的其它软件实体)对软件环境适应过程中感知、决策和执行各个阶段进行独立在线修改的方法,从而使得软件可以以较低代价、在不停机情况下获得应对非预设环境的能力,保证软件可信。
本发明的技术方案是将软件环境适应过程中感知和执行阶段封装为不同的构件,将软件依据环境进行动作决策的规则封装为策略连接子;然后扩展构件容器,一方面支持策略连接子的解释执行,实现软件适应过程,一方面允许第三方有选择性地在运行时增删、替换构件和连接子,从而实现软件环境适应过程中各个阶段的独立在线修改。
本发明的具体实现基于CCM构件模型,包括以下六个步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910044524.X/2.html,转载请声明来源钻瓜专利网。





