本文介绍了当前学术界在实时构件和构件高可信保障技术方面的认知和作为,研究了实时构件的实时特征和构件可信性的内涵,分析了实时可信构件的实时性和可信性的本质,以及两者融合的必然性,对实时可信构件所需解决的问题进行了探讨,为下一步将要开展的构件模型及其设计工作奠定基础。 This paper introduces the recognitions and research actions of academe currently on real-time components and components’ ultra dependability safeguard technology, investigates the connota-tion about real-time characters of real-time components and components’ dependability, analyzes the essence and merged rules of real-time and Dependable properties, discusses the problems needed to solve for real-time and dependable components, and prepares for following researches.
彭城1,魏乐2
1成都信息工程大学计算中心,四川 成都
2成都信息工程大学计算机学院,四川 成都
收稿日期:2016年4月9日;录用日期:2016年4月26日;发布日期:2016年4月29日
本文介绍了当前学术界在实时构件和构件高可信保障技术方面的认知和作为,研究了实时构件的实时特征和构件可信性的内涵,分析了实时可信构件的实时性和可信性的本质,以及两者融合的必然性,对实时可信构件所需解决的问题进行了探讨,为下一步将要开展的构件模型及其设计工作奠定基础。
关键词 :实时,可信,构件,重用性,安全性,防危性,可靠性
计算机的应用模式在经历了主机模式和个人机模式后,目前正向普适计算 [
现在,嵌入式实时系统在航空航天、国防、交通运输和核电能源等诸多安全关键领域中得到了广泛的应用,这类系统可称之安全关键系统SCS (Safety Critical Systems) [
对于实时构件的研究曾经存在这样误解:认为构件不适用于实时应用,且常常受到中间层降低性能或不够快的批评。这一误解的根源在于未能区分“实时”和“快”的差别 [
对实时构件关注较早的是OMG组织,该组织于1996年12月发布了实时CORBA白皮书 [
对实时构件的研究不但要考虑到实时构件模型的建立,还要研究实时软件的构件化开发方法学和开发环境。这方面的工作主要集中在构件组装、代码(或代码框架)的自动生成和对生成的软件系统的非功能属性的分析验证等方面。比较典型的研究工作包括:C.V illela等通过扩展己有的工具环境SIMOO-RT来支持实时软件的构件化开发的整个过程 [
当计算机发展到一个比较成熟的阶段,可信需求显得迫切而关键,而对可信性的研究归根结底就是对可信计算的研究。可信计算是新近发展的一门学科,着力于解决计算世界当前所面临的普遍的安全威胁和不可信危机,它是一个广泛的概念,是对若干传统计算技术的综合。Babbage于1830’S年在他的论文“计算机器”中首次提到了可信计算(dependable computing)的概念,1999年IEEE太平洋沿岸容错系统会议改名为“可信计算会议”,标志着可信计算成为学术界新的研究热点。
目前,对可信计算的研究主要处于摸索阶段,国内外许多研究机构都从不同的角度,对可信进行了阐述。美国国家科学基金会认为,一个可信的信息系统所应考虑的方面包括 [
早些时候,构件技术在分布式系统中用得较为广泛,在这些应用中并不关心其实时性能,而更注重可信性。为了确保可信性,人们习惯地借助于已充分地研究和成功地使用过的容错技术。OMG在2001年9月推出了FT CORBA规范,这规范的出现也推动了容错CORBA中间件产品的开发和上市。其中著名的成果有:DOORS,Eternal和Electra等。
实时和容错分别被有着不同关注重点的用户所使用,实时CORBA规范和容错CORBA规范也只关心了本领域的具体事宜,两者独立地解决本领域的相关问题,也得到了相关的认同。但在20世纪90年代后期,出现了mission—critical的应用的新需求 ,这类需求同时含有实时要求和可信性要求,也就是需要实时与可信性的相互融合 [
在描述实时性时,时间是一种重要的资源,主要体现在:对外部事件的响应和任务执行都必须在限定的时间内完成;在限制的时间内完成消息的发送和接收输出结果的正确性不仅取决于计算所形成的理辑结果,还要取决于结果产生的时间 [
1) 可预测性:是指执行的操作按预先定义或确定的方式执行。其操作执行的时间是可预知的。
2) 及时性:是指按照实时活动的最后期限和当前可用的资源来进行调度,使操作能在最后期限到达前完成。
3) 用户控制:是指用户对系统(构件)的行为具有有效的控制能力。
4) 任务定向:是指任务的成功程度依赖于整个系统所获得的与实时约束有关的信息。
5) 紧急性:实时活动的紧急程度,服务失败造成的后果
6) 可靠性:失败的概率。恢复的概率等。
7) 低延迟:回馈的时间参数和控制的响应速度。
1985年Laprie正式提出可信性(dependability)以便与可靠性(reliability)相区别。简言之,可信性指系统在规定时间与环境内可交付可信服务的能力。可信性是一个复杂的综合性概念,针对于构件来说,我们认为它所包含的特征有:重用性、可靠性、防危性、安全性。
重用性:在相似领域内,早先开发出来的构件在建立新系统时能够很方便地使用和在新系统中某个时刻可用的概率。
可靠性:构件在一个完整的时间间隔之内正常服务的能力。可以描述为一个时间函数R(t),被定义为系统在某个时间段正确执行的概率。
防危性:在给定的时间内不发生灾难性事故的概率。和可靠性不同,防危性强调的是防止危险发生,必要时可停止服务。
安全性:美国计算机安全专家Bruce Schneier这样认为:“安全不是产品;安全是一条链子,包括了硬件、软件、网络、使用者以及相互交互的复杂系统。在这条链子上,任何一个环节出现问题,安全将不存在,这条链子的强度由链子最弱一环的强度决定。”安全性又可分为保密性和完整性,保密性表示未经访问许可禁止访问敏感数据的能力。完整性指保持数据一致性的能力。这里的安全性指在构件中实现经过授权许可的用户比较容易方便地接触到数据和系统,同时防止一些人未经许可地获得数据,防止一些恶意的人对系统进行攻击的能力 [
为构件保障上述特性,可以从许多方面着手:可以加强构件的体系结构和代码设计,使得它们天生强壮;可以引入冗余机制,采用资源复制的方式提高系统可靠性和可用性;可以在构件设计中通过引入PKI技术,封装加密算法来提高构件安全性。但是,如何以一种统一的方式考虑构件可信性保障问题,是实时可信构件技术要研究的课题。
对构件的定义影响较大的主要有三个:在1996年的ECOOP会议上提出的软件构件是一个具有规范接口和确定的上下文依赖的组装单元,软件构件能够被独立部署和被第三方组装;Szy perski给出的软件构件是可单独生产、获取、部署的二进制单元,它们之间可以互相作用构成一个功能系统;CMU/SEI的构件是一个不透明的功能实现,能够被第三方组装,符合一个构件模型。构件有两个本质属性:重用和易用。为了达到易用,标准化是必不可少的 [
定义:实时可信构件是被标准化的具有重用性、可靠性、防危性和安全性的,能够提供实时应用软件资源。
对实时可信构件的实时性的研究需要解决在构件模型中如何有效地表示实时属性;在构件的分析设计模型中如何提供构件实时属性的恰当描述;在进行领域设计时如何解决并行、异步等一系列的问题。结合实时CORBA规范,需要重点解决的首先是基于动态优先级调度,完成这一任务的难点是,对于动态优先级驱动的系统,还没有行之有效的分析和验证手段 [
研究软构件个体的可信技术,包括在构件的设计、开发、测试和验证方法上都要对可信属性有所考虑和评估,这就要求在程序设计和开发方法,从代码级上有所体现。对于支撑平台来说,在构件开发时可以提供一个保证其可信性属性的开发框架,以目前中间件提供的开发框架为基础,增添一些对可信属性进行评估和度量的工具当然这涉及到研究对可信系统和构件的可信属性进行建模、分析和预测的技术。此外,还应该考虑构件在运行过程中,如何在环境的变化下维护其可信属性。当然在实现实时可信构件时有可能会出现冲突,那么这时就必须选择合适的平衡点。
基于以上分析,实时可信的构件技术主要研究的内容为:
1) 支持实时可信服务软件的构件体系结构。重点研究构件的实时可信性能保证机制,立足于传统成熟架构规范基础之上,研究自适应的可信构件体系结构,实现对现有基础结构的实时可信的扩展,包括可信构件的表达和标识、存储和检索、生成和组装、以及构件运行管理。
2) 实时可信构件的功能与性能分离机制。分离系统功能实现与系统性能保障,把实现应用系统性能保障的模块抽象成通用的性能服务构件,基于性能策略库选择、定制及动态策略与机制,为应用系统提供性能保障。
3) 实时可信构件的运行管理机制。从构建模型的自适应能力以及自适应的系统集成框架两个方面着手,研究构件的上下文感知技术和系统的自适应调度机制,为最终用户系统提供实时可信的服务保证。
4) 从设计方案级出发,形式化描述各类可信服务构件的功能参数和性能指标,建立基于可信服务构件的应用系统的数学模型;分析已有的评估模型,研究一种针对基于可信服务构件的应用系统的正确性和多项性能指标进行一体化评估验证的解决方案。
对实时可信构件的研究,首先应该在体系结构上提供对实时和可信服务的支持。我们的研究基于OMG提供的实时CORBA体系结构之上,并且采用了PKI技术,把实时性和安全性作为实时可信构件的功能参数,放在构件内部来实现;将可靠性和防危性作为非功能参数来进行描述,放在一个称之为复制代理的部件中实现。这样做的目的是为了保证构件的实时性,因为为了保障构件的可靠性,需要使用冗余机制,这必然会对构件的实时性造成影响。此外我们还引入了一个全局监视器,其主要功能是监视硬件、操作系统和构件的运行,当发现异常时监视器及时的向复制代理和资源管理器报告。复制代理负责完成关键数据的复制,并保证数据或事务处于一致性状态;资源管理器主要负责整个系统资源的分配,以解决实时可信构件在实时性和可信性等各方面的冲突,按照一定的策略在实时可信的各项指标间取得一个平衡。为了解决构件的上下文感知技术和系统的自适应调度机制,我们采用了反射式中间件的思想,在ORB中完成该功能。此外在构件的开发时提供一个保证其可信性属性的开发框架,并在软件开发时,借用面向方面的编程(AOP)的思想。
套用Bruce Schneier对安全的定义,如果实时构件所运行的整个硬件、软件平台是可信的,则整个系统就是可信的;如果整个硬件、软件平台是不可信的,那么最终整个系统的可信性,取决于系统可信性最薄弱的一个环节。但是我们的构件(软件)能够提供比一般软件更为可信的结果。
本文以实时可信构件为研究对象,描述了实时构件和可信性的发展历史和现状,并以此为基础探讨了实时和可信的本质内涵,最后指出了实时可信构件技术所需要解决的问题以及解决这些问题的方法,为下一步工作的展开奠定基础。
彭城,魏乐. 实时可信的构件技术研究Research on Technology of Real-Time and Dependable Component[J]. 计算机科学与应用, 2016, 06(04): 242-247. http://dx.doi.org/10.12677/CSA.2016.64030