2. Rhapsody工作环境与项目结构
Rhapsody 是 IBM 面向基于模型的系统工程(MBSE)与嵌入式软件开发的建模工具,其工作环境围绕“模型仓库 + 图形编辑器 + 代码/仿真引擎”三部分组织。理解它的界面布局与项目结构,是后续所有建模活动的前提。本节从安装后的界面构成讲起,逐步展开项目、包、模型的层级组织方式,视图与透视图的切换逻辑,以及模型存储与团队协作的基础机制。
安装与界面布局
Rhapsody 通常以 Eclipse 插件形式安装(Rhapsody Developer for Eclipse),也可作为独立应用运行。安装完成后首次启动,会要求指定工作空间(Workspace)目录,该目录用于存放 Eclipse 层面的工程元数据,而真正的模型文件(.rpy)则存放在项目目录中,两者不要混淆。
主界面由若干可停靠的视图区域组成,典型布局如下:
- 浏览器(Browser):位于左侧,以树形结构展示整个模型的包、类、图、状态机等元素,是模型导航的核心。
- 图形编辑区(Diagram Canvas):中央区域,用于绘制用例图、类图、状态图、序列图、活动图等。
- 属性面板(Features / Properties):右侧或下方,显示当前选中元素的属性、操作、端口、参数等。
- 输出与日志视图(Output / Log):底部,显示代码生成、编译、仿真、检查(Check Model)的结果信息。
- 工具栏与菜单:顶部,包含新建图、代码生成、仿真启动、模型检查等常用命令。
这些视图并非固定不变,用户可以通过 Window → Show View 打开或关闭,也可以拖动标签页重新排布。建议初学者保留默认布局,待熟悉后再按个人习惯调整。
项目、包与模型的层级组织
Rhapsody 的模型组织遵循“项目(Project)→ 包(Package)→ 模型元素(Model Element)”的层级。一个项目对应一个 .rpy 模型文件,项目内部可以创建多个包,包内再放置类、接口、状态机、图等元素。包的作用类似于文件系统中的文件夹,用于逻辑分组和命名空间隔离。
例如,一个典型的嵌入式控制系统项目可以这样组织:
Project: MotorControl.rpy
├── Package: Requirements (需求相关元素)
├── Package: SystemArchitecture (系统架构:子系统、接口)
├── Package: SoftwareComponents (软件组件:类、状态机)
├── Package: HardwareInterface (硬件接口:端口、信号)
└── Package: TestAndVerification (测试用例、仿真配置)
包可以嵌套,形成多级命名空间。在浏览器中,包节点展开后显示其内部元素;双击某个图节点即可在编辑区打开对应图形。需要注意的是,Rhapsody 中的“模型”是逻辑概念,一个项目就是一个模型,包只是模型内部的划分,不要与 Eclipse 的工程(Project)混淆。
视图与透视图
Rhapsody 借用了 Eclipse 的“透视图(Perspective)”概念。透视图是一组视图的预定义组合,针对不同任务场景切换。常见的透视图包括:
- Modeling(建模):默认透视图,突出浏览器、图形编辑区和属性面板,适合日常建模。
- Debug(调试):增加断点、变量监视、调用栈等视图,用于仿真调试。
- Code(代码):突出代码编辑器与代码生成相关视图,便于查看生成的 C++/C/Java 代码。
切换透视图通过 Window → Perspective → Open Perspective 完成。透视图切换不会改变模型内容,只改变界面视图的排列。理解这一点很重要:模型数据始终保存在 .rpy 文件中,透视图只是观察和操作模型的不同“窗口”。
模型存储与团队协作基础
Rhapsody 模型以 .rpy 文件为核心,该文件是文本格式(XML 风格),记录了所有模型元素及其关系。此外,项目目录中还会生成 .rpy 相关的辅助文件,如 .rpyx(配置)、.dpx(依赖)等。模型文件可以纳入版本控制系统(如 Git、SVN、ClearCase)进行管理。
团队协作时,建议遵循以下基础实践:
- 将 .rpy 文件及必要的配置文件纳入版本控制,忽略编译输出目录(如 Debug、Release)。
- 避免多人同时编辑同一个 .rpy 文件;若必须并行,应通过包级拆分或使用 Rhapsody 的模型分割(Model Split)功能降低冲突。
- 提交前执行 Check Model,确保模型一致性,减少合并时的语义冲突。
- 使用 Rhapsody 的“Compare/Merge”功能对比不同版本的模型差异。
本节知识图解
下图将 Rhapsody 的工作环境、项目层级、透视图切换与存储协作关系整合在一起,帮助建立整体认知。
通过本节,你应当能够:识别 Rhapsody 主界面的五个核心区域;理解项目、包、模型元素的层级关系;区分透视图切换与模型数据变更;并掌握将模型纳入版本控制的基本做法。这些是后续建模、代码生成与仿真调试的操作基础。