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

发表于:2009-11-05来源:作者:点击数: 标签:框架umlUML实时系统Rhapsody
使用Rhapsody软件框架和UML的实时系统 开发 UML模型 关键字: 引言 面向对象的软件设计方法推崇抽象、可重用且易维护的设计模式。其中,一个普遍采用的做法是使用预定义的框架构建复杂的软件系统。在面向对象领域中,框架是指为某一具体应用领域提供 解决方
使用Rhapsody软件框架和UML的实时系统开发  UML模型

关键字:

引言

面向对象的软件设计方法推崇抽象、可重用且易维护的设计模式。其中,一个普遍采用的做法是使用预定义的框架构建复杂的软件系统。在面向对象领域中,框架是指为某一具体应用领域提供解决方案的类集。程序员使用继承、聚合等技术定制框架并将其用于具体的应用程序设计。基于框架的软件开发具有如下优点:

*由于重用了框架提供的代码,目标系统不必从头写起;

*规范的框架结构能够指导目标系统的设计;

*框架的设计是开放的,因此可以通过子类化等技术定制和扩展。

本文介绍Rhapsody的实时代码生成策略。Ilogix公司提供的Rhapsody是一个基于UML支持实时嵌入式系统全过程面向对象开发的CASE工具。Rhapsody基于一个内置的实时系统软件框架—OXF生成C/C++代码。


 1 Rhapsody的软件框架

Rhapsody的OXF框架专为实时嵌入式系统而设计,它由一系列UML类组成。这些类相互协作,组成了一个结构严整、跨实时操作系统平台的实时嵌入式软件架构。

(1)活动类

活动对象(Active Object)在UML中被定义为“拥有一个线程并能够发起控制活动的对象”。Rhapsody给这个一般定义赋予了具体含义,如图1所示。

活动类(Active Classes)在框架中以OXFActive表示,它拥有一个执行线程和一个事件队列,并提供事件调度功能。用户活动类从OXFActive继承。

该活动类包装了实时系统中的事件调度器。Execute方法是一个无限循环。在循环中,事件被不断地从队列中提取出来,发往对应的目标对象。QueueEvent和schedTimeout方法向队列注入新的事件。

(2)响应类

响应类(Reactive Classes)是能够对事件做出反应的框架类,即事件消费者。它在Rhapsody的框架中以OXFReactive表示,用户响应类从OXFReactive继承,如图2所示。

 

原文转自:http://www.ltesting.net