嵌入式系统设计中组件技术的研究及应用

发布者:心灵的旅程最新更新时间:2009-11-12 来源: 现代电子技术关键字:嵌入式系统  组件  CBD  软件开发 手机看文章 扫描二维码
随时随地手机看文章

  0  引  言

  基于组件的开发(Component Based Development,CBD)技术在软件工程中占有举足轻重的地位,并且在许多工程应用领域已经取得了重大的成功。在通用计算机软件、电子商务、Internet和分布式计算环境中CBD技术已经得到了成熟的应用。但是,在其他一些领域,如嵌入式系统中,CBD的应用还及其有限。由于不同嵌入式系统的需求和硬件平台各异,要开发出适用于所有系统的通用组件是极其困难的,目前只能够针对特定应用领域和平台研究开发适用的组件。正是由于嵌入式系统的差异性、专门性与组件技术的通用性之间的矛盾,所以要利用组件进行嵌入式软件开发,就必须采取适用的组件技术和系统开发方法。

  在此,主要介绍了面向组件软件工程的总体原则及其在嵌入式系统中的应用。通过分析嵌入式系统中对组件的要求和通用组件技术的差异,提出了嵌入式组件的设计原则,并基于嵌入式组件的特点,提出一种面向组件的嵌入式软件系统开发方法。表明尽管嵌入式系统与通用计算平台具有很大的差异,但是组件技术仍然可以成功地应用于嵌入式领域。

  1嵌入式系统和组件技术

  1.1嵌入式系统

  嵌入式系统是满足专门需求的小型计算机系统。例如,车载控制系统、工业控制系统、移动电话或者传感控制系统。嵌入式系统的范围极其广泛,从微型计算设备到复杂的大型监控设备都属于嵌入式系统的范畴。实时性是大多数嵌入式系统的特性,是在系统设计时需要考虑的重要概念。对于实时性的要求,不同嵌入式系统可以分为软实时系统(Soft Time System)和硬实时系统(Hard Time System)。嵌入式系统一般还要求有很好的稳定性和可靠性。由于功能专一,需求多样和系统小型化,这就要求系统的成本低廉,从而限制了系统的硬件性能。由于嵌入式系统的资源限制和实时性要求,软件开发人员往往不能够利用先进的通用软件工程技术,而必须使用一些非正规的方法,利用高效的程序语言进行开发。随着系统复杂性不断增加,对系统的需求分析,模型设计,早期的错误检测,开发周期,可维护性等方面提出了新的要求。因此推动了先进的软件工程方法向嵌入式开发领域的转移。

  1.2组件技术

  组件技术就是一种软件工程中的先进技术。组件可以认为是能够用于构建大型系统的自包含的部件或子系统。在软件工程中,一个组件与一个微型应用程序类似,即都是已经编译链接好,并可以使用的二进制代码,应用程序由多个这样的组件打包而得到。在需要对应用程序进行修改或改进时,只需要将构成此应用程序组件中的某个用新版本替换掉即可。这样,使用组件技术的系统就具有很好的灵活性和可移植性。另外强大的组件库能够为开发人员提供功能丰富的组件支持,从而大大缩短软件的开发周期。使用组件的种种优点直接来源于可以将它们动态地插入或卸出的应用。为了实现这种功能,所有的组件必须满足两个条件:一是组件必须动态链接;二是它们必须隐藏其内部实现细节。另外,利用组件还能帮助开发人员根据所使用的组件功能预测和验证系统的功能特性。正是由于组件具有诸多优点,基于组件的开发技术才引起了软件工程领域的广泛应用,并且逐渐将它引入迅猛发展的嵌入式软件开发领域中。

  2嵌入式系统组件的设计原则

  2.1接口设计原则

  适用于嵌入式系统中的组件遵从大部分的通用组件设计原则,特别是组件的接口和实现相分离的封装特性。组件的接口是组件功能的体现,系统中的其他部分或者组件正是通过接口使用组件提供的功能。但是对于嵌入式系统而言,有一些额外的系统特性或约束和系统功能是同样重要的(如实时性),那么接口仅包含组件本身的功能特性就不完备,它还必须包含额外的系统特性,即加入约束条件。这样在系统设计阶段,利用组件进行设计不但能够验证功能需求,而且还能预测和分析系统特性需求。

  2.2组件绑定与发布原则

  在通用组件的设计中,接口是以支持运行期绑定的多态对象接口方式实现的。组件完全以动态形式绑定,独立于接口的定义。这样为组件复用、系统升级提供了强大的灵活性。但是,这种灵活性在嵌入式系统中会带来性能的下降和风险的上升,影响系统的实时性和稳定性。因为所有组件都在运行期绑定,这样必然会增加冗余代码,并且让系统行为变得难以预测。因此,通用组件的动态特性在嵌入式系统中特别是小型系统中是不可行的。由于实时性和硬件资源限制,在嵌入式系统中,组件链接和组合最好在系统设计期静态而不是运行期动态地进行。进行组件的静态绑定,可以通过系统建模工具对一个基于组件的系统设计产生一个总体视图,这样能够对系统性能有更好的预测和优化。所以组件的形式不应该再使用通用组件中的二进制可执行文件形式发布,而应该采用高级语言或更为抽象的建模语言(如UML)定义组件的形式,这样可以让组件在编译期或者在设计的早期就可以绑定链接,而不是像通用组件那样的迟绑定(Late Binding)。

  2.3  大型嵌入式系统中的组件原则

  随着嵌入式技术的不断发展,许多功能复杂的大型嵌入式系统也随之出现。对于这些系统硬件资源和实时性已经不是首要的考虑因素,如何有效控制系统复杂性和降低高昂的开发成本已成为最主要的问题。所以对于这样的大型嵌入式系统,通用组件几乎可以毫无障碍地在系统中发挥作用,极大地简化了开发难度,减少了开发工作量和开发周期。如微软的嵌入式系统Windows CE就是这项技术的成功应用,系统功能和应用功能完全以组件方式列出,开发人员只需要简单地添加和删除就能将一项复杂功能加入或移除系统镜像,并且支持功能强大的COM组件库,为应用程序的开发提供了非常便利的工具。当然,那些要求强实时的大型嵌入式系统也不应该使用通用组件技术,应该根据具体的系统特性使用精简版本来进行系统开发。

  3面向嵌入式组件的系统开发过程

  由以上分析可以看出,由于嵌入式系统的功能和性能要求,以及硬件资源限制和复杂性控制需求,适用于嵌入式软件系统的组件体现了接口定义约束、静态绑定和抽象语言的发布形式等特性。那么正是由于这些特性的存在,适用于通用组件的软件开发方法就不能直接应用于嵌入式软件开发过程,而需要一种适合于嵌入式组件特性的系统开发方法。下面介绍面向嵌入式组件的开发过程,它能够有效地利用和体现嵌入式组件的特性。

  整个开发过程如图1所示。根据组成与分解、抽象与具体的两个基本开发思想建立了一个二维坐标系,横坐标为抽象与具体;纵坐标为分解与组合。两个坐标轴将整个开发空间分成了4部分,即建模过程的4个基本步骤:分解、实体化、组合、确认。

  分解  整个开发过程从图1的左上角开始。黑色方框代表了最初的待实现系统,即开发人员经过需求分析所建立的系统模型。通过系统功能域的划分,将系统进行分解,在每一个功能域都包含了与该功能相关的所有逻辑组件。每一个逻辑组件再作为一个子系统递归地进行分解,直到组件达到了可重用组件的粒度。分解过程只是从抽象和逻辑角度决定组件的功能形式。

  实体化  将具有最小粒度的不能再分解的逻辑组件进行实体化。由于这些逻辑组件已经具有了明确的功能或者直接就是已有的组件,所以可以很容易地将这些逻辑组件转化为实际组件,如图1中右下角的黑粗线方框所示。

  组合  将重用的或者是将实现的实际组件,根据抽象模型,通过组件接口组合起来,该过程完全是分解的逆过程。如图2所示。

  验证  对实体化以后再构建起来的系统与最初的待实现系统进行对比,利用组件的功能和约束特性预测整个系统的功能和性能,从而验证系统设计的正确性。

  面向嵌入式组件开发的整个过程体现为一个树形结构,相当于一棵组件树。树的每一片叶子都代表一个组件,而每一个组件都可以视为一棵子树,递归地利用该开发过程。整个过程总是不断利用已有组件或者明确可实现的小粒度组件的组合对设计进行验证,由于组件接口和实现已经静态绑定,每一个组件在运行时的功能在设计期就能完全确定,这样能帮助开发人员在最早的时间内发现设计上的缺陷,及时对设汁进行修改。

  4  结  语

  如今,嵌入式系统已经被广泛地应用于生活的方方面面。CBD技术无疑会对嵌入式领域的发展起到重要的作用。这里通过深入分析通用组件的设计原则和嵌入式系统的特性要求,提出了适合于嵌入式系统的组件设计原则和开发方法,使组件技术的优点在嵌入式系统中得到了很好的体现,为CBD技术向嵌入式领域的转移提供了一种有效的途径。

  当然,要使CBD技术得以在嵌入式系统中充分的利用,还有一些问题有待推进和解决。例如,目前还缺乏广泛使用的适合于嵌入式系统的组件技术标准,大多数的组件技术还不能够支持对嵌入式系统性能特性(如实时性)的定义和分析,并且应用于具有特定系统性能要求的嵌入式系统的组件组合方法和系统设计时的功能预测和验证手段都还有待于发展。此外,帮助嵌入式开发人员进行组件和系统建模、分析和验证的辅助工具还需要进一步的开发和引入。

