当前位置:首页 > 心得体会 > 【谁在奏响嵌入式开发狂想曲?】 嵌入式开发
 

【谁在奏响嵌入式开发狂想曲?】 嵌入式开发

发布时间:2019-03-19 04:38:43 影响了:

  11月,嫦娥一号发射成功,全国欢腾。作为探月工程迈出的一大步,嫦娥一号标志着我国航天事业取得了重大进展。   或许,大多数普通老百姓看来,嫦娥一号充满了神秘色彩,她背后数不胜数的高科技不被所知,也是难以想象的。事实却不尽如此,那些高科技中也有我们熟悉的,比如嵌入式。
  从理论上讲,航天飞行器里面的嵌入式软件和手机、PDA、汽车电子、家用电器、医疗器械中的嵌入式软件具有几乎同样的原理,只是复杂程度不同而已。
  现实生活中,无论是复杂的设备还是简单的设备,都有嵌入式软件的身影。这主要源于人们对电子设备的智能化要求越来越高,希望身边手头任何一个电子设备都能按照自己的指示行动、运行,就像电脑那样。
  据赛迪顾问统计,2006年中国嵌入式软件市场规模达到1461.6亿元,2006~2010年复合增长率将达27.6%。这意味着,嵌入式软件迎来了前所未有的发展机遇。
  电子设备智能化需求的增多,也为嵌入式软件开发带来了新的挑战。嵌入式软件开发将被期望速度更快、效率更高、质量更好。面临这一挑战,Telelogic中国区总监任群力表示,基于UML的可视化建模能够提高嵌入式软件的开发效率,推动开发人员共同演奏高效、高质的狂想曲。
  
  独特的嵌入式软件
  
  嵌入式软件是相对于计算机软件而言的,所以,嵌入式软件具有与计算机软件不同的特点(见图1)。比如它执行的是一种“反应式”行为,反应基于事件驱动,而且与事件本身具有异步性。正因为如此,时间对于嵌入式软件特别重要,它具有苛刻的实时要求,比如医院里用的心脏起搏器,有需要的时候是刻不容缓;如果面对的是多任务环境,常常需要并行作业,而这又不可避免造成不同任务对资源的竞争,比如争夺信道的带宽。还有,嵌入式软件不能脱离硬件设备而存在,因此还存在与硬件的接口问题,而电子设备的多样性,导致嵌入式软件需要为适应不同设备硬件而不断重新设计接口。
  
  
  图1嵌入式等实时系统的特点
  
  这些有别于计算机软件的特点要求嵌入式软件开发不仅要提高效率,还应该具有可视化的能力,而且最好在设计开发时就能进行测试,而不是在实体的硬件设备中进行测试,从而降低成本。
  有什么好办法可以做到这一点呢?UML(统一建模语言)和MDD(模型驱动开发)结合而成的可视化建模是现在和未来高效嵌入式软件开发的可行之道。
  
  嵌入式开发的现在与未来
  
  当前,嵌入式软件开发已经告别了过去完全的“手工”编写代码时代,但并没有实现全部的自动化,还存在许多问题。
  与过去相比,现在嵌入式软件开发已经可以重用完善的基础架构组件,比如网络组件、驱动/BSP以及操作系统,但是在应用层,组件的重用性还比较小,组件记录不标准,以至于相关性和接口以及组件的行为不详细;此外,应用层的编写代码工作仍然采用“手工”来完成,除代码之外的文档比较少,甚至没有;在架构建模上,也没有规范的语言或流程,没有跟踪需求工件的规范语言或流程;设计层开发尚未实现自动化:无法从图形化的工件生成代码,代码和设计层的模型无法集成。诸如此类的问题有待解决。
  如今,将UML语言和MDD思想结合起来可以消除上述问题带来的困扰。MDD是一种在开发软件过程中使用模型的方法,允许将系统的功能/行为与实施细节相分离。由于在开发过程的不同阶段,可以用模型进行一步步地传递,这就使得开发与平台无关,因此成为嵌入式开发通常采用的方法。嵌入式市场预测公司的调查结果显示,大于50万行代码的系统用MDD的方法来开发所产生的效益最好(见图2)。
  
  
  图2 Embedded Market Forecasters 公司的调查结果
  
  而利用UML既有助于创建平台无关的模型,也特别有助于嵌入式设计。UML有许多丰富的可视化表现手段,比如用例图、交互图(黑盒)、类图、状态图、活动图、组件图、部署图、状态图、活动图等(见图3)。开发人员能够以图形化的方式来制定序列、线程、IPC以及堆栈,使系统具有可透视性,把编程人员解放出来,让昔日只知道“做什么”的蓝领都变成系统分析师,不仅知道“做什么”,而且还知道“为什么要这么做”以及“这么做的错误在哪里”任何开发人员都用可视化的模型来工作的,这样就能够及时发现问题和错误而加以修改。
  
  
  图3 可视化建模图例
  
  基于UML语言和MDD思想的可视化建模可帮助用户以图形的方式指定系统设计和系统架构、模拟并自动验证正处于构建之中的系统,从而赋予开发人员前所未有的工作效率。这样,工程师和开发人员便能最终创建出正确、清晰且完全满足原始需求的质量体系规范。可视化建模的前景已经被发掘。在 Gartner Symposium/ITxpo 2004会议上,比尔・盖茨称可视化建模是未来软件工程发展的基础。在问及微软在未来10年将有哪些创新时,盖茨说:“最显著的创新将是可视化建模工具,该工具将会使软件代码减少到原来的‘五分之一’。”
  除提高效率外,也要确保嵌入式软件开发的质量,集成需求管理和创建可跟踪性就成为必要。
  利用UML可以以直观可见的方式捕获需求,比如使用需求和用例图来定义需求,通过标记和限制条件来完善定义和说明,使用序列图、活动图和状态图来描述需求,包含域特定建模使用的图形和图标。同时也要分析需求的覆盖情况以及变更的影响。
  其次是跟踪整个生命周期,首先创建跟踪链接(从模型到需求),并自动生成跟踪文档,同时需要注意的是设计、代码和文档应该始终保持同步,在代码层和设计层可以自由操作,而更改一个视图,将自动更改其他视图,这对开发实时、嵌入式软件很关键。
  最后,如果有可测试性设计(DFT)的话,将能够在流程早期减少缺陷,始终确保设计满足需求,带来的成本效益就非常可观。
  任群力介绍,Telelogic公司的Rhapsody解决方案就是这样一款嵌入了SysML/UML 2.0模型驱动开发 (MDD)环境的方案。快速开发、可测试性、实现降低成本的目标以及创建优质产品交付方案是Rhapsody建模工具的设计宗旨。Rhapsody通过将图形化统一建模语言(UML)及系统建模语言 (SysML)与先进的系统设计和分析能力相结合,创建了一种完整的模型驱动开发环境,可覆盖从需求捕获到分析、设计、执行和测试的整个开发流程,从而实现了上述各项设计初衷。正如它的名字Rhapsody(狂想曲)所表现的激情那样,该自动化工具可以极其简单的方式降低复杂性、提高生产效率,并使处于同步协作中的系统工程师与软件工程师在设计环节便能更快速地交付出更优质的系统及软件产品。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3