创建 Rational Rhapsody SDL 系统

关于此任务

系统工程师常使用“系统设计语言”(SDL) 来对离散(事件驱动的)算法建模。“SDL 套件”还对其模型生成 C 代码。IBM® Rational® Rhapsody® Developer for C++ 与“SDL 套件”(V5.0 或更高版本)集成以支持基于 Rational Rhapsody 和“SDL 套件”行为的系统模拟。工程师可以将 SDL 模型导入至 Rational Rhapsody。该产品像类一样管理构造型为 SDLSystem 的已导入模型。

注: SDL 信号的命名约定在信号的原始名称上添加“_”前缀。可以通过更改 Model::Profile 组中的 SDLSignalPrefix 属性来修改此前缀。

缺省情况下,SDLSystem 使用行为端口。可以通过对此包选择 UseRapidPorts 属性将此配置更改为使用快速端口。此属性还存储在 Model::Profile 组中,可以通过“功能”窗口的属性选项卡访问此组。

注: 导入至该产品中的 SDL 模型不能包含任何给定进程多于一个的实例。
注: 使用 Eclipse 的平台集成时,不能使用 SDL 集成功能。

要将 SDL 模型导入至 Rational Rhapsody,请完成下列步骤:

过程

  1. 在“SDL 套件”中,打开 SDL 模型。将“系统”级别标记为矩形。
  2. 从主菜单中选择生成 > 制作
  3. 选择“CAdvanced 代码生成器”配置。
  4. 选中“生成环境头文件”复选框。
  5. 激活“制作”以生成模型 C 文件 (modelname.c) 和环境头文件 (modelname.ifc)。
  6. 选择“SDLAccess 代码生成器”配置,然后激活完整制作以生成模型 SDL_Access 文件 (modelname.sac)。
  7. 打开 Rational Rhapsody,然后选择文件 > 新建
  8. 对项目类型选择 SDL_Suite
  9. 创建新的块/类,然后选择 SDLSystem 类构造型。
  10. 右键单击此块,然后选择导入/同步 SDL 模型
  11. 输入先前创建的 SDL 模型文件的位置,如下例所示:
    显示了 SDL 模型文件的位置的“导入/同步 SDL 模型”窗口
  12. 单击导入/同步
  13. 要将 Rational Rhapsody 块连接至 SDLSystem,创建带有行为端口和状态图的用户类。状态图控制用户类发送至 SDLSystem 的事件和接收自 SDLSystem 的事件。
  14. 通过 SDLSystem 和 Rational Rhapsody 块创建对象,并通过使用导入创建的接口的链接来连接其端口。
  15. 要创建 .exe 文件,请执行代码生成并基于整个模型构建。代码生成作用域必须仅包含一个 SDLSystem。

结果

注: 因为 SDLSystem 导入为“黑匣”,所以未为此块提供动画。可以通过检查 Model::Profile 属性组中的 AnimateSDLSystemBehavior 属性将 SDLSystem 作为包装程序来使用时序图查看其行为。

反馈