新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种改进型UML在嵌入式系统中的应用

一种改进型UML在嵌入式系统中的应用

作者:时间:2010-04-16来源:网络收藏

  为了给建模必须考虑以下方面:

  ◆ 时间。在序列图中描述时间及其约束信息。

  ◆ 并发性。用活动类来描述并发。活动类的属性(如优先级)可以定义成类的标签值,可通过组件版类Process和Thread将它们映射到实现环境中。

  ◆ 异步通信。支持线程间发送异步消息。

  ◆ 同步通信。定义信号量、监视器或关键区的类版类来描述同步。

  由此,可以得出建模的一般过程如下:

  ① 首先确定需求。在此阶段既不考虑哪部分是软件,也不考虑哪部分是硬件,只根据调研和与用户的交流得出系统应具有的功能,并通过角色与用例的关系表现出来,从而得出用例图和系统最终需求。

  ② 进入系统设计阶段,也就是根据用例图得出的需求来设计类图。这个阶段需要确定哪些功能由硬件完成,哪些功能由软件完成。软件类图的设计与纯软件建模方法基 本一样,在此不再赘述。对硬件的处理一般由硬件包装类来实现,硬件包装类提供访问硬件的接口。这些硬件包装类处理到设备的通信和设备产生的中断,通过这样 的硬件类可以隐藏低级协议的细节,并且很方便、快速地将低级中断转换为系统中其余部分的高级事件。包装类是属于活动的还是静态的类,主要取决于硬件的属性。

  ③ 如果类图中所描述的软件类或硬件类比较复杂,难以描述清楚,那么可以采用对象图来细化,使之更加具体和明确。

  ④ 对于实时性要求,需要在序列图中进行定义和描述;如果想知道不同对象之间的链接,以及链接对象间如何发送消息,可以建立协作图;通过建立状态图,可以了解到某个对象所能到达的所有状态,以及对象收到的事件对该对象状态的影响等。

  ⑤ 最后,使用组件图和展开图来实现系统的集成与验证。

  以上过程可以在Rhapsody软件环境下实现,因为该软件可以产生系统常用的C语言,更接近通常的嵌入式开发环境。

  3、实例分析与讨论

  这里以一个报警系统为例,说明如何使用来设计嵌入式系统。一个报警系统一般由传感器(包括声音传感器、图像传感器和热传感器),报警器(包括声音报 警器、电话报警器和光报警器),键盘,LCD显示器,系统处理器,以及用于存储系统配置信息和日志信息的存储器等部件组成。

  当传感器接收到某个信号,通过模数转换把信息送到系统处理器中后,系统处理器根据设定的配置信息条件,判断是否需要报警。若需要,则会向报警器发出报警命令。键盘和LCD显示器用于人机对话,可以根据实际需要设定报警条件和方式。

  该系统的序列图如图1所示。从图1中可以看出,该系统要求从传感器返回信息到发出报警的时间间隔小于3 s。这就是序列图中对嵌入式实时系统时间要求的一个例子。

  

  图1 报警系统序列图

  在类图中,把系统处理器设计成活动类,负责处理通过带有LCD 显示的控制面板与用户的交互。通过控制面板,可以配置、激活和关闭系统。所有的配置变化均保存在系统配置信息类中。系统处理器接收传感器的信息,并把它与 系统配置信息比较,从而决定是否报警。为了查询和了解报警系统历史信息,系统处理器将所有事件保存在日志中。系统处理器、传感器和报警器的类图的简单关系如图2所示。

  

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

  结语

  为嵌入式系统引入一个通用、完善的技术,必将对当前高速发展的嵌入式系统的研究与开发产生积极的影响。而本文所提出的思想和方法,对于摆脱UML技术在嵌入式领域的困境起到了有益的探索和建议作用。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

c语言相关文章:c语言教程


c++相关文章:c++教程



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