您的位置 首页 知识

改进型UML在嵌入式体系中的使用

在后PC时代,越来越多的领域需要嵌入式系统的支持,传统嵌入式系统的开发手段已不能满足日益增长的复杂性和质量要求;而UML技术在软件领域所取得的巨大成就为嵌入式系统开发带来了希望。因此,如何把基于软件领

在后PC年代,越来越多的范畴需求嵌入式体系的支撑,传统嵌入式体系的开发手法已不能满意日益增长的杂乱性和质量要求;而UML技能在软件范畴所获得的巨大成就为嵌入式体系开发带来了期望。因此,怎么把依据软件范畴的UML作为通用和完善的办法引进到嵌入式体系范畴,将成为一个迫切需求考虑和处理的问题。

跟着计算机技能、网络技能和通讯技能的迅速开展,当时的信息社会已从最初传统的个人计算机年代进入了后PC年代;然后PC年代的首要特征便是以嵌入式体系的广泛运用与开展为标志的。

关于嵌入式体系的界说尽管有许多种,不过国内遍及认可的界说是[1]: 以运用为中心,以计算机技能为根底,软硬件可裁剪,合适运用体系对功用、可靠性、本钱、体积和功耗要求的专用计算机体系。

嵌入式体系首要是运用微型的芯片及其固化的软件,嵌入在其他体系中,以抵达对其他体系进行智能化或信息化实时操控等意图。

当时,嵌入式体系已在工业操控、航空航天、国防以及信息家电等范畴得到广泛的运用,并发挥了重要效果,而且越来越多的范畴都迫切需求嵌入式体系的支撑。但是,由于嵌入式体系的硬件、软件、运用环境的千差万别,因此当时有限的嵌入式技能人员的时刻和精力首要花在了解不同的硬件、软件及其代码的开发上。这样不光形成嵌入式体系开发的功率和质量得不到确保,而且也严峻捆绑了嵌入式技能人员进行更高层次的研讨与开发。这些都成为日益杂乱的嵌入式体系迅速开展的瓶颈。

1 UML引进到嵌入式体系中的可行性

20世纪六七十年代,软件产业遇到了危机。其原因便是软件越来越庞大和杂乱,而软件的质量和生产率却越来越低。由此促进了软件工程的诞生,使得软件开发的规范化和功率都得到了很大进步。在20世纪90年代,跟着面向目标技能的开展,软件工程向自动化、智能化方向开展,其杰出的标志便是UML规范的呈现与开展。随后,许多软硬件厂商相继开宣布了许多依据UML规范的CASE东西。从此开发软件能够凭借UML的CASE东西来完结从软件的剖析、规划、完结到测验的一系列软件工程进程,大大进步了软件开发的复用性和功率,降低了软件开发进程中的返工率。

UML杰出的特色便是以面向目标的观点来剖析和规划所开发的体系,它把体系的每个功用都作为一个模块(以“类”来表明)。在UML中,运用用例视图、逻辑视图、组件视图、并发视图和打开视图来分别对软件完结需求剖析、规划、完结、集成和测验等进程;而且每个视图都包含一系列的图来详细完结,上面的5类视图包含了用例图、类图、目标图、状况图、序列图、协作图、活动图、组件图和打开图。其间,用例图、类图、目标图、组件图和打开图归于静态图,是从静态方面临体系进行剖析和建模的;而状况图、序列图、协作图和活动图则是从动态方面临体系进行剖析,模仿体系动态交互状况的。

2001年,UML2.0的发布标志着UML技能进一步老练,也得到了越来越多的硬件和软件厂商的支撑,这也使得UML的开展前景愈加宽广。面临依据软件工程的UML在软件范畴所获得的巨大成就,是否能够把UML引进到嵌入式体系开发中来,用来改动当时嵌入式体系开发功率低下的局势呢?经过研讨剖析发现,UML运用到嵌入式体系首要存在以下几个方面困难:

① 嵌入式体系包含硬件和软件两部分,不同厂商的硬件千差万别,在某个嵌入式芯片中能正确运转的软件在别的一个嵌入式硬件渠道上就不一定能正常运转。

② 嵌入式体系软件渠道也千差万别,各自对开发的要求差异较大。

③ 大部分嵌入式体系对实时性要求严厉。

④ 嵌入式渠道的软件一般不是选用面向目标言语开发的,首要选用C言语乃至是汇编言语编写。

一切以上这些特色,导致在实践的嵌入式体系中UML模型很难被构建。即便构建出模型,其正确性、实时功用也很难得到验证和确保。

尽管如此,各国的研讨者和开发商为把UML引进到嵌入式体系中都做出了不懈的尽力,并获得了一些效果,首要包含:

① 为了使所树立模型的正确功用够得到验证,有人提出选用形式化的办法。例如William和H. C. Cheng运用VHDL作为模型的形式化描绘言语,经过剖析UML模型中的类图和状况图得到嵌入式体系的VHDL描绘,确认体系的结构和行为,并进行模型验证[2]。还有学者运用有限状况自动机与UML相结合来完结体系的剖析、规划和验证[3]。