关键字:嵌入式系统  组件  CBD  软件开发 引用地址:嵌入式系统设计中组件技术的研究及应用

上一篇:Silicon Labs:看好人机界面,推出完整方案
下一篇:MIPS科技推出用于Android移植套件的Arriba

推荐阅读最新更新时间:2024-05-02 20:55

对话微软MVP:走进嵌入式软件开发
随着无线应用的普及和硬件的发展,嵌入式设备的应用开发前景看好;媒体采访了嵌入式技术专家马宁老师,让他引领我们走进嵌入式软件开发。 每年的TechED不但能带给我们众多精品技术课程和与专家、MVP面对面交流的机会,同时还向我们展示未来一年的行业热点和技术发展方向。今年的TechED 2009带给我们怎样的技术指引? 嵌入式开发前景看好 除了Windows 7,TechED 2009最大的亮点莫过于两套嵌入式操作系统的发布 Windows Embedded CE 6.0 R3和Windows Embedded Standard 2011。 从微软今年重磅推出两款嵌入式操作系统,似乎可以看出嵌入式在未来的前景。 首先,3G、Wi
[嵌入式]
嵌入式系统中短消息实时处理的实现
摘 要:提出一种在嵌入式系统中实现短消息实时处理的方法,用ATmegal28单片机控制GSM模块,通过设置发送端和接收端的参数配置,使短消息不经过SIM卡而直接发送至单片机。短消息格式为PDU方式,增加了通用性。利用ATmegal28快速处理能力,结合状态机的程序设计方法,在接收程序中解析出必要的信息,从而实现短消息的快速处理。 关键词:ATmegal28 短消息 实时处理 引 言 GSM数字蜂窝移动通信技术已得到成熟而广泛的应用,目前已建成的覆盖全国的GSM数字蜂窝移动通信网,是我国公众移动通信网的重要方式。它能提供话音、短消息、数据等多种业务。短消息服务是GSM网络的一项重要业务,在远距离监控、数据采集、GPS定位、无线报
[网络通信]
基于DSP嵌入式系统的数字电视信号传输采集系统
  本系统实现了在以TI公司的TMS320DM643为核心的嵌入式系统中,对数字电视传输流(TS)信号进行采集并在以太网中传输。利用本系统可轻松地实现在局域网中对数字电视传输流信号的传输、调度。数字电视传输流信号源是针对欧洲数字有线广播系统标准(DVB-C)的数字有线电视信号。网络接入硬件在以TMS320DM643为核心的嵌入式系统中实现,网络接入软件采用了TI公司针对C6000系列DSP推出的TCP/IP NDK(Network Developer’s Kit)网络开发包来实现。    系统电路设计   电路主要由5部分组成。数字电视传输流网络采集系统框图如图1所示。 图1 数字电视传输流网络采集系统框图   其主要
