一种基于体系结构演化的软件可信保证方法.pdf

上传人:g**** 文档编号:975600 上传时间:2018-03-22 格式:PDF 页数:19 大小:1,010.50KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910044524.X

申请日:

2009.10.13

公开号:

CN101673197A

公开日:

2010.03.17

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 9/44申请日:20091013|||公开

IPC分类号:

G06F9/44; G06F21/22

主分类号:

G06F9/44

申请人:

中国人民解放军国防科学技术大学

发明人:

王怀民; 丁 博; 史殿习; 李 骁; 尹 刚

地址:

410073湖南省长沙市砚瓦池正街47号

优先权:

专利代理机构:

国防科技大学专利服务中心

代理人:

郭 敏

PDF下载: PDF下载
内容摘要

本发明公开了一种基于体系结构演化的软件可信保证方法,要解决的技术问题是当环境超出开发阶段的预设时,提供一种对软件环境适应过程中各阶段进行在线修改的方法,保证软件可信。技术方案是将软件环境适应过程中感知和执行阶段封装为不同的构件,将软件依据环境进行动作决策的规则封装为策略连接子;然后扩展构件容器,一方面支持策略连接子的解释执行,一方面允许第三方有选择性地在运行时增删、替换构件和连接子,从而实现软件环境适应过程中各个阶段的独立在线修改。采用本发明可以在软件不停机的情况下对软件的环境适应过程进行

权利要求书

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)当需要调整软件的动作执行能力时,通过软件体系结构模型的访问接口增加、删除或替换行为构件;在上述动作中,如果需要开发新的感知构件、行为构件或策略连接子,则分别按照第二步或第三步实施。

2.
  如权利要求1所述的一种基于体系结构演化的软件可信保证方法,其特征在于所述上下文表中的感知构件名为字符串类型、输出上下文事件的事件端口名称为字符串类型,上下文当前值为CORBA Any类型。

说明书

