(计算机应用技术专业论文)基于嵌入式的动态可复用软件模型的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于嵌入式的动态可复用软件模型的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于嵌入式的动态可复用软件模型的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于嵌入式的动态可复用软件模型的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于嵌入式的动态可复用软件模型的设计与实现.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉科技大学 研究生学位论文创新性声明 本人郑重声明:所呈交的学位论文是本人在导师指导下,独立进行研 究所取得的成果。除了文中已经注明引用的内容或属合作研究共同完成的 工作外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 论文作者签名:型整日期:塑丝:鱼:堑 研究生学位论文版权使用授权声明 本论文的研究成果归武汉科技大学所有,其研究内容不得以其它单位 的名义发表。本人完全了解武汉科技大学有关保留、使用学位论文的规定, 同意学校保留并向有关部门( 按照武汉科技大学关于研究生学位论文收录 工作的规定执行) 送交论文的复印件和电子版本,允许论文被查阅和借阅, 同意学校将本论文的全部或部分内容编入学校认可的国家相关数据库进行 检索和对外服务。 论文作者签名: 型盟兰 指导教师签名: ! 匹竖耷 日 武汉科技大学硕士学位论文 第1 页 摘要 近年来,软件业的信息化、网络化、智能化的发展非常迅速,这也使得基于嵌入式系 统的开发技术取得了一定的进步与发展,因此嵌入式应用系统也已慢慢渗透到我们的生活 和生产的各个领域中。同时,由于嵌入式系统自身的特点一高可靠性、体积小、易扩展性、 高实时性,可多任务操作等,使得它在工业控制、工业数据采集等领域拥有不可替代的地 位。 本论文基于嵌入式软件开发的特点,并结合嵌入式设备的实际需求以及工业控制领域 的组态软件思想,主要以软件设计中的组件技术为基础,设计出了一个适用于嵌入式软件 开发的动态可复用软件模型。这个模型主要是将软件的逻辑从软件的实现中分离出来,使 得最终用户能够灵活、方便地定制适合自身的软件逻辑,这样可以极大地提高软件系统的 灵活性和逻辑可扩充性,降低嵌入式软件的更新、维护成本。 最后,在实际应用中结合嵌入式设备一触摸控制屏的特点以及用户的实际要求,利用 该模型设计出一个完整的系统,该系统的主要思想是:根据实际需求将整个系统抽象成多 个独立互不关联的组件,组件问通过消息、事件来传递信息,而用户则只需要根据自身需 求通过定制模块将这些组件结合在一起,通过设置组件相关属性完成组件逻辑,最终实现 一个实际的嵌入式软件应用系统。 本文首先讨论了软件复用、组件技术,以及它们应用于嵌入式系统的方法,然后详细 描述了本文提出的软件模型的整个构架及各个部分所完成的功能,最后在实际的系统丌发 中应用该模型,证明了本模型的有效性与可行性,进一步说明了组件化软件丌发技术对嵌 入式系统是有效可行的,并能够有效地提高嵌入式软件丌发的效率和质量。 关键词:软件复用,嵌入式系统,组件技术,基于组件的软件丌发,组态软件 a v a i l a b i l i t y a n df e a s i b i l i t yo ft h i sm o d e l ,a n df u r t h e r e x p l a i n s t h a t c o m p o n e n ts o f t w a r e d e v e l o p m e n tt e c h n o l o g yi sa v a i l a b l ea n df e a s i b l ef o re m b e d d e ds y s t e ma n dc a ni m p r o v et h e e f f i c i e n c ya n dq u a l i t yo fe m b e d d e ds o f t w a r ed e v e l o p m e n t k e yw o r d s :s o f t w a r er e u s e ,e m b e d d e ds y s t e m ,c o m p o n e n tt e c h n o l o g y , c o m p o n e n t b a s e d s o f t w a r ed e v e l o p m e n t ,c o n f i g u r a t i o ns o f t w a r e 武汉科技大学 硕士学位论文第1 i i 页 目录 摘要i a b s t r a ;t i i 第一章绪论1 1 1 课题研究背景1 1 2 课题研究意义l 1 3 嵌入式系统与开发2 1 4 本文所做工作及论文的内容安排3 1 4 1 本文所做工作3 1 4 2 论文的内容组织与安排3 第二章模型关键技术综述5 2 1 软件复用技术综述5 2 2 组件技术6 2 2 1 组件技术简介6 2 2 2 组件相关标准发展动态7 2 3 基于组件的软件开发8 2 3 1 基于组件开发简介。8 2 3 2 基于组件开发的特点8 2 4 组态软件9 2 5 组件化嵌入式软件10 2 5 1 嵌入式系统的特点l o 2 5 2 嵌入式组件l0 2 6 本章小结l l 第三章基于嵌入式的动态可复用软件模型的设计1 2 3 1 动态可复用软件模型的设计1 2 3 2 模型中的组件概念1 4 3 2 1 组件模型1 4 3 2 2 组件实体模型l5 3 3 组态的定制与解析1 7 3 3 1 组念的定制l7 3 3 2 组态的解析1 8 3 3 3 组态定制与解析流程2 0 3 4 本章小结2 0 第四章基于可复用软件模型的系统工程存储技术一x m l 技术2 l 4 1x m l 的发展2 l 4 2x m l 的基本特点2 2 第1 v 页武汉科技大学硕士学位论文 4 3x m l 的应用领域2 2 4 4d t d 和x m lsc _ h e m a 2 3 4 5x m l 文档处理2 4 4 6x m l 的文档存储方式2 5 4 7 本章小结2 6 第五章可复用软件模型在嵌入式系统中的应用2 7 5 1g d i + 简介及其在系统中的应用2 7 5 1 。1g d i + 简介2 7 5 1 2g d i + 在系统中的应用2 9 5 2x t r 锄et o o l k i tp r o :ll 5 2 1x t r 锄et 0 0 l k i tp r o 简介3 1 5 2 2x t r 锄et o o l k i tp r o 的应用3 2 5 3x m l 技术在系统中的应用3 3 5 4 工程编译3 7 5 5 本章小结3 8 第六章全文总结与展望3 9 6 1 工作总结。3 9 6 2 工作展望3 9 参考文献4 l 攻读硕士学位期间成果4 4 致 谢4 5 武汉科技大学硕士学位论文第1 页 第一章绪论 1 1 课题研究背景 近年来,随着计算机、网络、微电子等技术的高速发展及其应用领域的不断扩大,嵌 入式系统的应用也越来越受到重视。同时,由于嵌入式系统具有高可靠性、体积小、易扩 展性、高实时性,可多任务操作等特点,使得它在现代工业数据采集与控制中拥有不可替 代的地位。但是,由于嵌入式系统应用领域的不断扩大,嵌入式系统软件的应用也越来越 广泛,应用软件系统的功能也同益强大,与此同时也产生了相应的问题: 1 ) 应用软件规模不断增大,开发周期不断延长,维护费用也相应增高; 2 ) 应用软件过于复杂,同系统中集成了各种不同的功能,但大多数功能无法重复 使用; 3 ) 应用软件的可复用性差,由于软件丌发人员在软件丌发阶段大多是针对特定的需 求来设计功能模块,而很少考虑软件功能的兼容性、代码重用等问题,从而导致了大量的 重复丌发。 随着信息化、网络化、智能化的发展,嵌入式系统开发技术取得迅速发展,嵌入式应 用系统也已广泛地渗透到社会生活和生产的各个领域。但是,目前嵌入式工业控制软件还 未得到广泛的应用,且其丌发依旧遵循传统模式。在嵌入式设备的应用上,传统软件丌发 模式有以下不足:首先,传统- 丌发模式丌发难度大,开发周期长;其次,由于传统丌发模 式是静念的,一旦用户的需求发生变化,就必须对软件代码进行修改;最后,嵌入式设备 基本上最终面对的是一般用户,而传统模式开发出的软件其下载、更新的技术性较强,一 般用户是无法胜任的。 综合上述分析,传统软件开发模式已不能很好满足嵌入式系统的开发要求。而随着信 息化社会的发展,各种软件应用的需求也在不断增加,这使软件生产的复杂性急剧增加, 同时也要求尽可能缩短软件生产周期,因此大型软件的生产出现了很大的困难,即出现软 件危机。软件复用思想【i i 】的提出及复用技术的应用,被认为是解决“软件危机”的技术上 可行的、现实的解决方案,它克服了传统的软件开发模式的缺点,使快速开发软件成为可 能。其核心技术一组件技术【0 1 1 是通过丌发一系列的具有特定功能的组件,再按具体需求将 满足功能的组件组合起来,从而形成定制的产品,这样可以极大的提高软件的丌发速度, 并降低其成本。这种基于组件化的软件开发不仅可以有效降低在丌发和后期维护的费用, 更重要的是可以有效缩短软件的丌发周期、提高软件的可靠性及其复用率。因此,丌发组 件化的软件一在软件丌发过程中将面向对象的编程思想与组件技术充分结合在一起,这已 经成为了当前设计和丌发软件应用系统的一个可靠的方法和方向。 1 2 课题研究意义 近年来,组件技术已经得到业界越来越多的认可,在开发应用软件的过程中使用组件 第2 页武汉科技大学硕士学位论文 技术已是普遍做法。组件体系中比较成熟的有w i n d o w s 的c o m ( c o m p o n e n to b j e c tm o d e l , 组件对象模型) 0 2 】( 0 3 】。目前w i n d o w s 系统以及w i n d o w s 的许多应用程序都是通过c o m 组件来构建的,它使得系统的稳定性、维护性、成长性等得到了有力地保障,至今为止许 多系统都是在这个基础上开发成功的。 n e t 是微软推出的一个新的基于软件框架结构的系统平台,从诞生到现在已经走过了 近十个年头,是与s u n 公司发布的企业级分布式系统基本平台j 2 e e 相抗争的w i n d o w s 产 品。n e t 的基本构建方式不同于c o m ,但提供了访问c o m 组件的能力,它是基于托管 的软件构架,而托管是n e t 的一个专门概念,它倡导一种新的编程理念,因此我们完全可 以把“托管 视为“n e t ”,它重新定义了在软件应用中组件的通信方法和生存形式。 本课题研究的是基于嵌入式的可复用软件模型,该模型的核心是组件技术。随着嵌入 式系统应用领域的不断扩大,嵌入式软件在软件行业也得到了越来越多的重视。而组态软 件因其丌发的灵活性、高可靠性等特点得到了广泛的应用,在嵌入式系统中也发挥了越来 越重要的作用。因此本课题将提出一种构件化组态软件模型,并通过实际应用设计一个基 于此模型的软件系统,以证明模型的可行性及其有效性。 1 3 嵌入式系统与开发 嵌入式系统 0 4 】是专用计算机系统,它是以应用为中心、以计算机技术为基础的,相对 其他的系统而言,它对系统功能、可靠性等要求更为严格。嵌入式应用丌始是以单片机为 主的,它所能完成的应用比较单一,因此不需要并发执行的任务。但是,随着嵌入式系统 在控制领域的发展,其控制规模逐渐增大、控制复杂度也相应提高,这就需要它拥有并发 运行、调度多任务等性能,因此嵌入式操作系统就应运而生。嵌入式系统的发展与p c 机 的发展具有相似之处,它需要作为系统管理的底层支持的嵌入式操作系统,然后在此操作 系统上运行具有某特定功能的程序,而这种程序就是我们所说的嵌入式软件。具体来说, 嵌入式软件具有以下特点:在软件的系统级设计时,我们就必须考虑到所应用的嵌入式系 统的特性;它是面向硬件的,跟p c 机上运行的软件相比它需要对硬件的接口进行操作, 这决定了嵌入式软件与硬件的紧密联系;软件设计时要充分考虑嵌入式设备的资源,这也 是软件是否能在嵌入式上设备运行的关键环节。 嵌入式丌发【0 7 】【0 8 】主要是由两部分组成:嵌入式操作系统的丌发,应用在嵌入式设备上 的软件的丌发。嵌入式设备上的操作系统一般是由专业软件厂商提供的,随着一些操作系 统源代码的丌放,系统设计者也可以根据自身需求丌发符合要求的嵌入式操作系统;嵌入 式应用软件则是指面向特定的应用而设计和丌发的、运行在指定嵌入式设备及其操作系统 上的软件。我们通常所说的嵌入式系统丌发指的就是运行在嵌入式设备上的应用软件的丌 发。目前,嵌入式系统有如下几种主要开发方式【叫: 1 ) 基于程序设计语言的软件丌发 嵌入式软件开发最早使用的程序设计语言是汇编语言,而目前主要是c c + + e c + + 等 开发语言。高级程序设计语言在嵌入式开发中的应用,使嵌入式的软件开发可以从硬件开 武汉科技大学 硕士学位论文第3 页 发中分离出来,系统设计者在从事嵌入式软件开发时不必再精通系统硬件、汇编语言指令 集等,这在很大程度上缩短了软件的开发周期和提高了开发效率,但在没有硬件的情况下 软件调试无法有效进行。 2 ) 嵌入式操作系统支持的软件开发平台和工具 随着嵌入式技术的发展,出现了很多嵌入式的开发平台、工具,例如m i 盯o s o f l 提供的 w i n d o w sc e ,它支持w i n 3 2a p i 编程接口。但是,通常它们仅仅提供程序的设计、编码及 测试的工具,利用它们开发的软件系统对操作系统的依赖性很强。 3 ) 面向特定领域的嵌入式软件丌发平台 嵌入式软件丌发平台支持嵌入式系统丌发的整个过程,包括需求分析、编码和测试等 软件开发阶段,它强调的是对领域知识的积累和重用。 1 4 本文所做工作及论文的内容安排 1 4 1 本文所做工作 本文在充分分析和理解了软件复用思想及其关键技术的基础上,结合了嵌入式软件开 发的特点,设计了一个基于嵌入式的可复用软件模型,并对其进行了详细的说明,最后结 合一个基于此模型设计的嵌入式软件系统,证明了该模型的可行性和有效性。 文章首先对软件复用思想及其核心技术一组件技术进行了研究,分析了组件技术的发 展和基于组件的软件丌发特点,介绍了组件化嵌入式软件的i 丌发技术及其丌发过程;然后, 充分分析了嵌入式系统的特点,在其特点的基础上提出了基于嵌入式的动态可复用软件模 型,并对模型的各个组成部分进行了详细的说明;最后,根据实际的需求设计了一个基于 此模型的嵌入式软件系统,对系统开发过程中所用到的工具及其具体的应用做了简要的介 绍和说明,通过嵌入式系统的成功开发证明了本模型的j 下确性、可行性及其有效性;在文 章的最后笔者对全文进行了总结,对本文所设计的模型的优劣进行了评定,并对基于组件 的嵌入式系统丌发进行了展望。 1 4 2 论文的内容组织与安排 本文共分为六个章节,各个章节内容安排如下: 第一章,讨论了课题丌展的背景和研究意义,对软件复用思想进行了简要介绍,对其 技术的发展现状进行了分析,并介绍了嵌入式系统及分析了其丌发特点,最后对本论文的 主要工作和组织结构进行了安排; 第二章,介绍并分析了基于嵌入式的动态可复用软件模型中用到的关键技术一软件复 用、组件技术等,并简要说明了基于组件的软件丌发特点,以及组念软件的发展状况; 第三章,介绍了本文所设计的基于嵌入式的动态可复用软件模型,对组件模型及所用 到的组件实体模型进行了说明,最后对本模型的各个组成部分的功能进行了详细的设计和 说明; 第四章,对x m l 技术的发展状况、基本特点、应用领域和文档处理方式等做了简要 第4 页武汉科技大学硕士学位论文 介绍,为第五章的嵌入式动态可复用软件奠定了理论基础; 第五章,在本文提出的模型的基础上设计了在嵌入式设备上运行的应用系统,并对它 的设计进行了说明,介绍了系统中的关键技术及其应用,说明了系统主要功能及其实现, 从而证明了本文所提出的模型的可行性; 第六章,总结了笔者所做的工作,对本文所设计的模型的优劣进行了简要的分析以及 对嵌入式系统的展望。 武汉科技大学 硕士学位论文第5 页 第二章模型关键技术综述 2 1 软件复用技术综述 传统的软件大多是针对某一领域特定的应用或客户的具体需求进行开发的,这些软件 的开发基本都是一个从无到有的过程,所有的需求分析、设计、编码、测试都是由系统开 发人员逐一完成。然而,随着信息化社会的飞速发展,软件丌发周期、开发效率、可复用 性等方面的要求也越来越高。在现实世界中,我们可以发现有很多软件在某些功能上存在 着相当大的共性,特别是用于同一应用领域的软件更是如此。对这些具有共性的功能进行 重复开发很显然会造成人力、财力上相当大的浪费,而在软件开发过程中如果能使用现成 的可以重复使用的软件产品则是非常明智的做法,在这个市场竞争非常激烈的社会上也是 极有竞争力的表现,这也是软件复用( s o f t w a r er e u s e ) 的思想。 软件复用【1 2 1 是在丌发新的软件时充分利用已有软件的各种有关知识,将已有的软件成 分用于构造新的软件系统,从而缩减软件开发和维护的花费、提高软件丌发效率以及软件 质量。软件复用的根本出发点是使程序员在开发软件时不再采用一切“从零开始 的模 式,而是充分利用以往丌发软件的过程中所积累的知识和经验,能够将其丌发重点放在本 系统的特有构成成分上。也可以说,软件复用是在软件开发中避免重复劳动的有效解决方 案,由于它消除了包括体系结构、分析、设计、丌发文档、软件测试等方面的大部分重复 劳动,因此大大缩短了软件的丌发周期:同时,通过复用成熟的已有丌发成果,可以有效 避免重复丌发时可能引入的错误,这在很大程度提高了软件的质量。 软件复用的思想就其本质而言,就是将我们所要丌发的软件看成是一个有机体,把它 看成是由具有不同功能的组件所组成的,在设计时我们将组件认为是完成某一具体工作的 工具,那么软件的编写工作就变得非常简单一只是将各种不同的组件组织起来,并通过一 些逻辑设置进行连接。综上所述,我们可以得出这样一个结论:软件复用思想的提出以及 组件技术的发展和应用,对软件业的发展具有重要的意义,设计、开发并使用可复用组件 不仅可以很大程度地提高软件质量、降低开发成本,还可以有效地缩短软件开发周期。 早期的软件复用主要是程序代码级复用,被复用的部分主要是程序,后来扩大到包括 开发经验、体系结构、领域知识、设计决定、需求、设计、代码和文档等方面。如今我们 所指的软件复用主要是发生在软件生命周期一些主要丌发阶段,它大致可以划分为以下几 卷【1 3 】【1 4 】 一,、 1 ) 代码的复用 这个阶段的复用主要是指对源代码或目标代码的复用。其中源代码的复用主要是指程 序员将一个系统中的具有一定功能的代码片段复制到另一个系统中使用,但这样做的弊端 是会产生系统中代码不匹配的问题;而目标代码比源代码的复用级别更低,但是大部分编 程语言的运行支持系统通过提供连接( l i n k ) 、绑定( b i n d i n g ) 等功能支持这种形式的复用。 2 ) 设计的复用 这种复用主要是指对系统中的设计结果的复用,通常有三种复用方式:第一种是把现 大学硕士学位论文 我们会将 因此,我们说 设计的复用 因此复用的 开发人员可以方便的使用这些操作或者业务逻辑来完成自己的工作,而不用去关心实际的 实现细节,这个过程称之为组件封装,封装的产品也就是组件。 软件组件技术近年来获得了高速的发展,成为了计算机科学的一个重要分支学科,软 件组件技术的研究包括下几个方耐1 7 】: 1 ) 组件获取:通过合理设计设计出全新的组件,或者通过重构的方式从已经存在的 武汉科技大学硕士学位论文 第7 页 系统中提取组件; 2 ) 组件模型:研究理论层面的组件特性,以及组件之问的关系; 3 ) 组件描述语言:其基础是组件模型,重点在于解决组件的特性描述; 4 ) 组件分类和检索:研究组件组织的模式,及管理组件的有效方式; 5 ) 组件组装:协调组件之间的数据传递,包括编译级别的适配和运行时的组件交互 操作的适配; 6 ) 标准制定:组件模型、管理、复用,以及通过组件实现软件系统的软件过程的标 准。 软件组件技术不仅仅是软件设计层面的技术,还涉及到软件工程管理的层面。管理层 面包括软件质量、软件评价和改进、软件复用程度的控制等管理方法,设计方面包括面向 对象技术、组件组织结构等技术方法。 2 2 2 组件相关标准发展动态 在国际上也在积极开展软件组件标准的研究工作,以下是组件标准关注的几个重点方 面【1 8 】【1 9 】【2 0 】: 1 ) 软件组件模型 软件组件模型2 1 1 是研究组件本质特征及组件间关系的抽象描述,是整个软件组件标准 化工作的基础。目自 市场上存在多种组件模型,例如,组件库系统r e b o o t 、j b c l 、a l o a f 等从管理角度提出的组件模型;组件复用研究人员w r i g h t 、u n i c o n 、r a p i d e 、j b c o 等从 组装角度提出的多种组件模型;m i c r o s o i t 的c o m d c o m 、o m g 定制的c o r b a 、s u n 公司的j 2 e e 等从实现角度提出的组件模型。 2 ) 软件组件管理 软件组件管理是工业化、大规模生产软件的核心技术,也是软件公司资源管理的核心。 如果组件管理的标准一经制定,不仅可以指导软件结构管理活动,同时为大规模,工业化 的软件生产提供了技术保障。目前,可互操作性组织( r i g ) ,i e e e ,全球广域网协会( w 3 c ) 等组织都发布了软件组件管理相关的标准。 3 ) 软件组件运行平台 目前,国外主流软件组件运行平台标准有:o m g 组织制定的c o r b a 、s u n 公司发 起的j 2 e e 、m i c r o s o f t 推出的c o m d c o m 等。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 r a r c h i t e c t u r e ,公共对象请求代理体系结构) 是一种标准的面向对象应用程序体系规范和组件 标准,它的设计是以数据为中心,设计的对象类既有模块的封装性和类属性等特性,还有 继承特性,这极大地提高了类的可扩充性和复用性,使其具有强大的集成能力,它还具有 跨语言、跨操作系统的优势;而j 2 e e 与传统应用丌发的技术架构不同,它的主要特点是 组件化,它包含了许多组件、简化了应用系统的丌发与部署,从而提高了应用系统的可移 植性、安全与再用价值,由此满足开发时间快、成本低、易扩展的要求;c o m ( 组件对象 模型) d c o m ( 分布式组件对象模型) 是m i c r o s o f t 推出的对象组件模型,目前已发展成为基 于m i c r o s o f t 平台的应用系统集成标准。 供了在实现层次上支持组件交互的基础机制,而缺少了指导丌发过程的系统化的方法学。 实际上,组件不仅仅局限在运行层次上,它的复用也不应该只是代码级的复用,更应该是 覆盖了软件生命周期的各个阶段的。 2 3 2 基于组件开发的特点 组件技术在软件丌发过程中的应用使整个系统的丌发质量、丌发成本、丌发效率都得 到了明显的改善,并且大大缩短了软件的丌发周期,节省了丌发过程中所消耗的人力及物 力。 1 ) 丌发的质量 提高软件的开发质量是基于组件的软件开发的一个明显的优点,与软件开发中使用的 模块相比,可复用的组件不但更为成熟,而且具有较高的质量保证,这主要是因为: 武汉科技大学硕士学位论文 第9 页 第一,可复用的组件一般都是经过严格测试的。组件的设计人员一般具有丰富的开发 经验,他们能从以前的开发项目中获得更多的经验,并对所开发组件的使用领域具有比较 深入的研究。同时,为了保证组件的适应性及f 确性,在其开发过程中对其质量的要求会 相对较高,并且在发布l j 都会进行非常严格的测试过程。 第二,可复用组件的错误和缺陷会在其复用过程中逐渐暴露,设计人员会对这些错误、 缺陷进行及时修改。因此,可复用构件的错误和缺陷会随着其复用次数的不断增加而逐渐 减少,从而利用此组件开发的软件的质量也会随之提高。 2 ) 开发的成本 使用可复用的组件避免了传统软件开发模式的“一切从零”的丌发形式,因此在有效 缩短开发周期的同时,也大大节省了开发成本。同时,它也避免了传统软件丌发模式中不 必要的重复劳动和对人力财力的浪费。 3 ) - 丌发的效率 软件复用的范围很广,它可以渗透到了软件丌发的各个阶段,这对于提高软件丌发的 效率有着显著的作用。在软件丌发的分析和设计阶段,丌发人员可以对原有应用框架、分 析和设计模型等进行复用;在编码阶段,丌发人员可以复用包括函数库、类库等;而在测 试阶段,测试用例和测试数据等也可以被复用。因此,这对提高软件开发效率具有非常重 大的意义。 2 4 组态软件 伴随着集散型控制系统的出现,“组态”【2 5 】【2 6 】的概念丌始被生产过程自动化技术人员 所熟知的。而组态软件【2 7 】是面向监控与数据采集的软件平台工具。国内外有许多组织和机 构从事组态方面的研究,自二十世纪九十年代起,在市面上也相继出现了一批比较优秀的 组态软件。随着现代工业的高速发展,企业对生产自动化和各种信息的集成要求越来越高, 基于计算机控制的组态软件因其灵活开发、高可靠性、分散控制和集中监控等特点得到广 泛的应用,在工业监控系统中发挥越来越重要的作用,而传统的组念软件存在扩展性不强 和开发周期长等缺点。对此提出一种构件化组念软件模型。 构件化组态软件( c b c s ,c o m p o n e n t - - b a s e dc o n f i g u r a t i o ns o f t w a r e ) 2 8 】是在组态软件的 体系结构基础上,将组态软件系统内部相对独立的具体功能抽象为一个个构件,根据系统 宏观的配置描述和构件对自身的描述将这些构件放到软件系统的构件集中,构件集与构件 集管理组成了构件库,组态软件的构成部分组念坏境和运行环境在构件库基础上实现,从 而使组念软件构件化,形成一个灵活、扩展性、复用性强的组态软件。构件化组念软件过 程最重要的是构造构件库,构件库是构件化软件必不可少的部分,它由构件集和构件集管 理两部分构成,而构件集是由一个个构件组成。构件库的实现其实质也就是构件集和构件 集管理的实现。 第1 0 页武汉科技大学硕士学位论文 2 5 组件化嵌入式软件 在本质上,嵌入式软件跟普通软件一样,因此嵌入式软件的组件化开发技术的主要研 究内容与普通的c b d 1 0 】( c o m p o n e n t b a s e dd e v e l o p m e n t ,基于组件的开发) 基本一致。但 是与w i n d o w s 系统相比,嵌入式系统存在许多的不同点,例如资源受限、处理器种类繁多 等。因此,嵌入式组件技术有自己的特点。 2 5 1 嵌入式系统的特点 嵌入式系统将应用软件、操作系统集成在硬件系统中,是集软件、硬件为一体的系统。 由于它的响应速度快、高度自动化的特点,使其更适于处理实时多任务,并在工业控制、 移动计算等设备中广泛应用。 嵌入式硬件系统是以应用为中心的,其设计简化、专用性强,它除去了如输入输出设 备等不必要的部分。由于它的体积较小,使其更易于嵌入到其他设备或系统中,同时也节 省了空间、降低了功耗;它还具有高可靠性、高性能的实时性等特点,使其在工业控制领 域得到了广泛应用。 嵌入式操作系统和嵌入式应用程序组成了嵌入式软件系统,它们都是以应用为核心、 以硬件环境为基础的。考虑到嵌入式系统的专用性,所以其系统设计是模块化的,用户能 够根据需求选择性地安装不同的程序模块,并且系统支持多任务,允许任务问进行通信和 数据的共享。嵌入式软件系统还提供良好的用户界面,对于丌发人员来说,就是提供完善 方便的编程接口,这样可以大大简化应用程序的丌发过程,并且提高了程序的可移植性; 而对于用户来说,它是用户与系统的交互手段,其美观的界面、使用的简便性是极其重要 的。目前,市面上的嵌入式操作系统种类繁多,例如w i n d o w sc e 、v x w o r k s 等,这使得嵌 入式软件的复用也变得比较复杂。 2 5 2 嵌入式组件 在嵌入式领域,组件一般是可复用的软件模块,是应用于某一领域的对象。嵌入式组 件不但有我们一般所说的组件的特征,还具有嵌入式软件应用的特点。 由于组件技术的发展以及嵌入式系统软件应用范围的不断扩大,嵌入式软件开发的组 件化【3 2 i 3 3 1 成为一种必然的趋势,它通过对现有组件的组装和对新组件的丌发,以此来缩 短软件的开发周期、提高软件的丌发效率,使应用软件的丌发变得越来越简捷,软件丌发 的成本也随之有效压缩。 嵌入式组件技术【0 5 】【0 6 】即包含了我们通常所讲的组件技术,还考虑到了嵌入式系统的特 点。除了需要关注普通软件丌发所要注意的方面,在嵌入式组件的丌发过程中还要特别注 意嵌入式本身的特点。现如今,嵌入式组件技术面临的主要问题如下: 1 ) 嵌入式系统的多样性。由于嵌入式系统的诸多优点,如今各行各业都慢慢倾向于 对它的应用,而在这些不同的应用中采用的操作系统、外围接口、处理器等也可能各不相 同,这就导致了嵌入式系统问的较大差异。而要解决这些问题,就要在组件的丌发过程中 武汉科技大学硕士学位论文 第11 页 最大限度的发掘领域共性,以及采用嵌入式中间件技术以屏蔽嵌入式平台的差异。 2 ) 系统的实时性。目前,嵌入式系统主要是应用于工业控制领域的,这就对其有相 当高的实时性要求。因此,组件化嵌入式软件开发中,应该充分考虑到组件的实时性问题。 3 ) 组件的可裁剪性。硬件资源对于嵌入式应用系统来说是非常有限和宝贵的,这就 要求对其进行具体应用时能够对整个软件系统进行有效地裁剪。由于嵌入式组件本身就是 软件模块,因此很容易对其进行裁剪。 2 6 本章小结 本章主要介绍了笔者所提出的模型中要用到的技术及其原理,尤其对软件复用技术做 了详细的分析介绍,对其核心技术一组件技术进行了充分说明和分析,然后对组态软件及 其丌发流程做了简要的说明。在充分分析和理解这些理论的基础上,笔者在第三章中提出 了基于嵌入式的动态可复用软件模型。 第1 2 页武汉科技大学硕士学位论文 第三章基于嵌入式的动态可复用软件模型的设计 前面的章节中,笔者介绍了软件复用的思想及其关键技术,以及它在软件业的发展状 况。近年来,随着复用技术广泛的应用,由于它显而易见的优点使其在软件业的地位也越 来越高。而本章考虑到嵌入式软件的特点,建立了基于嵌入式的动态可复用模型,具体模 型如图3 1 所示: 3 1 动态可复用软件模型的设计 嵌 入 式 设 备 凫产 组态定制引擎 善 善 统描述模刁0 户饕曩描刁e 辑描磁刁 n八7 r 组态描i 述文件i v 心 ( 燃口) ( 用脚_ ) e 息嚣处3 :3士 r 组态解释引擎 p c 端 图3 1 动态可复用模型 从图3 1 我们可以看到,该动态可复用模型大体分为两个部分:第一部分是p c 端的面 对用户的定制组态部分,此部分是用户根据自身需求通过功能组件来定制所需要的软件系 统;另一部分是在嵌入式设备上解释并执行组念软件,即此部分是解释用户所定制的组态 软件从而使其能够在嵌入式设备上正确、有效地运行。 本模型是以软件复用思想为基础的,而软件复用的核心技术是组件技术,所以在本模 型的设计中充分利用了组件思想,模型中用户可以利用多个组件构成一个松散耦合的集 合,根据自身需求对制定的软件组念加以描述。 武汉科技大学硕士学位论文 第1 3 页 在p c 端,模型分为了三个部分:系统描述模块、逻辑描述模块、用户接口描述模块, 下面对这三个部分进行解释: 1 ) 系统描述模块 该部分的主要工作是描述开发基于此模型的应用软件最终所运行的硬件环境及软件 平台的特征,包括如下信息:软件运行的嵌入式设备环境描述、操作系统平台描述、存储 结构描述,以及通信方式描述等。系统模块部分保证了用户模块及逻辑模块能够在嵌入式 设备上正确并有效地运行,它所描述的软件运行的外围设备、平台环境使得软件能够j 下确 有效地操作硬件、调用操作系统的系统接口等,从而实现用户所需要的功能,它是整个软 件j 下常运行的基础。 2 ) 用户接口描述模块 该部分的主要工作是对用户接口界面( u s e ri n t e r f a c e ,u i ) 部分的定制进行详细描述, 它是用户与机器的接口( h u m a nm a c h i n ei n t e r f a c e ,h m i ) ,用户可以根据自身需求对组念软 件进行定制。该部分主要是把各项功能抽象成了各种组件( 即界面的控件) ,通过设置组 件的属性达到用户所需的逻辑控制、界面显示等。在软件的定制过程中用户可以根据需求 添加、删除任意的界面元素,通过设置这些界面元素的属性来达到逻辑控制、显示界面等 的需求,以设计出符合实际业务处理逻辑及符合用户自身操作习惯的人机交互界面。 3 ) 逻辑描述模块 简而言之,此部分的主要工作就是对软件工作逻辑的详细描述。在软件的传统丌发模 式下,该部分的工作是由软件设计者在编码过程中通过代码静念地体现。而在本文的模型 中,该部分的工作可由用户根据需求来处理,主要是根据软件复用的思想,考虑到软件最 终的使用者是用户,所以用户才是对软件工作逻辑的制定者和最终执行者。在软件的传统 开放模式中,程序员是根据用户的需求进行需求分析从而制定软件,一旦用户需求发生变 化,软件设计者将要对软件代码进行更新,这将耗费大量的人力、物力以及时间。而在此 模型中,软件设计者只需为每个组件编写必要的接口,由用户指定组件与组件的接口之间 的逻辑关系从而达到最终的工作逻辑。 本模型中所阐述的基于嵌入式的动态可复用软件模型,其系统描述模块、用户接口描 述模块以及逻辑描述模块最终都是利用了软件复用的组件技术来实现的。用户通过基于此 模型的可视化定制界面,可以根据自身需求指定嵌入式设备的硬件软件环境、嵌入式设备 上的操作界面及其一系列的处理逻辑功能等。而在此模型中,用户对界面的定制过程在本 质上其实是从给定的组件集合中选取若干个符合需求的组件,并通过对组件属性的设置柬 确定组件之问的逻辑关系,最终由这些在逻辑上互相关联的组件集合实现符合需求的软件 形态,从而达到功能需求。在用户定制组件界面和组件逻辑完毕后,这种由若干个互相关 联的组件构成的集合将会通过“组念定制引擎”以某种方式保存到“组念定制描述文件 中,将此描述文件下载到相应的嵌入式设备上,再由系统丌发程序员预先编制在嵌入式设 备上的“组念逻辑引擎”根据此描述文件中所描述的软件界面、组件逻辑关系等动态还原 用户所定制的软件,最终使定制的软件能够在嵌入式设备上j 下常运行并达到预期功能及效 c o m p o n e n t2 c o n c e p t ,c o n t e n t ,c o n t e x t 模型中各部分的意义如下: 1 ) c o n c e p t ( 概念) 描述的是该组件要做什么,给出了组件的内部属性,它是对组件的 抽象描述,主要是通过对接口的描述及其操作语义描述来说明组件的相关功能: 2 ) c o n t e n t ( 内容) 是对c o n c e p t 中所描述的功能的具体实现,它主要是描述组件如何去 完成c o n c e p t 所描述的功能; 3 ) c o n t e x t ( 语境) 是对组件属性的附加描述,它主要描述了组件之间的接1 3 、语义关 系,以及组件所运行的硬件环境,给出了组件的外部属性。 武汉科技大学硕士学位论文第1 5 页 3 2 2 组件实体模型 本文提出的系统模型中的组件模型是以3 c 模型为基础,因此同样分为接口、实现、 环境描述三个部分,如图3 2 所示: 理配置 赖接口 境接述 图3 2 组件静态结构 模型中组件的实体模型描述如下: c o m p o n e n t = ( c i d ,a ,0 ,u i ,m i ,m m ) 在该描述中c i d 表示的是组件i d 号,它是组件在系统中的唯一标识符,即在用户定 制的某个系统中每个组件的d 号是唯一的,它标识了该组件的唯一性;a 是组件的属性 集合,包括背景、字体等基本属性:o 是组件在其属性集合上的操作集合,例如按钮的按 下、弹起等操作;u i 是组件所提供的外部接口,m i 为组件接收消息的接口,它们相当于 3 c 模型中的c o n c e p t ,即组件的接口描述;而m m 为一组映射关系,表示组件作为消息 事件的发送方与消息的接收方的一组映射。 上文描述了模型中所述组件的基本概念,这些组件之间不存在任何依赖关系,以此保 证了基于该模型的系统的低耦合性。本模型是这些概念组件的结合,它的“原材料”就是这 些不同类型的组件,用户根据自身需求选择不同的组件组合在一起,通过组件问逻辑上的 设计就构成某种功能的软件系统。 但是,概念组件要完成实际的功能就要将其进行实例化,即生成实例组件。本模型中 的实例组件如图3 3 所示。其中,组件类型标识符表示实例组件的类型即是什么类型的概 念组件,类型标识符相当于c + + 中类的概念,我们将一些属性、功能封装在组件类型中, 通过构建这些类型的对象来完成组念软件的定制过程,例如第四章所述的基于该模型的应 用系统中的p a g e 组件、b u t t o n 组件等;在本模型中概念组件与实例组件的对应关系不是一 一的而是对多的关系,所以在系统中每一个组件对象都必须有一个唯一的标识,而 完成其最终的功能目标。本模型设计的实例组件的推动机制是利用了w i n d o w s 的消息响应 机制来完成的,它通过自身的消息接口接收来自外界的消息、事件,根据不同的消息、事 件完成相应的处理工作以达到所设定的目标。在组件的消息、事件处理过程中,有可能和 其他组件产生联动关系,这种联动关系将由该实体组件查找消息映射表,将以消息、事件 的形式从消息接口将这个联动事件发送给其他组件,这样在外界的消息、事件的推动下整 个模型便有效地运行起来。一句话,整个模型是通过消息、事件来驱动的,这也是w i n d o w s 的运行原理。 但是,基于模型的应用系统有多少组件类型,是要系统设计者根据应用领域的实际需 武汉科技大学硕士学位论文 第1 7 页 求来确定的,而实体组件集合的数量以及集合中实体组件之间的消息映射关系,则是由定 制组态软件的最终用户根据需求使用组态定制模块自行定制的。基于此模型的组态软件定 制过程主要分为两个部分:组态的定制和组态的解析,如图3 1 所示,组态定制模块运行 在p c 端,而组态解析模块运行在嵌入式设备上,它是用来解析定制的组念软件。 3 3 组态的定制与解析 基于嵌入式的动态可复用软件模型中的组态定制引擎是提供给用户定制组态的,通过 该引擎用户可以定制不同嵌入式设备下运行的组念软件界面、功能等,该模块是运行在工 作站上的,即我们通常所说的p c 端;而模型中的组态解析是指通过组态解析引擎解析用 户所定制的组念软件,从而完成嵌入式设备上界面的显示、功能实施等,该模块是运行在 嵌入式目标设备上的。 3 3 1 组态的定制 基于嵌入式的动态可复用软件模型的设计目标是为最终用户提供一个组态可定制平 台,在基于此平台所定制的目标软件的具体功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论