[嵌入式]
马忠梅:嵌入式系统教学探索
北京理工大学计算机学院马忠梅老师的发言为《嵌入式系统教学探索》,给大家讲述了过去10年间她在嵌入式系统教学上的实践,回归微控制器是她反思后的选择。 《嵌入式系统教学探索》 马忠梅 北京理工大学计算机学院 相关PPT下载请点击: http://www.esbf.org.cn/img/0912mzm.pdf 以下是演讲文字实录:   大家好,我昨天才知道这个消息,本来我不打算出面发言,PPT也是昨天赶出来的。   这个内容,我在去年的11月单片机嵌入式系统杂志发过一篇文章,单片机教学模式的探索,还有我今年出的一本书,(关于ARM的Cotex的微控制器教程),年初能出。所以前沿的内容就是这些,
[嵌入式]
马忠梅:<font color='red'>嵌入式系统</font>教学探索
基于嵌入式系统的手机编程开发平台
引 言 随着移动通信技术的飞速发展,手机已经从单一的电话通信设备转变为信息网络终端,因此,近年来手机编程已经成为一项重要的技术。手机是一个高新技术的集合体,包含了移动终端、嵌入式系统、数字信号处理以及通信协议设置等多项技术。手机编程开发平台是集合了通信技术、嵌入式技术、电子技术、软件工程、操作系统等理论的软硬件的教学与研究开发平台。在这个开发平台上开发相应的程序,可以掌握嵌入式系统设计的流程与方法;可以根据使用者的需求,设计并实现手机的基本功能和扩展功能。 1 手机编程开发平台总体结构 作为专业技术课程,手机编程技术的教学内容包括系统设置、操作系统使用以及应用软件开发,因此,手机编程平台必须支持各项教学内容。另外,作为教学仪
[单片机]
深度解读S3C2410A的嵌入式系统的U-Boot移植
0 引 言 ARM嵌入式处理器已被广泛应用于消费电子产品、无线通信、网络通信和工业控制等领域。其中,ARM9的芯片更是以其低价格、低功耗、高性能在手持设备中占据着重要市场。在嵌入式操作系统中,Linux,Vxworks,WinCE三足鼎立,其中Linux由于其开源性、稳定性、安全性、可裁减性更是一支独放。在嵌入式系统中,如何实现在ARM9平台下Linux操作系统的引导工作是嵌入式技术开发的重要环节。 1 嵌入式系统的软件组成 1.1 系统的软件组成 嵌入式的软件系统主要由Bootloader、操作系统、文件系统、应用程序等组成。其中,Bootloader是介于硬件和操作系统之间的一层,其作用就好像PC机中的BIOS。系统加电运
[单片机]
深度解读S3C2410A的<font color='red'>嵌入式系统</font>的U-Boot移植
组件电流增加对逆变器成本的影响几何
7月份天合发布600W+的组件,正面短路电流为18.42A,开路电压41.7V。计算得出,1500V系统,每串最多可以有33块组件,单串功率提升约41%。由此带来的好处是:减少15%支架用量、16%支架基础用量、31%汇流箱数量,同时减少8%线缆用量、7%施工成本,从而降低BOS成本约8分/W。 组件短路电流为18.42A,逆变器的组串电流至少要做到20A,目前市场上还没有匹配的组串式逆变器,如果要做,功率器件有现成的,只是改变组串电流,对逆变器来说难度不算大,只是小范围内变动,大约需要半年时间,到明年2月份,这时候600W的组件刚好量产,完美切换。 那么,组串电流为20A的逆变器,相比12.5A的逆变器,成本会怎么样,我们先来
[新能源]
手机自动售货机的嵌入式系统设计
引 言   移动增值业务产品的核心特点是移动性、即时性和个人性。移动增值服务是在通信技术、计算机技术和互联网技术不断发展融合的基础上,在人们以信息为基础的各种应用需求快速增长的激励下,在社会信息化水平日益提高的前提下,迅速发展的一种全新的服务方式。由于移动通信自身所具有的可移动性、无时空限制性、专属性、安全性和时尚性的特点,加上基于这些特点之上的短信息、游戏、支付、定位、办公等丰富多彩的应用服务,使得我国的移动增值业务在短短数年里从无到有,迅速发展为欣欣向荣的产业。本系统采用的是以ATmegal28单片机为核心的自动售货机,通过BENQ的13SM/GPRS M22模块与服务器通信来实现以手机支付形式的移动增值服务系统。在实际设计
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved