组件技术及其在嵌入式系统设计中的应用.docx





《组件技术及其在嵌入式系统设计中的应用.docx》由会员分享,可在线阅读,更多相关《组件技术及其在嵌入式系统设计中的应用.docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、组件技术及其在嵌入式系统设计中的应用 ronggang 导语:讨论了将组件技术应用于嵌入式系统开发的必要性,接着分析了为支持这种新的开发技术,需要引入新的嵌入式操纵系统体系构造。最后以一个实例来展示基于组件的嵌入式系统开发 摘 要:首先描绘了组件产生的技术背景,带来的重大影响和目前的研究情况。讨论了将组件技术应用于嵌入式系统开发的必要性,接着分析了为支持这种新的开发技术,需要引入新的嵌入式操纵系统体系构造。最后以一个实例来展示基于组件的嵌入式系统开发。 关键词:组件 嵌入式系统 体系构造 微内核1 组件技术分析 1.1 组件技术产生背景 为了知足人们对于软件消费率、可靠性、易维护性、易治理等方
2、面的更高、更快、更强的迫切需求,研究人员不仅引入了软件工程的概念,而且也引入了面向对象这种不同于传统软件开发的新的开发思维,并且将它应用于软件生命周期的各个阶段从分析到编码。它被以为是解决“软件危机的最正确对策。但随着互联网应用时代的到来,应用需求的不断进步以及应用系统的日趋复杂化1,人们发现这种传统的面向对象技术已经不能知足需求了,主要原因有:从抽象程度来看,面向对象技术已经到达类级重用,但重用粒度太小,不能解决异构互操纵问题和效率更高的重用。而组件是对传统面向对象技术的扩展,将抽象程度进步到了更高的层次。它是对一组相关类的组合进展封装,并代表完成一个或者多个功能的特定效劳。此外,组件不仅仅
3、是对代码的封装,它也可以对软件体系构造、测试用例、设计文档、分析文档和领域知识等进展封装。因此,从这个意义上来讲,组件本身具有更广泛的含义,也具有更灵敏的重用粒度。 1.2 组件技术产生的重要影响 网络时代的根底技术将有如下开展2:1应用重点将由基于桌面的应用转移到基于网络的应用;2操纵系统技术开展趋势将由面向桌面的系统转移到面向网络的系统;3网络编程技术将由面向对象编程开展为面向组件编程。组件技术的运用将促进网络应用模型的改变。Web效劳平台将成为下一代的因特网计算模型,其主要特征:应用软件将由包含自描绘信息元数据的组件组成;系统根据组件的自描绘信息动态生成中间件,建立用户与组件的联络管道,
4、实现组件的自动加载;组件可以通过网络获得,可以独立晋级。网络环境下以组件化软件为根底的“客户-中间件-效劳器三层构造可以很好地解决分布式处理、信息平安、软件晋级、软件产业化等技术和工程方面的问题。基于组件的软件开发将成为社会化的软件开发方法,它使得开发者可以将不同语言、不同开发商提供的组件组合在一起构造新的软件系统。因此,方便地解决了开发异构系统、分布式系统等复杂系统时带来的种种难题。 传统应用软件的开发一般包括需求分析、设计、编码、调试、测试和维护等阶段,但基于组件的软件开发经过却与此不同3 ,如图1。 align=center图1 基于组件的软件开发经过/align 在需求分析阶段,除了需
5、要考虑系统的功能性和非功能性需求外,还必须从基于组件技术的角度出发,发现并抽取出系统中的共性局部和可变局部,进而形成领域通用组件和专用组件。体系构造设计阶段将在前面工作的根底上建立各个组件以及组件之间的联络。然后软件设计者通过组件库或者定制领域通用组件或者定制领域专用组件来获得系统所需的组件。其中,领域通用组件可以为以后一样领域应用程序的开发继续提供效劳,进而到达复用的目的。因此,基于组件技术的软件开发将具有更高的软件消费率,将成为实现软件产业化的最正确途径。 1.3 组件技术研究现状 近年来,组件技术的研究获得了较大进展4 5,对软件系统的开发提供了有力的支持,出现了LIL、CKL等多种组件
6、描绘语言,Powerbuilder、Delphi等组件语言。目前主流的软件组件技术标准有:微软提出的COM/COM+、SUN公司提出的JavaBean/EJB、OMG提出的Corba。它们为应用软件的开发提供了可移植性、异构性的实现环境和强健平台,完毕了面向对象中的开发语言混乱的场面,解决软件复用在通讯、互操纵等环境异构的瓶颈问题。研究理论说明,软件复用在特定领域更轻易获得成功,因此特定领域的软件复用研究得到了高度重视,特定领域的组件技术及其应用研究也成为组件技术的研究热门。 但是设计组件时,它的粒度该怎样把握是一个值得研究的问题,它将影响整个软件系统以及以后的重用6 7。假如粒度太大,固然功
7、能较多,但接口较复杂且不易修改,因此不易重用;而假如粒度太小,固然功能单一,接口简单且易于修改、易于重用,但整个软件系统中各个组件之间的关系将显得更为复杂。因此,当设计一个软件系统时,应当在大粒度和小粒度的选择和设计中进展很好的权衡。目前,已经有这方面的研究,如可变粒度的软件开发或者治理工具。相信不久的将来,基于组件的软件开发工具可以为开发人员提供这方面的成熟支持。 2 嵌入式系统开发 2.1 存在的问题2 互联网应用的兴起使计算形式继主机计算和桌面计算之后进入一种全新的形式普适计算形式。这种新型计算形式的含义特别广泛,涉及的技术包括挪动通讯技术、网络技术、传感器技术、分布式技术、嵌入式技术等
8、。它主要针对挪动设备,比方信息家电或者某种嵌入式设备,如掌上电脑、BP机、车载智能设备、笔记本计算机、手表、智能卡、智能手机具有掌上电脑的一局部功能、机顶盒、POS销售机、屏幕 除了普通话机的功能还可以阅读因特网等新一代智能设备。因此,嵌入式技术的开展将促进普适技术的成熟。嵌入式技术的开展主要表如今以下几个方面:1底层硬件的设计,包括集成度、功能、能耗等;2嵌入式操纵系统,包括实时性、可靠性、平安性等;3高层应用的开发,主要包括开发工具、应用的可重用性等。但目前嵌入式系统的开发存在以下问题:1、硬件系统根据特定的应用进展定制,一般不能方便地应用到其他的系统中;2、应用程序的开发直接基于操纵系统
9、之上,缺乏跨平台的开发工具; 3、应用程序的开发一般是从“零开场的。因此,导致了系统开发周期长,开发费用大,可移植性差,可靠性低等问题。尤其在Internet时代,应用程序的功能将更加丰富和灵敏,系统也将变得更为复杂,因此上述缺乏将表现得更为突出。 2.2 嵌入式系统开发的开展 为了知足嵌入式系统快速增长的需要以及解决传统开发方法中存在的缺乏,我们将组件技术引入嵌入式系统的开发中。但目前绝大多数的嵌入式操纵系统存在以下问题:1以一体化内核的方式来实现,如linux将很多常用的但非根本的效劳直接集成到内核中如tcp/ip协议等,因此将使内核显得过于庞大。固然linux内核可以通过定制来使其变得更
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 组件 技术 及其 嵌入式 系统 设计 中的 应用

限制150内