一种基于体系结构演化的软件可信保证方法
技术领域
本发明涉及软件维护技术领域,具体涉及一种当软件运行环境超出开发阶段预设场景时,通过软件体系结构的在线演化来保证其持续正确运行的方法。
背景技术
软件可信是指软件运行行为及结果符合人们预期、满足用户需求,在受到操作错误、环境影响等干扰时仍能持续提供服务。传统的程序正确性证明、软件测试等可信保证方法在开发阶段实施,需要依赖对软件未来运行环境的假设。然而,随着嵌入式软件、互联网软件、7x24小时提供服务的社会和商业关键系统等软件形态的出现,软件运行时的资源变化、外部服务失效、硬件故障、恶意攻击等各种环境因素已很难在开发阶段被精确预期,上述方法已不足以保证软件的可信。
环境无法在开发阶段被精确预期,因此要保证软件的可信,只能立足于软件发布后由第三方(维护人员或其它软件实体)在必要时修改和扩展软件的环境适应能力。所谓环境适应,是指软件响应环境变化、调整自身行为的过程。目前通常使用上下文事件来表达环境的变化:上下文是环境的某个维度(如可用内存或温度),可以使用“上下文名称-上下文值”的名值对来表示,上下文事件则是环境在该维度上状态的变化。在此基础上,软件的环境适应过程可以细分为感知、决策和执行等阶段:感知阶段获取上下文事件,决策阶段决定事件发生时执行何种动作,执行阶段则负责具体动作的实施。
软件环境适应能力的扩展可通过停机升级的方式实现,但这一方法需要获得软件源码,并且付出停止服务、重新部署等高昂代价。2002年Sajadi等提出了一种通过CORBA截获器在中间件中动态织入代码来使软件获取非预设环境下适应能力的方法;2004年都柏林大学的Chisel项目使用一种名为Iguana/J的策略语言来在软件中描述如何处理环境数据的逻辑,并通过策略的在线升级来使得软件可以应对非预设环境;2008年Pukall等提出了一种通过Java虚拟机内置机制在部署时对软件进行修改、使其适应不同环境的方法。然而,上述方法存在共同的不足:在环境超出预设时,许多情况只需修改环境适应过程中的决策规则或者增加新感知手段,但上述方法中的感知、决策和执行三个阶段并未明显区分,不支持各个阶段的单独在线修改,导致环境超出预设时软件可信保证的代价变得高昂。
软件的体系结构模型将软件系统抽象为由粗粒度的计算实体(构件)和实体间交互关系(连接子)所组成的网络,软件体系结构在线演化是指软件发布后通过对其体系结构模型的修改来对软件系统进行调整,如增删替换构件、连接子等。CORBA构件模型CCM(CORBA Component Model)是OMG组织制定的一个用于开发和部署分布式应用的构件模型规范,对构件、作为构件运行环境的构件容器、构件开发方法等内容进行了定义。CCM构件对外提供服务的方式包括事件端口和普通接口:前者输出代表某种状态变化、可被发布和订阅的事件;后者是构件方法与属性集合,其中方法是构件提供的业务功能,属性是构件对外暴露的状态。
软件体系结构在线演化可在软件不停机情况下对组成软件的构件和连接子进行调整。构件和连接子封装了软件的不同功能模块及功能模块间的交互,从而使软件维护人员的注意力可以放在软件的总体架构和系统级配置上,而非繁琐而难以理解的细节代码上。因此,将软件体系结构在线演化与非预设环境下的软件可信保证相结合具有重要意义。目前尚无公开的技术资料涉及二者有机结合的成果或成熟技术方案。
发明内容
本发明要解决的技术问题是当环境超出开发阶段的预设时,提供一种支持第三方(维护人员、除软件自身之外的其它软件实体)对软件环境适应过程中感知、决策和执行各个阶段进行独立在线修改的方法,从而使得软件可以以较低代价、在不停机情况下获得应对非预设环境的能力,保证软件可信。
本发明的技术方案是将软件环境适应过程中感知和执行阶段封装为不同的构件,将软件依据环境进行动作决策的规则封装为策略连接子;然后扩展构件容器,一方面支持策略连接子的解释执行,实现软件适应过程,一方面允许第三方有选择性地在运行时增删、替换构件和连接子,从而实现软件环境适应过程中各个阶段的独立在线修改。
本发明的具体实现基于CCM构件模型,包括以下六个步骤:
第一步,依据CCM规范将软件环境适应过程中的环境感知阶段封装为感知构件,将动作执行阶段封装为行为构件。感知构件的构造方法是:将访问物理传感器、检测计算资源状态等环境感知的代码依据CCM规范封装为构件,然后通过CCM构件的事件端口输出上下文事件。行为构件的构造方法是:将响应环境变化的动作代码依据CCM规范封装为构件,然后通过CCM构件的普通接口对外提供服务。行为构件通过CCM构件的普通接口对外提供的服务为行为构件接口中的方法。
第二步,将软件环境适应过程中的决策规则封装为基于可扩展标记语言XML(eXtensible Markup Language)的策略连接子。策略连接子负责连接感知构件和行为构件,说明“何时干什么”,是软件在环境变化时进行动作决策的依据。策略连接子采用XML语法,其内容基于事件-条件-动作(Event-Condition-Action)的形式:在事件部份指定触发适应过程的上下文事件名称;在条件部份指定上下文应当满足的条件,其形式是“[上下文][运算符][值]”(如“Temperature>80”);在动作部份指定调用哪一个行为构件来完成环境适应过程。策略连接子与CCM规范中的其它构件配置文件保存在一起。
第三步,扩展符合CCM规范的构件容器以支持策略连接子。符合CCM规范的构件容器(简称CCM容器)由事件服务部件、构件生命周期管理部件以及CCM构件容器其它标准基础设施组成。在CCM容器中增加环境抽象部件和策略连接子解释部件。这些部件均是CORBA对象,通过CORBA对象加载的方式加到CCM容器中。
环境抽象部件保存所有上下文的当前值,由上下文表和事件服务监视部件组成:
●上下文表保存当前容器中感知构件输出的上下文事件的最新值,是一个二维表格,每一项记录一个上下文,包括感知构件名(字符串类型)、输出上下文事件的事件端口名称(字符串类型)和上下文当前值(CORBAAny类型)三个字段;
●事件服务监视部件负责获得感知构件输出的所有上下文事件并将上下文事件的新值保存到上下文表中。该部件向CCM容器中事件服务部件订阅由感知构件输出的上下文事件,在接收到上下文事件后将最新的上下文值取出,在上下文表中依据感知构件名和事件端口名称查找相应记录,如果该记录已存在则用最新的上下文值更新记录,否则添加一条包括感知构件名、事件端口名和上下文值的新记录。
策略连接子解释部件动态解释和执行策略连接子,它载入策略连接子,并在策略连接子事件部份指定的上下文事件发生、条件部份指定的条件被满足时,执行动作部份所指定动作(即调用所指定的行为构件接口中的方法)。策略连接子解释部件由策略连接子载入接口、策略缓存、策略执行部件组成:
●策略连接子载入接口载入指定的策略连接子。它使用符合万维网协会W3C(World Wide Web Consortium)标准的XML解释器来载入和解析策略连接子,然后将策略连接子存入到策略缓存。
●策略缓存保存策略连接子。它以数组的方式存储策略连接子信息,每条信息由一个包括事件、条件和动作三个部份的结构体保存。
●策略执行部件解释和执行策略缓存中保存的策略连接子,完成环境适应过程,方法是:策略执行部件定期访问CCM容器的事件服务部件,监视策略连接子事件部份指定的上下文事件是否发生;当事件发生后,从环境抽象部件中的上下文表取出策略连接子条件部份所需判断的上下文的当前值,判断该上下文当前值是否符合策略连接子指定的条件;如果符合条件,则通过CORBA的对象适配器POA(PortableObject Adapter)定位和调用行为构件接口中的方法,完成环境适应过程。
第四步,扩展CCM容器以支持软件体系结构在线修改。在CCM容器中增加软件体系结构模型部件和软件体系结构一致性维护部件。这些部件均是标准的CORBA对象,通过CORBA对象加载的方式增加到CCM容器中。
软件体系结构模型部件由构件描述数组、策略连接子描述数组和访问接口组成,保存对构件和连接子的描述:
●构件描述数组保存构件运行时的状态信息,每个构件状态信息包括构件名称、构件事件端口名称、构件普通接口名称及接口中提供的方法、构件各个端口或接口所连接的连接子名称;
●策略连接子描述数组是一个字符串数组,保存所有策略连接子的XML描述;
●访问接口提供对构件和连接子描述数组进行查询和修改的方法。其中查询方法依据构件名称或连接子名称查找相应的描述数组,返回数组中对应元素的信息;修改方法则通过对数组的添加、删除和更新操作来实现构件描述和连接子描述的增删替换。
软件体系结构一致性维护部件维护软件体系结构模型部件与实际运行的构件和策略连接子之间的一致性,即当软件体系结构模型部件中的构件描述数组和连接子描述数组发生变化时,软件体系结构一致性维护部件对实际构件或策略连接子解释部件中的策略缓存作相应的变动,方法是:软件体系结构一致性维护部件定期访问软件体系结构模型部件,查询软件体系结构模型部件的变化,在有变化时分两种情况进行处理:(1)如果是构件描述数组的变化,则调用CCM容器中的构件生命周期管理部件将构件描述数组的变化映射到实际构件上,即在有新的构件描述增加到构件描述数组中时通知构件生命周期管理部件加载相应的构件、在构件描述数组中有构件描述删除时通知构件生命周期管理部件卸载相应的构件;(2)如果是策略连接子描述数组的变化,则通知策略连接子解释部件的策略连接子载入接口重新载入策略连接子。
第五步:向CCM容器中载入和运行构件及策略连接子。
使用CCM容器中构件生命周期管理部件载入感知构件和行为构件,使用策略连接子解释部件的策略连接子载入接口载入策略连接子。
在感知构件、行为构件和策略连接子载入到CCM容器后,软件依据环境信息调整软件行为,流程是:感知构件检测环境变化并通过其事件端口将上下文事件输出到CCM容器中的事件服务部件;环境抽象部件中的事件服务监视部件获得上下文事件,并将最新的上下文值存入到上下文表;策略连接子解释部件中的策略执行部件通过定期访问事件服务部件获得上下文事件,当已载入的策略连接子事件部份指定的事件产生时,策略执行部件访问环境抽象部件中的上下文表,取出策略连接子条件部份所需检查的上下文值,判断条件是否成立,在条件成立时调用策略连接子动作部份所指定的行为构件接口中的方法来完成环境适应过程。
第六步:当环境超出开发阶段预设时,在线修改软件体系结构。首先依据环境的变化确定软件的感知、决策或执行能力三者中哪些方面需要调整,然后根据不同情况执行下列动作:(1)当需要调整软件的环境感知能力时,通过软件体系结构模型的访问接口增加、删除或替换感知构件;(2)当需要调整软件的决策能力时,通过软件体系结构模型的访问接口增加、删除或替换策略连接子;(3)当需要调整软件的动作执行能力时,通过软件体系结构模型的访问接口增加、删除或替换行为构件。在上述动作中,如果需要开发新的感知构件、行为构件或策略连接子,则分别按照第二步或第三步实施。
软件体系结构一致性维护部件通过定期访问查询到软件体系结构模型部件的变化,依据最新的构件和连接子描述信息对实际运行的构件和连接子进行修改。软件即基于增删替换后的感知构件、策略连接子或行为构件,依据环境信息调整软件行为,在新的环境下保证软件运行行为及结果符合人们预期、满足用户需求。
采用本发明可以达到如下的有益效果:
(1)本发明通过在CCM容器中保存软件体系结构模型并支持其在线修改,可以在软件不停机的情况下对软件的环境适应过程进行调整,从而保证软件在非预设环境下的运行行为及结果符合人们预期、满足用户需求。
(2)本发明通过将软件环境适应过程中感知、决策和执行各阶段分别封装为感知构件、策略连接子和行为构件,可以支持对各个阶段的独立在线修改,从而能够以较小的修改代价保证软件可信。
附图说明
图1是本发明的总体流程图;
图2是本发明第三步和第四步中对CCM容器进行扩展的示意图。
具体实施方式
下面结合实施例对本发明做进一步说明:
实施例
以火警自动喷淋场景为例。
考虑到通常火警自动喷淋系统由烟雾传感器、喷淋阀门、火警灯等组成,设计如下场景:某房间内有烟雾浓度传感器、喷淋阀门、火警灯及运行于其上的嵌入式软件系统,当烟雾浓度高于指定阈值时认为发生火警,火警灯闪动、喷淋阀门打开。阈值是开发阶段依据对未来环境的假设所设定的某一具体的值,但由于房间用途的变更(如由普通居室改为餐厅厨房),这一阈值会引起火警误报(或漏报),也即当环境超出开发阶段的预设后,软件运行行为和结果将不再符合用户预期。此时采用本发明对软件环境适应过程进行在线调整的方法如图1所示:
第一步,依据CCM规范将软件环境适应过程中的环境感知阶段封装为感知构件,将动作执行阶段封装为行为构件。
开发烟雾浓度感知构件,将访问烟雾传感器、获取烟雾浓度的代码封装为CCM构件,并通过CCM构件的事件端口输出代表烟雾浓度发生变化的烟雾浓度上下文事件,该事件端口命名为SmokeDensity;开发火警响应行为构件,将控制火警灯闪动、喷淋阀门开闭的代码封装为CCM构件,在CCM构件普通接口中对外提供火警响应开启和关闭的AlarmOn()和AlarmOff()方法。
第二步,将软件环境适应过程中的决策规则封装为基于XML的策略连接子。
使用XML语言描述如下两个策略连接子:“当烟雾浓度感知构件的SmokeDensity端口输出烟雾浓度上下文事件,且烟雾浓度上下文的当前值大于[阈值]时,则调用火警响应行为构件的AlarmOn()”,“当烟雾浓度感知构件的SmokeDensity端口输出烟雾浓度上下文事件,且烟雾浓度上下文的当前值小于[阈值]时,则调用火警响应行为构件的AlarmOff()”。将策略连接子与CCM规范中的其它构件配置文件保存在一起。
第三步,扩展CCM容器以支持策略连接子。
如图2所示,在CCM容器中增加环境抽象部件和策略连接子解释部件。环境抽象部件由上下文表和事件服务监视部件组成;策略连接子解释部件由策略连接子载入接口、策略缓存、策略执行部件组成。
第四步,扩展CCM容器以支持软件体系结构在线修改。
如图2所示,在CCM容器中增加软件体系结构模型部件和软件体系结构一致性维护部件。软件体系结构模型部件由构件描述数组、策略连接子描述数组和访问接口组成;软件体系结构一致性维护部件调用CCM容器中的构件生命周期管理部件和策略连接子解释部件对实际运行的构件和连接子进行维护,使实际运行的构件和连接子与构件描述数组和策略连接子描述数组的内容一致。
第五步,向CCM容器中载入和运行构件及策略连接子
使用CMM容器的构件生命周期管理部件向CCM容器载入烟雾浓度感知构件和火警响应行为构件,通过策略连接子解释部件的策略载入接口向CCM容器载入第二步所开发的策略连接子。
在构件和策略连接子被加载后,烟雾感知构件检测烟雾浓度变化并通过其SmokeDensity事件端口输出烟雾浓度上下文事件到CCM容器中的事件服务部件;环境抽象部件的事件服务监视部件获得该上下文事件,并将最新的烟雾浓度上下文值存入到上下文表中;策略连接子解释部件中的策略执行部件通过定期访问事件服务部件获得该上下文事件,然后通过访问环境抽象部件的上下文表取到最新的烟雾浓度,并判断烟雾浓度是否大于(或小于)指定的阈值,在条件成立时调用火警响应行为构件的AlarmOn()(或AlarmOff())。
第六步,当环境超出开发阶段预设时在线修改软件体系结构
当房间用途变更时,开发适用于新环境的策略连接子,其开发方法与第三步相同,但策略连接子中的“[阈值]”被改变,以适用于新的环境,例如当改为厨房后适当调高阈值以避免误报。然后调用软件体系结构模型部件的访问接口将新的策略连接子描述信息添加到软件体系结构模型中。
软件体系结构一致性维护部件通过定期访问查询到软件体系结构模型部件的变化,依据最新的构件和连接子描述信息对实际运行的火警自动喷淋系统进行调整。由于新的策略连接子中的[阈值]是专门针对新的环境所定义的,火警自动喷淋系统的后续运行将基于新的策略连接子,从而避免火警的误报或漏报。
在本实施例中,如果环境超出开发阶段假设时并非修改阈值,而是增加新的感知手段,例如需多个烟雾传感器配合来进行检测或是改用温度传感器来进行检测,则只需在第六步中增加或替换相应的感知构件;如果需要改火警响应方式,则只需要在第六步中替换原来的火警响应行为构件。因此,本发明通过支持软件环境适应过程中感知、决策和执行各个阶段的独立修改,可降低软件可信保证的代价。
本实施例是本发明的一个简单实现,该过程可以方便的推广到其它软件环境可能超出开发阶段预设的商业和社会关键系统、嵌入式软件系统、运行在互联网上的软件系统等。在环境超出开发阶段预设时,由第三方基于本发明对软件系统进行必要的调整,修改和扩展软件的环境适应过程,从而保证其可信。

一种基于体系结构演化的软件可信保证方法.pdf_第1页
第1页 / 共19页
一种基于体系结构演化的软件可信保证方法.pdf_第2页
第2页 / 共19页
一种基于体系结构演化的软件可信保证方法.pdf_第3页
第3页 / 共19页
点击查看更多>>
资源描述

《一种基于体系结构演化的软件可信保证方法.pdf》由会员分享,可在线阅读,更多相关《一种基于体系结构演化的软件可信保证方法.pdf(19页珍藏版)》请在专利查询网上搜索。

本发明公开了一种基于体系结构演化的软件可信保证方法,要解决的技术问题是当环境超出开发阶段的预设时,提供一种对软件环境适应过程中各阶段进行在线修改的方法,保证软件可信。技术方案是将软件环境适应过程中感知和执行阶段封装为不同的构件,将软件依据环境进行动作决策的规则封装为策略连接子;然后扩展构件容器,一方面支持策略连接子的解释执行,一方面允许第三方有选择性地在运行时增删、替换构件和连接子,从而实现软件环。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1