EDN China > 其它文章 > 可编程器件 > 正文
?

(多图) 模型行为:创建嵌入式软件的捷径

Warren Webb?? EDN技术编辑?? 2007年04月20日 ?? 收藏0

  当嵌入系统设计团队竞相向市场推出新产品时,设计者正在评估基于模型的开发工具,通常采用 UML(统一建模语言),来处理日益增加的软件复杂性。
  要 点
  嵌入系统设计者正转向基于模型的开发方式,以缩短软件开发周期,并简化功能修改或硬件升级。
  尽管统一建模语言很复杂,但它为开发团队提供了一种开放的标准,用于嵌入系统架构的建模。
  建模软件有内置的错误检查、自动化文档生成以及逆向工程,可以消除很多常见的软件错误。
  系统模型与仿真器可以让设计者在交付原型硬件以前测试系统的性能,并准备好最终的目标代码。


  过去,嵌入系统的处理资源和内存资源都有限,以尽量降低成本,而消费者则期望包含更多功能和辅助特性,如高速通信与交互式多媒体。随着这些嵌入项目软件部分越来越复杂,以及开发周期的缩短,设计者正在考虑采用图形化设计工具以及自动代码生成器,扩充自己有限的一批熟练程序员。利用对精确定义系统的先期投资,设计工具可以实现某些或整个软件开发工作的自动化。在很多情况下,这些工具可将嵌入式软件开发任务从逐行编程的工作转化为一个全自动的过程,它可以从系统的一个抽象模型直接生成运行的源码。

图1Telelogic最新推出的Rhapsody7.0版可直接从一个标准的UML模型中生成C、C++ 或 Java 代码


  尽管

用一台台式计算机代替一部分嵌入式软件开发人员的想法很有吸引力,但要详细地规定用于自动代码生成器的系统却不是件简单的任务。当前的开发工具都需要相当长的学习周期,可能还需要完全改变编程的观点,然后设计者才能着手准备自动代码生成所需要的数据。另外,现在的软件人员还需要改变习惯,克服偏见,接受一种不同的嵌入开发技术。对于自动代码生成,设计者有很多强烈的观点。一些开发人员根据早先的产品经验,认为代码生成器需要大量的开销,生成的代码效率不高。但现代工具供应商称他们的代码生成器可提供无错的代码,能够精确地匹配规范要求,并且比手写代码更紧凑。

  自动代码生成是基于模型设计的一个组成部分或子集,设计者用一种正规的图形化表述来定义系统,而不是传统的手写规范。模型必须明确地定义系统的预期功能与行为。一般来说,大多数系统建模程序都可以让用户从库中选择预构的块,将它们连接起来形成一个图形化模型,从而完成一个系统表述。而要成为一个熟练的系统建模人员需要专心和经过培训周期,学习一种新的编程语言。

  原型前的代码

  系统建模的主要好处之一是能够在设计交付制作硬件以前,仿真嵌入系统的运行情况。仿真器可以用于测试和优化性能,验证系统是否满足要求。PC 上的仿真并不只是复制一个实时系统规定的性能,还能测试很多功能,如用户界面。大多数建模系统亦有内置的错误检查功能,可以自动检查不一致和不明确之处,以便在开发周期的早期消除潜在的错误。将图形化建模与仿真器和代码发生器相结合,就可以在原型硬件做好以前提供可运行的系统软件。这种方案在对第一款硬件原型的查错与调试时特别有效,因为它可以查到所有功能路径(参考文献 1)。

  有些建模系统还提供逆向工程方法,当你修改库中的目标码时,就可以自动实现模型的同步与更新。这个功能连接了设计与编码工作,保证模型总能反映最新的产品状态。逆向工程还意味着可以用任何嵌入式源码直接创建一个模型,但成功与否要依赖于开发人员创建代码的方式。多数建模程序都允许用户以图形和文本格式提取所有系统数据,创建出标准或定制化的系统文档。与逆向工程类似,文档自动化可以确保纸面资料追踪硬件的变化。

  UML(统一建模语言)是开发人员准备自动代码生成模型时最常用的标准之一。业界在1997年首先采用了UML,它是对开发人员在上世纪90年代初提出50多种建模方案的统一。OMG(对象管理小组)负责维护UML,从它的网站可以免费下载最新版的规范和教材。UML是一个非专利的图形化技术,用于面向目标软件的分析与设计。与任何其它面向目标的方法一样,UML也基于类 (class) 和目标 (object)。一个类是一组有相同数据和行为的目标。类属性定义了包封的数据,而类服务则描述对属性起作用的函数。最新 UML 规范定义了 13 个图类型,用于从行为、交互和结构等角度描述软件系统。

  IBM 提供了第一种也是最常用的商务 UML 建模工具:Rational Rose。IBM 有专门针对标准商务开发和实时嵌入软件系统的版本。例如,Rational Rose Technical Developer 是一个 UML 模型编译器,它能生成针对 Unix、Linux、微软 Windows 和 RTOS 目标的完整 C、C++ 和 Java 代码。除了运行时模型执行、虚拟模型调试以及基于模型的测试以外,软件包还包括一个移植向导,可以为几乎任何 8位以上目标平台提供支持。软件亦提供正向和逆向工程支持,用于大多数常见的 Java 结构。Rational Rose 会在后台自动更新配置管理,以支持远程团队开发。IBM的 Rational Rose Technical Developer 软件加上 12 个月支持的起价为 5995 美元。
?


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

模型? 嵌入式? 软件?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