保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

使用Rhapsody软件框架和UML的实时系统开发


投递给目标对象之后立即返回,目标对象使用自己的线程完成对事件的响应),也可以是同步的(活动类投递事件之后必须等待目标对象处理完成才能返回)。操作代表类本身提供的服务和功能。操作调用总是同步的,即操作总是运行在调用者线程之内。Rhapsody的框架定义了两种事件:

①信号事件。

信号事件(Signal Events)是最常用的事件,它代表对象之间传递的一种异步激励信号。在Rhapsody的框架中,它以OXFEvent表示,所有的用户

事件类都从OXFEvent继承。

信号事件有自己的参数(以其属性表示),并且和一个响应对象关联。事件管理器依据事件的响应对象判断事件的接收者。

②定时事件

定时事件(Timeout Events)在Rhapsody中以OXFTimeOut表示。它在OXF框架中的位置如图3所示。

事件管理器(活动对象)的schedTimeout方法负责定时事件的构造和调度。其执行过程如图4所示。

图3 定时事件及相关框架元素

   事件管理器创建一个OXFTimeout对象并将其交由一个定时管理器管理。定时管理器可以管理多个定时事件,它运行于自己的独立线程内且聚合了一个定时器对象。定时器对象每卫固定的时间片会向定时管理器发通知信号,这时定时管理器检查它管理的定时事件集合中是否有定时事件到时,并将到时的定时事件添加到事件管理器(活动对象)的事件队列中(通过调用queueEvent),之后事件管理器再将这些定时事件投递给对应的响应对象。定时事件本身是被动的,它不包含定时器。

(4)状态机

Rhapsody支持UML状态机(State Machines),包括层次状态分解、带参事件、定时事件、伪状态、完成转移、入口和出口动作等功能。Rhapsody也包含了UML中定义的异步事件处理模型:带有状态图的类都是响应类,因此都与一个事件管理器(活动类)关联。事件管理器使用一个队列缓冲收到的事件,然后将事件投递给响应对象。响应对象按照状态图处理收到的事件。

OXF框架使用OXFEvent Consumer、OXFState、OXFLeafState等实现UML状态机的语义。限于篇幅,本文对此不作介绍。

(5)并发控制

Rhapsody的OXF框架使用如下两个类实现对实时系统资源的并发控制(Concurrency Control)。

*OXFOSMutex:包装了实时操作系统的互斥量对象,支持lock()和free()操作。互斥量用于管理独占性资源。

*OXFOSSemaphore:包装了实时操作系统的信号量对象,支持wait()和signal()操作。信号量用于管理共享资源。

UML类的方法可以声明为guarded。这时类被称为protected。protected类用于对独占性资源进行建模,在任何时刻只可有一份guarded方法执行,OXF框架以OXFProtected定义UML protected类,它充当所有用户protected类的父类。

(6)模型的调试及分析

Rhapsody允许用户单步执行状态图和顺序图以验证系统的功能和逻辑。系统执行过程中,对象的方法调用和状态改变都可以在模型图上以动画的形式表现出来。

除了功能和逻辑上的正确性之外,实时系统还对系统的响应时间有严格的要求。对实时系统响应时间的测试称为调度性分析,主要使用两种方法。

①经验法:给系统注入实时测试数据,然后测量系统的相应性能。

②理论分析:为系统模块设定足够的时间信息,然后用数学方法计算系统的整体相应性能。此方法通常需借助专用的软件工具完成。

图4 定时事件的调度和投递

    Rhapsody支持基于经验的调度性分析。用户需要为对象方法设定估计的执行时间,并编写一个驱动脚本或状态图以模拟系

《使用Rhapsody软件框架和UML的实时系统开发(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/147029.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。