基于UML的嵌入式软件开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于U M L 的嵌入式软件开发
枣庄学院计算机科学系 贾丽娜
[摘 要]嵌入式技术的广泛应用,使嵌入式系统核心技术得到很大发展,嵌入式软件开发环境的发展,使一直“深埋”于系统的嵌入式应用软件变得开放而易于开发。
U M L 是一种面向对象的建模语言而不是一种方法,它独立于任何一种开发过程,但支持过程开发。
U M L 开发者提出的开发过程采用用例驱动,是以体系的开发为中心的迭代、递增的过程,是开发嵌入式软件的理想过程。
[关键词]嵌入式系统 迭代增量式软件开发 U M L
1、什么是嵌入式系统
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗要求的专用计算机系统。
嵌入式软件开发环境始终是研究的热点之一。
在航天航空、网络、智能电器、仪器仪表、工业自动控制、军事等领域得到广泛应用。
嵌入式系统设计模式主要有:基于A SIC 的嵌入式微处理器、D SP 系统、So C 系统、基于现场可编程逻辑器件FP GA 设计及SoP C 系统设计。
随着嵌入式应用的不断的增长,嵌入式系统的需求的复杂性、不确定性也在不断地提高,系统规模逐步地扩大,产品的研发周期又在不停的缩短,这给嵌入式应用软件的开发带来了新的挑战,传统的设计方法已经不能满足设计要求,为
解决设计的困难,将软件工程的理论应用到嵌入式系统设计领域成为发展方向,特别是面向对象的迭代增量式软件设计方法和基于模型的仿真技术在嵌入式系统设计中的应用已成为近年来的研究重点。
2、迭代增量嵌入式软件开发方法传统的嵌入式软件开发环境的最大特点是以源程序的开发和测试为核心的。
嵌入式软件的开发过程和一般软件的开发一样,必须经过软件开发的分析、设计、编码、测试四个阶段。
分析过程定义了软件要解决的问题的空间,设计过程定义了问题的解决办法,编码是对设计的具体实现,测试过程可以验证系统是否满足需求、实
现是否满足设计。
下图是传统嵌入式软件开发的一般的过程。
图中上面部分就是软件的分析和设计过程,下面部分是软件的实现和测试过程。
可以看出,在设计与实现之间存在着一堵
墙,它反应了软件开发过程中的需求分析、设计与具体的实现之间的脱节。
这是由嵌入式产品的开发特点所决定的。
嵌入式产品的更新很快,这就要求研发周期尽可能的短,同时在开发过程中能动态地调整需求。
所以这种静态的开发方式不能适应研发的要求。
再有,这种开发方法对需求和设计的验证是在开发过程的最后阶段进行的,这种软件完全实现后的验证往往会带来很大风险和开支,甚至由于分析或设计的错误或缺陷而影响产品的上市。
在嵌入式软件的开发过程中需要环境和工具的支持。
传统的嵌入式软件开发环境主要是为开发人员提供了基于嵌入式操作系统的高级语言编程环境以及基于源程序调试的各种界面和手段。
在软件开发过程的其它阶段也可以采用相应的CASE 工具(如需求分析工具等)以提高软件开发的效率。
在嵌入式软件开发过程中,若采用传统的顺序开发方法,往往造成在软件开发过程中的需求分析和设计与具体的实现之间的脱节。
开发初期所做的需求分析及设计,在后期的实现和测试中往往要做变动,甚至是抛弃了前期的这些工作。
而嵌入式产品的开发涉及多个环节,软件的需求很难很快的确定下来,常常是不断变化的,再加上开发的周期一般都很短,所以嵌入式软件开发都采用迭代递增的开发模式。
迭代增量式软件开发方法不是在项目结束时才一次性提交软件,而是分块逐次开发和提交。
每一次迭代都包含了软件生命周期的所有阶段:分析、设计、实现和测试。
因为迭代式软件开发方法可以尽早发现项目的风险,并在软件开发过程中对这些风险进行有效的控制,所以这种开发方法已得到肯定。
在开发初期,并不是所有的需求都确定,这时可以将那些已经确定的需求进行分析、设计、实现、测试和验证。
这部分工作结束时,又有新的需求了,可以按上面的步骤进行,经过反复迭代,
系统就逐步设计完成。
3、基于U M L 的嵌入式软件开发环境
3.1U M L 概述
在迭代式的开发过程中如果采用传统的手工编码、基于源程序的测试手段,必将影响迭代周期,基于模型的调试就十分必要。
U M L 是面向对象的标准建模语言,是面向对象技术领域中的重要成果。
U M L 的定义包括U M L 语义和U M L 表示法两个部分。
U M L 为对象的结构模型和行为模型定义了语义,结构模型强调系统中对象的结构,它包括类、接口、属性和关系,行为模型强调系统中对象的行为,它包括它们的交互作用、合作性和
状态历史。
U M L 是一种语言,不是方法,它独立于任何一种开发过程,但支持过程。
U M L 开发者提出的开发过程是用例驱动、以体系结构为中心、迭代递增的过程,这正是嵌入式实时应用软件开发的理想过程。
在应用标准建模语言U M L 时、必须有相应的环境。
U M L 的目标是以面向对象图形的方式来描述任何类型的系统,可以为任何具有静态结构和动态行为的系统进行建模。
因此,使用U M L 可以很好地完成嵌入式实时系统的建模。
3.2.基于U M L 的嵌入式软件开发环境组成
有效的嵌入式软件开发环境应该支持可视化建模、支持基于模型调试、支持迭代式开发方法。
开发环境至少应该包括可视化建模、可执行的模型、模型代码的相关性、实时框架四个部分。
3.2.1可视化建模
面向对象的分析和设计应该从建模开始,建模是面向对象分析和设计的核心,也是分析和设计过程中最基本、最关键的活动之一。
U M L 不仅适用于以面向对象技术描述的任何类型的系统,而且适用于系统开发的不同阶段。
开发环境可采用标准的U M L 为系统建模。
根据开发过程的不同阶段的具体要求,利用U M L 的不同的图来描述系统的各种静态结构模型和动态行为
模型。
3.2.2可执行的模型
基于模型的调试是迭代式开发方法的主要特点。
通过模型级调试、验证,可以尽早发现系统的的设计错误或缺陷,从而较
早地确定或降低项目的风险。
这就要求所建的模型应该是可执行的模型。
开发环境应该支持模型的运行和调试,并提供各种基
于模型的调试的手段。
(下转第538页)
其它网络资源进一步扩散。
目前许多设备是在通用CPU 上用软件实现这些功能的。
但是,通用CPU 并不具备足够的性能来处
理流经该网络节点的所有数据流,因此,可以采用硬件加速方法
来实现大部分模式匹配数据包处理。
图1方案中使用了集成中央网络杀毒(A V )设备的统一威胁管理/集成多业务路由器(U T M /I SR )来取代防火墙/V PN ,采用这种架构,仅需几分钟就能更新少量的网络A V 设备。
(U T M /ISR 是一种网络安全设备,具有以下全部或大部分功能:路由、防火墙、VP N 、入侵检测/阻止、杀毒,反垃圾邮件和内容过滤。
)
4、结束语
计算机技术的发展异常的迅猛,传统的单处理器的网络安全设备越来越不能满足现实的需要。
因此,正是时候从根本上重新思考使用硬件来支持网络安全分析,这需要借助大规模并行
计算提供必要的性能保障网络的安全性。
参考文献
[1]Y.Cho and W.M ang ione -Smith.F astre co nfigur ing deep packet filter for 1g ig abit net wo rk.In IEEE Symposium o n Field-Pr og ram mable Custom Computing M achines,(FCCM ),Napa,CA ,A pr il 2005.
[2]陈明.网络设备教程[M ].北京:清华大学出版社,2004.[3]SHA RM A R K ,赵刚(译).Cisco 网络安全宝典[M ].北京:电子工业出版社,2002.
(上接第536页)
3.2.3模型代码的相关
模型是系统整体抽象。
软件开发的最终形式必须是生成程序代码,模型毕竟是一些漂亮的蓝图,虽然它对软件的设计有很大的作用,用户的最终目的是希望得到可执行的程序。
对于嵌入式实时系统,代码与系统要求(时间约束、资源的限制等)紧密联系的,用最终形式的源程序验证系统的模型更准确。
开发环境可利用软件自动生成技术的成果:根据模型可以自动产生具有产品质量的代码。
这种代码既作为系统模型验证的代码,也是系统最后提交的代码。
产生的代码是基于某个具体平台的代码,通过编译即可运行在该平台上。
为了保证模型代码的一致性,应该支持代码到模型的逆向过程。
3.2.4实时框架
嵌入式应用中有60-90%的代码用于内务处理(如状态机的实现、任务间的通信等),这些代码在设计新的系统时一般都可以重用。
这些重用一般就是通过实时框架来实现的。
实时框架是一个垂直框架,提供了一套为嵌入式和实时应用专门选择和优化的设计模版。
嵌入式应用程序一般都运行在嵌入式操作系统的平台上。
而实时框架就是一个在操作系统之上应用程序之下的中间件,应用程序的编写或自动产生都基于有统一接口的实时框架,这样就使应用软件的开发与具体的平台无关,解决了嵌入式应用软件的移植问题。
实时框架可以针对不同的嵌入式实时操作系统有不同的实现。
它一般都是开放的,用户可根据自己的特定的应用环境进行定制。
由于源码是基于实时框架的,在编译与连接时通过选择不同平台实时框架库就可以运行到这些不同的平台上。
在软件开发的不同时期,我们可以选择不同的运行平台,例如:在硬件平台没有完成时,用户可以在宿主机的操作系统下仿真运行;也可以在嵌入式操作的开发环境所提供的虚拟环境(如T o rnado 环境下的Vv Sim)下运行,在系统集成时,就可以在目标系统上运行。
4、总结
过去嵌入式系统分析和设计方面的主要问题有:分析设计方法不统一,没有统一的标准;从分析设计到制作和编程没有一个始终一贯的工程化方法,使得产品形成的每一个过程人为因素影响十分严重;分析设计的成果不能被开发类似项目或产品时重用。
嵌入式系统制作过程产生以上问题的主要原因是没有一个对嵌入式系统需求、分析、设计、制作、测试和维护过程的结构特征和行为特征统一的工程化描述方法。
面向对象技术是建立在对真实世界抽象思维的基础上,统一建模语言U M L 为这种思维提供了可视化工具。
它将模型中的信息用标准图形元素直观地显示,使用户、开发人员、测试人员、管理人员和其他涉及项目的人员可以更好地交流。
U M L 提供了面向对象的软件开发技术,它可对任何静态结构和动态行为的系统进行建模,并适用于系统开发的不同阶段,在嵌入式系统设计中使用U M L 建模可以起到事半功倍的效果。
参考文献
[1]W ayne w o lf 著.孙玉芳译.嵌入式计算系统设计原理(中文版).北京:机械工业出版社2002.2
[2]梁合庆.近十多年来嵌入式硬件综述.2002年嵌入式系统及其应用研讨会论文集.2002,1
[3]唐英.使用U M L 分析设计嵌入式系统.计算机应用研究.2002,(5)
[4]王梅,陈希平,张传,张岩.高级嵌入式计算机系统在自动化仪器仪表中的应用.自动化博览.2001,3
[5]陈思功,秦晓,章恒羽.基于U M L 的软硬件协同设计的模型分析方法[J].软件学报,2003,14(1):103-109.
[6]李思广,林子禹,胡峰,等.基于U M L 的软件建模方法研究[J].计算机工程与应用,2003,39(6):76-78.。