类型由 Rational® Rhapsody® 实现块 (RIMB) 确定的对象可以实现原子软件组件类型。
过程
- 通过使用下列任意一种方法创建 Rational Rhapsody 实现块:
- 对于 ARBMTPackages 类别中某个包下的 Rational Rhapsody 实现块图,从“绘图”工具栏中选择 Rational Rhapsody 实现块工具
,然后在绘图区中单击该图。
- 在 ARBMTPackages 类别下方,右键单击一个包,然后选择。
- 定义 Rational Rhapsody 实现块的一般特征:
注: 由于 Rational Rhapsody 实现块用于组装类,因此它们使用的许多字段与“特征”窗口的常规选项卡上的字段相同。Rational Rhapsody 实现块的常规选项卡上的下列字段或者针对 Rational Rhapsody 实现块进行描述,或者特定于这些实现块。
- 并行:您定义 Rational Rhapsody 实现块时,必须将并行字段设置为活动。
此设置指定,要为每个其类型由此 Rational Rhapsody 实现块确定的对象创建一个可运行对象。
这个可运行对象的作用是,成为 Rational Rhapsody 实现块的 doExecute 方法。
- 如果将并行设置为“活动”,那么应该在此对话框的底部指定激活策略。这确定了 RTE 何时调用 RIMB 的“doExecute”。此策略字段可以为“异步”或“定期”。如果是“异步”,那么应该在“访问 & 激活”选项卡中定义实际的激活策略,如下。如果是“定期”,那么应该指定周期和延迟。
- 如果将并行设置为“顺序”,那么仍然可以将 RIMB 设置为执行管理器。这表明,每个由此 RIMB 确定类型的对象都将具有一个事件队列,并且将管理它的状态图和部件。但是,如果对象不是处于活动状态,那么不会为它的“doExecute”创建可运行对象,而是由用户代码来进行调用。
可以将任意数目的活动操作添加到 RIMB。这可以通过在浏览器中使用新增功能来完成。
对于每项活动操作,都将生成一个 AUTOSAR 可运行对象,该对象的函数是该操作的实现。RIMB 中的任何行为都由活动操作调用,包括状态图执行。虽然活动操作可能由任何代码实现,但 Rhapsody 将生成多个辅助函数以便于状态图执行。
必须在每个活动操作的特征对话框中指定一个激活策略。这中处理方式与对活动 RIMB 的处理方式完全相同:激活必须是“定期”或“异步”。如果是“定期”,那么应该指定周期和延迟。如果是“异步”,那么应该在 RIMB 的“访问和激活”选项卡中定义激活策略。
并且可以选中特征对话框中的“受防护”字段。所有受防护活动操作将相互排斥。
这由专用 AR 互斥区域实现,在互斥区域中所有为受防护操作生成的可运行对象都指定为“在其中运行”。
- 访问 & 激活:必须指定激活策略。此策略确定运行时环境 (RTE) 何时调用 Rational Rhapsody 实现块的 doExecute 方法。在策略字段中,选择异步或定期。
“访问 & 激活”选项卡用于:
- 指定异步活动元素的激活策略,并
- 指定端口上的哪些元素由哪些活动元素访问。
注: :隐式或显式的访问方式在 RIMB 接口中的属性级别中进行指定,而不是在这里进行指定。只在这里指定访问的事实。
每个异步活动操作(包含 RIMB),如果操作处于活动状态并且是异步的,那么必须在此选项卡中定义激活策略,否则该操作将不会运行。
注: 指定的活动元素可以在表中具有多行。在这种情况下,定义的激活策略和访问是所有行之和。
- 如果策略字段设置为异步,请在访问与激活选项卡上定义实际激活策略。 有关更多信息,请参阅指定异步活动元素的访问和激活策略。
- 如果策略字段设置为定期,请在常规选项卡的激活部分中指定周期、偏移量和持续时间。
- 受防护:在此字段中,可以指定所有受防护的活动操作相互排斥。 此操作将在一个专用的 AUTOSAR 排斥性区域中实现(所有为受防护操作生成的可运行对象都被指定为在此区域中运行)。
活动操作是 Rational Rhapsody 实现块的核心。活动操作将转换为 AUTOSAR
可运行对象并由运行时环境 (RTE) 直接调用。 它们驱动实现的执行。 Rational Rhapsody 实现块可以具有正常类所具有的所有内容,包括状态图、属性、操作和其他元素。Rational Rhapsody 实现类在行为模型工具 (BMT) 包中进行定义,然后实例化为软件组件类型中的对象。