② 关于实时性要求,供给的处理办法首要包含: 运用规范的UML及其构造型概念规划实时体系[4],以及扩大UML或改造UML以使其满意实时体系的要求[5]。

③ 关于言语的问题,首要有以下两种处理办法: 一种是运用面向目标的C++言语开发,如SystemC[6];另一种是运用能够与C言语结合的UML开发环境,如美国ILogix公司推出的Rhapsody。

由以上3种处理计划可知,UML运用在嵌入式体系所发生的可验证性、实时性以及言语的问题,都是能够处理的,因此有或许广泛运用UML来剖析、规划与辅导嵌入式体系开发,以处理嵌入式体系开发功率低下的问题。

2 一种改善的通用嵌入式体系UML计划

由于现在对UML运用在嵌入式体系中的研讨往往都是侧重于处理嵌入式体系的某一方面,因此不具有通用性,很难成为嵌入式体系建模的规范。为了处理UML在嵌入式体系中的建模问题,本文提出了一种通用的UML嵌入式体系规划处理计划。

为了给嵌入式体系建模有必要考虑以下方面:

◆ 时刻。在序列图中描绘时刻及其束缚信息。

◆ 并发性。用活动类来描绘并发。活动类的特点(如优先级)能够界说成类的标签值,可经过组件版类﹤﹤Process﹥﹥和﹤﹤Thread﹥﹥将它们映射到完结环境中。

◆ 异步通讯。UML支撑线程间发送异步音讯。

◆ 同步通讯。界说信号量、监视器或要害区的类/版类来描绘同步。

由此,能够得出嵌入式体系建模的一般进程如下:

① 首要确认体系需求。在此阶段既不考虑哪部分是软件,也不考虑哪部分是硬件,只依据调研和与用户的沟通得出体系应具有的功用,并经过人物与用例的联系表现出来,然后得出用例图和体系终究需求。

② 进入体系规划阶段,也便是依据用例图得出的需求来规划类图。这个阶段需求确认哪些功用由硬件完结,哪些功用由软件完结。软件类图的规划与纯软件建模办法根本相同,在此不再赘述。对硬件的处理一般由硬件包装类来完结,硬件包装类供给拜访硬件的接口。这些硬件包装类处理到设备的通讯和设备发生的中止,经过这样的硬件类能够躲藏初级协议的细节,而且很便利、快速地将初级中止转化为体系中其余部分的高档事情。包装类是归于活动的仍是静态的类,首要取决于硬件的特点。

③ 假如类图中所描绘的软件类或硬件类比较杂乱,难以描绘清楚,那么能够选用目标图来细化,使之愈加详细和清晰。

④ 关于实时性要求,需求在序列图中进行界说和描绘;假如想知道不同目标之间的链接,以及链接目标间怎么发送音讯,能够树立协作图;经过树立状况图,能够了解到某个目标所能抵达的一切状况,以及目标收到的事情对该目标状况的影响等。

⑤ 最终,运用组件图和打开图来完结体系的集成与验证。

以上进程能够在Rhapsody软件环境下完结,由于该软件能够发生嵌入式体系常用的C言语,更挨近一般的嵌入式开发环境。

3 实例剖析与评论

这儿以一个报警体系为例,阐明怎么运用UML来规划嵌入式体系。一个报警体系一般由传感器(包含声响传感器、图画传感器和热传感器),报警器(包含声响报警器、电话报警器和光报警器),键盘,LCD显现器,体系处理器,以及用于存储体系装备信息和日志信息的存储器等部件组成。

当传感器接纳到某个信号,经过模/数转化把信息送到体系处理器中后,体系处理器依据设定的装备信息条件,判别是否需求报警。若需求,则会向报警器宣布报警指令。键盘和LCD显现器用于人机对话,能够依据实践需求设定报警条件和办法。

该体系的序列图如图1所示。从图1中能够看出,该体系要求从传感器回来信息到宣布报警的时刻距离小于3 s。这便是序列图中对嵌入式实时体系时刻要求的一个比如。

图1 报警体系序列图

在类图中,把体系处理器规划成活动类,负责处理经过带有LCD 显现的操控面板与用户的交互。经过操控面板,能够装备、激活和关闭体系。一切的装备改变均保存在体系装备信息类中。体系处理器接纳传感器的信息,并把它与体系装备信息比较,然后决议是否报警。 为了查询和了解报警体系前史信息,体系处理器将一切事情保存在日志中。体系处理器、传感器和报警器的类图的简略联系如图2所示。

图2 报警器体系组成的类图

结语

为嵌入式体系引进一个通用、完善的UML技能,必将对当时高速开展的嵌入式体系的研讨与开发发生活跃的影响。而本文所提出的思维和办法,关于脱节UML技能在嵌入式范畴的窘境起到了有利的探究和主张效果。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/325319.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部