




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南大学硕士学位论文摘要 一种针对基于构件的嵌入式实时软件的测 试方法 计算机软件与理论专业硕士研究生周小涵 指导教师丁晓明副教授 摘要 随着嵌入式技术的发展,嵌入式构件技术开始成为人们关注的热点。嵌入式构件的测试, 特别是嵌入式实时构件的测试,成为保障基于构件的嵌入式实时软件质量的重要环节。对嵌 入式实时构件进行充分的功能性和实时性测试,才能选择安全可靠的嵌入式实时构件进行嵌 入式实时软件的组装。 目前,对基于构件的嵌入式实时软件的测试还存在着嵌入式实时构件接口定义不规范、 对时间约束的测试困难等问题。国内外对于普通软件构件的接口定义已经取得了一系列的成 果,并广泛的运用到软件开发过程中,如c o m 、c o r b a 、e j b 等构件模型都提出了构件接口的 定义,但针对嵌入式实时构件的接口定义还需要完善对时间约束的描述,缺乏统一的规范。 同时,嵌入式实时构件的时间约束的测试,需要构造构件间交互动作的时间相关模型才能有 效的完成测试。因此,研究如何规范嵌入式实时构件的接口定义,并构造测试模型进行测试, 以完成基于构件的嵌入式实时软件的组装,具有十分重要的意义。 本文通过对构件技术、时间自动机理论的学习,在已有研究成果的基础上,提出了一种 针对基于构件的嵌入式实时软件的测试方法,主要进行以下几个方面的探讨和研究: 第一,提出了一种嵌入式实时构件接口定义方法,将嵌入式实时构件分为嵌入式实时功 能构件和嵌入式实时调度构件进行接口的定义,以满足嵌入式实时构件的交互。 第二,针对嵌入式实时构件交互过程中存在的时间约束,本文在时间自动机理论的基础 上提出了一种基于构件的嵌入式实时软件时间自动机模型构造方法一c b e r s t a ,通过c b e r s t a 模型能够实现对嵌入式实时构件交互过程中的状态转移和时间约束的描述。 第三,为了简化c b e i 峪t a 模型,本文通过符号状态拆分算法,对构造的c b e r s t a 模型进 行状态空间拆分。在此基础上,将拆分后的c b 职s t a 模型中的抽象时间延迟替换成时间变量, 并在状态转移动作中添加时间变量来完成测试用例的生成。 最后,为了验证本文提出的c b e r s t a 模型的可行性和有效性,本文利用构造的c b e r s t a 模型生成测试用例,并通过测试算法最终完成软件测试和测试结果分析。 关键词:嵌入式实时构件时间自动机构件接口时间约束 西南大学硕士学位论文a b s t r a c t a t e s t i n gm e t h o d f o r c o m p o n e n t - b a s e d e m b e d d e dr e a l t i m es o f t w a r e m a jo r :c o m p u t e rs o f t w a r ea n dt h e o r y m a s t e r :z h o ux i a o h a n s u p e r v i s o r :a s s o c i a t ep r o f e s s o rd i n gx i a o m i n g a bs t r a c t w i t ht h e d e v e l o p m e n t o fe m b e d d e dt e c h n o l o g y , e m b e d d e d c o m p o n e n t t e c h n o l o g yh a sb e c o m et h e f o c u so ft h ep u b l i c t e s tm e t h o d sf o re m b e d d e d c o m p o n e n t s ,e s p e c i a l l y , t e s to fe m b e d d e dr e a l - t i m ec o m p o n e n t ,b e c o m ea l li m p o r t a n t p a r to fp r o t e c t i o nt h eq u a l i t yo fc o m p o n e n t - b a s e de m b e d d e ds o f t w a r e i no r d e rt o c h o o s es a f ea n dr e l i a b l ee m b e d d e dr e a l - t i m ec o m p o n e n t st oa s s e m b l ee m b e d d e d r e a l - t i m es o f t w a r e ,t h ef u n c t i o n a la n dr e a l t i m et e s to fe m b e d d e dr e a l t i m e c o m p o n e n t sh a st ob ec o m p l e t e d c u r r e n t l y , t h e r ea r es t i l ls o m ep r o b l e m sf o rt e s t i n gc o m p o n e n t - b a s e de m b e d d e d r e a l - t i m es o f t w a r e :n o s t a n d a r di n t e r f a c ed e f i n i t i o no fe m b e d d e dr e a l t i m ec o m p o n e n t , t i m e - c o n s t r a i n e dt e s tp r o b l e m sa n ds oo n as e r i e so fa c h i e v e m e n t sh a v eb e e nr e a c h e d i nc o m m o ns o f t w a r ec o m p o n e n ti n t e r f a c ed e f i n i t i o na th o m ea n da b r o a dw h i c hi s e x t e n s i v e l ya p p l i e dt ot h ed e v e l o p m e n tp r o c e s so ft h es o f t w a r e c o m p o n e n tm o d e l s s u c ha sc o m ,c o r b a , e j bp r o p o s e dt h ed e f i n i t i o n so fc o m p o n e n ti n t e r f a c e s h o w e v e r , i n t e r f a c ed e f i n i t i o n sf o re m b e d d e dr e a l t i m ec o m p o n e n t sa l s on e e dt o i m p r o v et h ed e s c r i p t i o no ft i m ec o n s t r a i n t s ,b e c a u s eo ft h el a c ko fu n i f o r mn o r m s m e a n w h i l e ,t h et i m ec o n s t r a i n t st e s to ft h ee m b e d d e dr e a l - t i m ec o m p o n e n tn e e d st o c o n s t r u c tat i m e d 印e n d e n tm o d e lo fi n t e r a c t i o n sa c t i o nb e t w e e nt h ec o m p o n e n t st o e f f e c t i v e l yc o m p l e t et h et e s t t h e r e f o r e ,s t u d y i n gh o wt os t a n d a r d i z ee m b e d d e d r e a l t i m ec o m p o n e n to ft h ei n t e r f a c ed e f i n i t i o n ,a n ds 眦n l r et e s tm o d e lf o rt e s t i n gt o c o m p l e t et h ec o m p o n e n t - b a s e de m b e d d e dr e a l - t i m es o f t w a r ea s s e m b l y , i so fg r e a t s i g n i f i c a n c e i nt h i sp a p e r , o nt h el e a r n i n go fc o m p o n e n tt e c h n o l o g ya n dt h e o r yo ft i m e d a u t o m a t a ,o nt h eb a s e so fe x i s t i n gr e s e a r c hr e s u l t s ,p r o p o s e do n et e s tm e t h o df o r c o m p o n e n t - b a s e de m b e d d e dr e a l t i m es o f t w a r e ,m a i n l yt od i s c u s sa n ds t u d ya tt h e f o l l o w i n ga s p e c t s : t t 西南大学硕士学位论文 a b s t r a c t f i r s t ,t h i sp a p e rp r o p o s e dad e f i n i t i o nf o ri n t e r f a c eo fe m b e d d e dr e a l t i m e c o m p o n e n t ,d i v i d e de m b e d d e d r e a l t i m e c o m p o n e n ti n t o e m b e d d e dr e a l - t i m e f u n c t i o n a lc o m p o n e n ta n de m b e d d e dr e a l t i m es c h e d u l i n gc o m p o n e n tt oe x e c u t et h e d e f i n i t i o no ft h ei n t e r f a c ea n dm e e tt h ei n t e r a c t i o no fe m b e d d e dr e a l t i m e c o m p o n e n t s s e c o n d , f o rr e a lt i m er e q u i r e m e n ti nt h ee m b e d d e dr e a l - t i m ec o m p o n e n t s i n t e r a c t i o r t , t h i sp a p e rb a s e d0 1 1t i m ea u t o m a t at h e o r y , p u t sf o r w a r dac o n s t r u c t i o n m e t h o do fc o m p o n e n t - b a s e de m b e d d e dr e a l - t i m es o f t w a r et i m e da u t o m a t am o d e l - c b e r s t w h i c hc a nr e a l i z et h ed e s c r i p t i o no fs t a t et r a n s i t i o na n dt i m ec o n s t r a i n t s o fe m b e d d e dr e a l - t i m ec o m p o n e n t si n t e r a c t i o n s r i h r d ,i no r d e rt os i m p l i f yt h ec b e r s l am o d e l ,t h i sp a p e ru s e st h es y m b o l i c s t a t es p l i t t i n ga l g o r i t h mt os p l i tt h es t a t es p a c e so fc o n s t r u c t e dc b e r s t am o d e l o n t h i sb a s i s ,t h ea b s t r a c tt i m ed e l a yw i l lb er e p l a c e d 、i t ht i m ev a r i a b l ea f t e rt h es p l i to f c b e r s t am o d e l ,a n dt h et i m ev a r i a b l ew i l lb ea d d e dt ot h es t a t et r a n s i t i o na c t i o n si n o r d e rt of a c i l i t a t et e s tc a s e sg e n e r a t i o n f i n a l l y , t ov e r i f yt h ef e a s i b i l i t ya n de f f e c t i v e n e s so ft h ec b e r s t am o d e l p r o p o s e di nt h i st h e s i s ,i tt a k e sa d v a n t a g e so ft h ec o n s t r u c t e dc b e r s t am o d e lt o g e n e r a t et e s tc a s e sa n dt e s ta l g o r i t h m st oc a l t yt h r o u g ht h es o f t w a r et e s t i n ga n dt e s t r e s u l t sa n a l y s i s k e yw o r d s :e m b e d d e d , r e a l - t i m ec o m p o n e n t , t i m ea u t o m a t a , c o m p o n e n t i n t e r f a c e ,t i m ec o n s t r a i n t i i i 独创性声明 本人提交的学位论文是在导师指导下进行的研究工作及取得的 研究成果。论文中引用他人已经发表或出版过的研究成果,文中己加 了特别标注。对本研究及学位论文撰写曾做出贡献的老师、朋友、同 仁在文中作了明确说明并表示衷心感谢。 学位论文作者: i 司j 夏玉 签字日期:年月 日 学位论文版权使用授权书 本学位论文作者完全了解西南大学有关保留、使用学位论文的规 定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允 许论文被查阅和借阅。本人授权西南大学研究生院( 筹) 可以将学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩 印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书,本论文:呸不保密, 口保密期限至年月止) 。 学位论文作者签名: f 司一一7 劲导师签名:i 了私 签字日期:年月 日签字日期:年月日 西南大学硕士学位论文第1 章绪论 第1 章绪论 1 1 研究背景和意义 随着嵌入式技术的发展,越来越多的嵌入式产品出现在工业生产、日常生活 等各个领域,如移动电话、数字电视、电梯等。嵌入式产品已经成为人们生活中 不可缺少的一部分,嵌入式产品的大规模生产也势在必行。总体上,嵌入式产品 主要是由嵌入式软件和嵌入式硬件两部分组成,嵌入式硬件主要由处理器和接口 电路构成,嵌入式软件则由操作系统、应用程序等组成。目前,高度的工业自动 化使得嵌入式硬件的产量和质量都能够得到保证,而嵌入式软件由于其不确定性 因素较多,开发周期较长,质量难以得到保证,生产效率和软件质量都面临着考 验。 软件构件复用技术是提高软件生产效率和保证软件质量的关键技术。基于构 件的软件开发通过集成现有的软件构件来构造新的软件系统n 1 ,能够有效的降低 开发成本、加快开发进度、提高软件质量,已经得到了广泛应用。随着基于构件 的软件工程( c o m p o n e n t b a s e ds o f t w a r ee n g i n e e r i n g ,c b s e ) 乜3 的快速发展,嵌 入式构件复用技术被提出,为高效地开发高质量的嵌入式软件提供了技术基础。 嵌入式构件的质量决定着基于构件的嵌入式软件的质量,而构件测试成为提 高嵌入式构件质量的有效手段,但由于多数嵌入式构件具有较强的实时性,其时 序关系的不确定性增大了构件测试的难度,构件的正确性很难得到保证。如何有 效地测试嵌入式实时构件,提高构件质量,是基于构件的嵌入式实时软件开发中 的一个重要部分。 目前,针对基于构件的嵌入式实时软件的测试方法研究还处在起步阶段,嵌 入式实时构件的模型和接口并未标准化。嵌入式实时构件所提供的功能和服务都 需要通过接口与其它构件进行交互,接口标准的统一,才能使不同语言实现的嵌 入式实时构件相互调用。现有的c o m 1 【4 】、c o r b a 阳1 、e j b 嘲等构件模型均提供了接 口定义方式,能够在大多数情况下支持构件间的交互,并在普通构件开发中广泛 应用。但由于嵌入式实时构件在时间特征和外部环境上有较高的要求,现有的接 口定义标准并不完全适用,嵌入式实时构件的调度关系和时间约束都需要新的接 口标准来进行描述。加之构件的封装性,对嵌入式实时构件的测试也就是对嵌入 式实时构件接口的测试,只有嵌入式实时构件接口的标准统一,才能构造合理的 测试用例进行测试。 基于构件的嵌入式实时软件的测试主要是对嵌入式实时构件交互行为的测 试,交互行为中若存在时间偏移或功能错误,都会带来严重的后果。关于实时系 统中时间约束的测试方法,从2 0 世纪7 0 年代开始,就采用时间无关形式模型, 西南大学硕士学位论文第1 章绪论 如有限状态机、标号迁移系统等口1 ,但时间无关模型无法描述时间约束关系,并 不完全适合实时系统的测试。随着时间自动机理论的逐步成熟,时间相关的形式 模型被用来实现对时间约束的描述,如时间自动机模型呻1 、时间标号迁移系统模 型嘲等。但是时间相关形式模型引入了时间维,状态空间较多,理论上能达到无 限状态空间,因此,需要对时间自动机状态空间进行约简,再构造用例进行测试, 才能达到实际的需要。基于构件的嵌入式实时软件,同样可以借鉴时间自动机模 型理论,构造适合嵌入式实时构件的时间自动机模型,来完成测试。 本文通过提出一种针对基于构件的嵌入式实时软件的测试方法,能够完成对 嵌入式实时构件的功能性和实时性测试,从而提高了基于构件的嵌入式实时软件 的质量,对保障嵌入式实时软件大规模生产具有十分重要的意义。 1 2 研究现状 嵌入式实时构件的测试主要需要完成对嵌入式实时构件接口的规范化定义 和对嵌入式实时构件交互动作的测试模型构造,以实现测试用例的生成。 1 2 1 嵌入式实时构件接口定义 构件通过接口提供服务,是构件的重要组成部分,构件接口的标准化能够极 大的提高构件的复用率,提高构件测试的质量。因此,构件接口的标准化一直是 研究的热点。 目前,构件技术已经比较成熟,业界提出了一些构件接口定义标准。在对嵌 入式实时构件接口的定义过程中,我们除了借鉴普通软件构件接口的定义之外, 还应该考虑嵌入式实时构件的特征。目前国内外的一些主要研究成果如下: 1 、c o m 组件模型,微软公司提出的开发软件组件的一种方法,通过组件接口函 数的方式实现组件间的连接口1 。目前c o m 组件模型已经广泛使用在w i n d o w s 平台上。 2 、c o r b a 的i d l ,是由o m g 组织提出的,用于描述对象系统开发所遵循的接口与 实现相分离的基本原则畸1 。c o r b a 也已经广泛使用在大型分布式构件系统领 域。 3 、k - kl a un 们、a mz a r e m s k in 订分别提出了软件构件的描述语言,l a uk _ k 提 出在构件接口中添加接口函数的信任度,a mz a r e m s k i 提出对构件行为特征 用形式化语言来说明以排除自然语言描述的二义性和不确定性,但都缺乏对 构件实时特征的描述,不能适用于实时构件的接口描述。 4 、3 c 构件模型,是由一些系统工程领域专家在1 9 8 9 年的r e u s ei np r a c t i c e w o r k s h o p 上提出来的关于构件模型的一个指导性模型n 朝,3 c 模型对于构件的 接口定义有一定的指导作用。 2 西南大学硕士学位论文第1 章绪论 5 、r t u m l ,是夏苑提出的一种基于c b s e 的嵌入式实时软件建模语言n ,实现了 对嵌入式软件实时构件的l m l 语言建模,描述了构件的实时特征,对嵌入式 实时构件接口的描述具有一定的指导作用。 6 、华中科大的徐丽萍、贾红卫等人提出了一种具有精确语义的实时构件描述机 制:r t c s n 钔,详细的描述了实时构件的行为特征,但缺乏对嵌入式系统特征 的描述,不适用于嵌入式构件接口描述。 综上所述,虽然有众多学者对构件接口定义进行了研究,也有一些构件接口 标准运用到实际开发中。但对于嵌入式实时构件接口定义这一领域的研究还远远 不够,没有可以广泛适用的、统一的接口定义标准、因此还需要进行深入的研究。 1 2 2 测试模型 嵌入式实时构件间的交互动作测试模型需要完成对嵌入式实时构件交互动 作的时间约束的描述。时间自动机理论通过构造实时系统的时间自动机模型来描 述系统的时间约束关系,为实时系统的测试提供了理论基础。利用时间自动机理 论,对实时系统进行测试和验证也一直是提高实时系统质量的主要手段。但时间 自动机理论本身也存在着状态空间无限的问题,需要对状态空间进行约简才能用 于实时系统的测试或验证。近年来,时间自动机理论一直是研究的热点,不断有 学者提出改进的时间自动机模型。目前,时间自动机理论在国内外的主要研究成 果如下: l 、ra l u r 、d ld i l l 在1 9 9 4 年提出的时间自动机理论呻儿埔1 通过建立实时系统的 时间相关性模型,实现对实时系统的验证。并提出了区域自动机和带自动机, 以减少状态空间,对实时系统测试工具的开发提供了理论依据。 2 、db e a u q u i e r 、zd a n gn 们、pm a t e u s 1 7 3 等人在时间自动机理论的基础上分 别扩展出概率时间自动机、离散时间自动机和随机时间自动机。主要通过近 似时间判定技术实现对可达性和安全性的判定。 3 、目前基于时间自动机理论的验证工具有u p p a h l n 9 1 、c o s p a n 啪1 、k r o n o s 乜1 1 等, 其中u p p h a l 是由瑞典u p p s a l a 大学和丹麦h o l b o r g 大学在时间自动机模型的 基础上联合开发的实时系统建模和验证的测试环境。主要用于验证网络通信 协议的可靠信和安全性。 4 、中科院的陈伟、薛云志等在时间自动机模型的基础上提出了一种t s i o a 模型 用于实时系统的测试乜羽,通过添加输入输出动作表示实时系统的转移动作,但 缺乏对构件特征的描述,不适用于嵌入式构件系统。 5 、刘传会、张广泉提出了时间自动机网络的方法来构造复杂并发实时系统的状 态空间模型,并利用自动化检测工具对系统进行验证嘲。 虽然学者们对于时间自动机模型展开了大量的研究,并用于实时系统的验证 西南大学硕士学位论文第1 章绪论 或是测试。但对时间自动机理论本身存在的状态空间无限的问题仍然没有得到有 效地解决,对于时间自动机状态空间的约简还有待于进一步研究和探讨。通过在 时间自动机理论基础上,构造针对基于构件的嵌入式实时软件的测试模型是本文 的研究重点。 1 3 主要研究内容 本文通过对嵌入式软件实时构件接口定义和测试方法的深入研究,在已有研 究成果的基础上,完善了对嵌入式软件实时构件接口的定义,同时提出了用于描 述基于构件的嵌入式实时软件的时间自动机模型- c b e r s t a ,并在c b e r s t a 基础 上,完成了对基于构件的嵌入式实时软件的测试。本文主要在以下几个方面进行 了研究和探讨: 1 、本文通过对已有的构件接口定义如:c o m 、c o r b a 、e j b 构件模型的接口定义 的研究,并结合实时构件应该具有的时间特征的描述和嵌入式构件对环境的 依赖,完成了对嵌入式实时构件的接口定义。 2 、本文描述了目前已有的时间自动机理论的相关技术,并在时间自动机理论的 基础上,提出了用于描述基于构件的嵌入式实时软件的时间自动机模型 - c b e r s t a 。在模型中,针对嵌入式实时构件之间的交互动作以及构件与环境 的交互动作,将交互动作添加到时间自动机模型的状态转移过程中,以此来 实现对基于构件的嵌入式实时软件的时间状态转移关系的描述。 3 、为了验证本文提出的c b e r s t a 自动机模型的可行性和有效性,本文开发了一 个基于构件的嵌入式实时软件,并通过测试方法进行了测试。首先运用 c b e r s t a 对基于构件的嵌入式实时软件进行时间自动机模型构造;然后运用r a t u r 提出的符号状态拆分算法,对时间自动机模型进行拆分,以达到状态空 间约简的作用;在此基础上,再将转换后的模型中的抽象时间延迟进行替换, 并在状态转移动作中添加时间变量;最后利用状态转移模型构造测试用例和 测试算法,完成软件测试和测试结果分析。 4 4 论文的组织结构 本文系统的叙述了嵌入式实时构件的接口描述和时间自动机理论,在总结和 分析现有软件构件接口的基础上,将嵌入式实时构件的特征引入到构件接口定义 中,完成了对嵌入式实时构件接口的描述,并在时间自动机理论基础上,提出了 基于嵌入式实时构件软件的时间自动机模型,从而完成对软件的测试工作。具体 内容如下: 第1 章,绪论介绍了论文的研究背景、研究现状、论文的主要工作和论文的 组织结构。 4 西南大学硕士学位论文第1 章绪论 第2 章,首先介绍了嵌入式实时构件软件的概念、构件接口的定义、现有的 构件接口模型:包括3 c 模型、c o m 组件模型、c o r b a 的i d l 构件接口模型、s u n 的e j b 构件模型。然后介绍了国一有穷自动机理论、时间自动机理论、时间自动 机模型验证方法和时间自动机状态拆分理论。 第3 章,针对嵌入式实时构件的特征,提出了嵌入式实时构件的接口定义方 法。通过将嵌入式实时构件接口定义分为嵌入式实时功能构件接口和嵌入式实时 调度构件接口,完成了对嵌入式实时构件接口的定义。 第4 章,在时间自动机理论的基础上,提出了用于描述基于构件的嵌入式实 时软件的时间自动机模型- c b e r s t a ,并描述了c b e r s t a 时间区域自动机和 c b e r s t a 模型在状态拆分算法上的应用。 第5 章,对本文采用的开发平台和实验模型进行了介绍,并根据本文提出的 嵌入式实时构件接口定义和c b e r s t a 模型,提出了适用的测试方法,最终实现对 开发的一个嵌入式实时构件软件进行了测试。 第6 章,总结了本论文的工作,提出了有待改进的地方和对未来工作的展望。 西南大学硕士学位论文第2 章相关理论和技术 第2 章相关理论和技术 基于构件的嵌入式实时软件测试,不仅需要对实时构件接口进行定义,而且 需要改进时间自动机模型,并将改进后的模型用于测试。本章将对论文中所涉及 到的相关理论和技术进行详细介绍,包括:基于构件的嵌入式实时软件、构件和 构件接口定义、时间自动机模型、时间自动机模型简化等。 2 1 基于构件的嵌入式实时软件 2 1 1 嵌入式系统 i e e e ( 电气与电子工程协会) 对嵌入式系统的定义是:用于控制、监视或者辅 助操作机器和设备的装置( d e v i c e su s e dt oc o n t r o l ,m o n i t o r ,o ra s s i s tt h e o p e r a t i o no fe q u i p m e n t ,m a c h i n e r yo rp l a n t s ) 嘲3 。此定义主要从应用方面考 虑,即嵌入式系统是软件和硬件的综合体,还包含机电等附属装置。国内主要认 同的定义是:嵌入式系统是指以应用为中心、以计算机技术为基础,软硬件可以 裁减,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求专用计算机 系统嘲。 嵌入式系统可划分成为硬件和软件两部分,硬件一般由高性能的微处理器和 外围的接口电路组成,软件一般由硬件抽象层、操作系统、板级支持包、应用平 台和应用程序组成,如图2 一l 所示: 臣e 臣丽矿二二 应用平台 板级支持包( b s p ) 嵌入式操作系统 d ,a嵌入式通用接口 微处理 a d 器 r o m i ,os d r a m 图2 - 1 嵌入式系统的组成 6 西南大学硕士学位论文 第2 章相关理论和技术 嵌入式系统的硬件层和中间层在本文中不做详细叙述。嵌入式系统的系统软 件层主要由以下几个部分构成: ( 1 ) 嵌入式操作系统:实现对资源的管理和访问,完成调度任务,并支持 应用软件的运行和开发,其主要特性就是实时性。目前,比较著名的 嵌入式操作系统有l i n u x 、w i n d o w sc e 、q n x 等。 ( 2 ) 板级支持包( b s p ) :主要提供与硬件相关的设备驱动,同时还参与嵌 入式系统初始化过程,是嵌入式系统开发中的关键环节。 ( 3 ) 应用平台:用于封装常用的功能,并提供a p i 接口来支持二次开发。 2 1 2 嵌入式软件 嵌入式软件是指控制和管理嵌入式硬件设备来完成嵌入式设备的某些功能 的软件集合。嵌入式软件主要包含:嵌入式应用程序、嵌入式操作系统、板级 支持包三个部分。嵌入式软件的开发与通用软件的不同在于:嵌入式软件的开发 从平台选择、设计、开发、测试和集成,整个过程都是软件硬件并行交互进行。 传统的嵌入式软件开发通常都是采用“硬件优先”原则,对软件的需求只是 粗略的估计,然后在硬件平台上进行软件设计,很难达到最佳设计效果,而且在 测试过程中如果发现问题,需要对设计流程改动时,会极大的影响设计成本和周 期。到2 0 世纪9 0 年代以后,软硬件协同设计方法田1 的出现,采用统一的方法和 工具协同设计软硬件体系结构,能够最大限度的使用系统的软硬件能力,得到较 优的设计方案。 嵌入式软件工程的目标是提高嵌入式软件的质量与生产率,最终实现嵌入式 软件的工业化生产,同普通的软件工程学一样,嵌入式软件的开发设计过程也分 为以下几个阶段:可行性分析、需求分析、设计阶段、实现阶段、测试阶段和维 护阶段。 2 1 3 基于构件的嵌入式实时软件 随着嵌入式产品需求的不断增加,嵌入式软件功能要求也越来越多,对性能 的要求也越来越高,而产品的开发周期也越来越短,软件重用技术成为嵌入式软 件开发的一种迫切需要的手段。 软件复用技术的核心一基于构件的软件工程( c b s e ) 嗍,已经在工程领域取得 了巨大的成功。这种开发方法在办公应用、电子商务、网络应用中都已经得到了 广泛使用,但在嵌入式领域,由于缺乏一个通用的构件标准,嵌入式构件技术的 研究仍处于起步阶段。尽管如此,基于构件的嵌入式软件开发能够满足嵌入式软 件的复用特性,有效缩短软件开发周期,提高软件质量,得到了嵌入式软件开发 行业的认可。 7 西南大学硕士学位论文第2 章相关理论和技术 基于构件的嵌入式实时软件通过嵌入式操作系统和板级支持包提供硬件的 驱动、i o 的控制、以及微处理器的通信操作。在应用平台上,嵌入式实时构件 通过构件接口进行组合,最终完成用户需要的功能。 对于实时系统的定义,i e e e 定义为汹h 那些正确性不仅取决于计算的逻辑结 果,也取决于产生结果所花费的时间的系统”。衡量实时系统主要由3 个指标: ( 1 ) 响应时间:计算机识别一个外部事件到做出响应的时间。 ( 2 ) 生存时间:数据的有效等待时间,在这段时间内数据是有效的。 ( 3 ) 吞吐量:在给定时间内,系统可以处理的事件总数。 实时系统的正确性依赖于运行结果的逻辑正确性和运行结果产生的时间正 确性,即实时系统必须在规定的时间范围内正确地响应外部物理过程的变化。实 时系统根据实时性要求又可以分为: ( 1 ) 强实时系统:其系统响应时间在毫秒或微秒级。 ( 2 ) 一般实时系统:其系统响应时间在毫秒级或秒级。它对实时性的要求 比强实时系统要低一些。 ( 3 ) 弱实时系统:其系统响应时间约为数十秒或更长。 基于构件的嵌入式实时软件,通过对嵌入式实时构件的特征进行衡量,以提 供满足软件需求的功能。 2 2 构件及接口的定义 2 2 1 构件的定义 软件构件概念的提出起源于软件复用技术,在1 9 6 8 年的北大西洋公约组织 ( n a t 0 ) 会议上,m c l l r o y 首次提出了软件构件、构件工厂等概念啪1 用来解决软件 危机问题。通过众多学者以后对软件构件模型的研究和探索,软件构件技术已经 成为软件开发中的一种认可的方法。随着构件理论的发展,到了2 0 世纪9 0 年代, 软件构件已经包含了设计件、测试件、代码件、中间件等多种类型,构件在软件 产业中的使用也越来越频繁,一些大公司和产业联盟提出了构件的标准,但对于 软件构件的认识却没有一个统一的定义。 o m g 组织将构件定义为呻1 :构件是一个物理的、可替换的系统组成部分,它 包装了实现体且提供了一组接口的实现方法。构件表示系统实现体的一个物理片 段,包括软件代码( 源代码、可执行代码或二进制代码) 或者等同体,例如脚本。 因此,构件自身必须相容于接口且实现接口,接口表示了构件内部所实现的服务。 这些服务定义了的一个整合的行为,从一些构件实例提供给其它客户端构件实 例。 著名学者s z y p e r s k i 将构件定义为“一个仅带特定契约接口和显式语境依 西南大学硕士学位论文第2 章相关理论和技术 赖的结构单元,软件构件可以独立部署,易于第三方整合 。根据这个观点,可 以认为构件由定义需求规格、编码实现、使用构件三方构成,构件能够由开发者 提供给第三方用户使用。 c a r n e g i em e l l o n 大学软件工程研究所( s e i ) 的b a c h m a n 认为m 1 :软件构件是 非透明的功能实现,可供第三方组装,并遵循一个构件模型。 m i c r o s o f tc o r p o r a t i o n 认为嘲:构件是一个通过接口向外界提供服务的软 件包。 尽管对构件的定义不统一,但构件的特征却主要体现在以下几个方面: ( 1 ) 构件是可以独立配置的单元。 ( 2 ) 构件是严格封装的,构件内部实现细节与外界环境和其他构件是分离 的。 ( 3 ) 构件通过接口与环境和其他构件交互。 ( 4 ) 构件没有个体特有的属性,不与自身副本相区别。 构件在通常情况下包括构件接口和构件体两部分,构件体是指构件内部各种 具体功能的实现,构件接口则是对构件功能的描述,也是构件组装的基础。 构件模型是构件本质特征与构件间关系的抽象描述,在学术界、产业界已经 有大量的构件模型,包括3 c 模型、c o r b a 模型、c o m 模型、e n t e r p r i s ej a v a b e a n 等。 2 2 23 c 模型 3 c 模型是由t r a c z 等系统领域工程专家于1 9 8 9 年的“r e u s ei np r a c t i c e w o r k s h o p 上提出来的关于构件描述的一个指导性模型口3 1 。该模型从概念 ( c o n c e p t ) 、内容( c o n t e n t ) 、语境( c o n t e x t ) 三个方面对构件进行了描述。 ( 1 ) 概念:描述“构件做什么 ,它对构件进行抽象描述,给出软件构件内 部属性,描述了构件的接口,标识出构件使用时的前置条件和后置条件的语境中 所表示的语义。 ( 2 ) 内容:描述构件如何实现概念的功能,内容被封装在构件当中,对第 三方开发人员不可见的,只有那些需要修改构件的人才必须访问它。 ( 3 ) 语境:描述构件和外围环境在概念和内容级的关系,又可以进一步分 为:概念语境描述构件接口和语义方面的关系,操作语境一刻画构件中被操作 数据的特征,实现语境一描述构件间在实现方面的依赖关系。 3 c 模型是学术界普遍认同的对于构件描述有指导意义的模型,它主要是用于 形式化描述的方法。 9 西南大学硕士学位论文第2 章相关理论和技术 2 2 3c o r b a 模型 c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h it e c t u r e ,公共对象请求代理体 系结构) 是由o m g ( o b j e c tm a n a g eg r o u p :对象管理组织) 制订的一种标准的面 向对象应用程序体系规范1 。 c o r b a 模型定义了一系列的a p i 、通信协议、服务信息模型使得不同语言、 平台的应用程序能够相互操作,满足了应用程序用不同的程序语言编写,运行在 不同平台上的要求。在c o r b a 定义中,每个构件作为一个对象,封闭了内部代码 实现方法,通过一个基于面向对象的接口,在总线上能够被其他任何对象所调用。 c o r b a 模型主要分为三个层次:对象请求代理、公共对象服务和公共设施。 ( 1 ) 对象请求代理( o h j e c tr e q u e s tb r o k e r ) 位于c o r b a 标准的最底层, 是c o r b a 的核心技术。它规定了分布对象的接口和语言映射,用于实现对象的通 讯和相互操作,是分布对象系统中的“软总线”。 ( 2 ) 公共对象服务,主要提供并发服务、事务服务、安全服务等服务。 ( 3 ) 公共设施则定义了组件框架,提供直接为业务服务的对象和业务对象 协作的规则。 c o r b a 通过i d l ( 接口定义语言) 进行对象建模,以及采用i i o p ( i n t e r n e t i n t e r - o r bp r o t o c a l ) ,即o r b 互通协议进行客户和服务器之间的通信。 i d l 是用来定义c o r b a 对象使用的、应用组件之间的接口。i d l 独立于任何 编程语言,用i d l 编译器将它映射为其他常用的语言,如c + + 、c 、j a v a 等。c o r b a 的一个简化的i d l 框架如图2 - 2 所示: i d l 的框架主要由四种元素组成: ( 1 ) 模块:包含许多按功能分组的接口,形成附加的分层结构。因此,在 c o r b a 中的模块定义了一个命名空间。 ( 2 ) 接口:它定义了数据和操作,供客户调用。接口中包括常量、类型、 属性及异常情况的声明。i d l 实现了接口与实现相分离的原则。i d l 还提供了接 口继承性,派生接口可以继承基类接口所定义的操作与类型。实际上,i d l 接口 定义了c o r b a 中的类。 ( 3 ) 操作:它表示客户可以调用的、处于构件中的服务。操作特性指的是 操作的参数和返回的结果类型。一个操作还可以包含一组描述客户语言环境的属 性和异常事件。 ( 4 ) 数据类型:它用来描述参数、属性、返回值以及异常等的允许值。c o r b a 支持的数据类型有:基本数据类型、构造类型、模板类型、复合类型。 l o ; ; ; 匪巫堕) 一一e : i 声明类型、常量、 i属性和异常 ; ; ; ; 区亟亟 _ 一 ( p a r a m e t e 毗 确定参数及返回结 果的类型 r a i s e se x c e p t i o n c o n t e x t ; 【 ( ) ; r a i s e se x c e p t i o n c o n t e x t ; 图2 - 2c o r b a 的i d l 框架 2 2 4c o m 模型 c o l d 1 ( c o m p o n e n to b j e c tm o d e l ) 是微软提出的一种软件构件模型,主要 用于w i n d o w s 操作系统平台上软件的开发,c o l d 通过定义了规范的构件接口,在 不需要使用中间件的情况下能够实现构件间的交互。c o l d 支持不同语言的协作开 发,如c 、j a v a 、c + + 等,满足了软件开发的需要,目前已经广泛使用在m i c r o s o f t 的各种软件中。 c o m 是面向对象的软件模型,c o l d 构件以接口的方式提供服务,一个c o l d 构 西南大学硕士学位论文第2 章相关理论和技术 件可以包含多个c o m 对象,每个c o m 对象可以实现多个接口。c o i l 标准包含规范 与实现两个部分,规范部分主要定义了构件之间的通信机制,而实现部分则是 c o m 库。 c o m 接口是构件间相互通信的关键。c o m 构件模型定义了规范的构件接口, 如图2 - 3 所示: p v t a b l e v t a b l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蒸汽杀菌锅知识培训要点
- 2025年社区卫生服务知识考试题库(附答案)
- 2025年普通处方权考试题及答案
- 2025诊所租赁合同范本参考
- 叉车实操考试全套试题及答案
- 2025年高考化学试题分类汇编:有机化学基础(含解析)
- 2025全面授权合同协议书汇编
- 物业安全生产试题及答案
- 2025年4月护理理论知识考试模拟题(含参考答案)
- 2025年北京市旅游合同范本(BF)
- 读书分享-《教育的情调》
- 《材料力学》说课-课件
- 物资采购付款报销单
- 政务云收费标准 云托管收费标准
- 飞灰螯合物运输服务方案
- 计算机辅助翻译实用教程ppt课件(完整版)
- 研学旅行概论教学课件汇总完整版电子教案
- 《UI视觉设计案例教程》PPT课件(共6章)第1章 UI快速入门
- 《中国的行政区划》教学设计
- 50T吊车性能表
- 钢化玻璃标准
评论
0/150
提交评论