定义 RIMB 的特征

类型由 Rational® Rhapsody® 实现块 (RIMB) 确定的对象可以实现原子软件组件类型。

过程

  1. 通过使用下列任意一种方法创建 Rational Rhapsody 实现块:
    • 对于 ARBMTPackages 类别中某个包下的 Rational Rhapsody 实现块图,从“绘图”工具栏中选择 Rational Rhapsody 实现块工具 ,然后在绘图区中单击该图。
    • ARBMTPackages 类别下方,右键单击一个包,然后选择新增 > AR3x_BMT > RIMB
  2. 定义 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),如果操作处于活动状态并且是异步的,那么必须在此选项卡中定义激活策略,否则该操作将不会运行。
      • 活动元素列中,从列出了所有活动操作的下拉列表中选择一个活动元素。 在某些情况下,RIMB 处于活动状态,它还讲列出它自己。在本例中,重新调用与可运行对象相关联的函数是 RIMB 的 doExecute
      • 激活策略列中选择活动策略。此激活策略对应于 RTE 事件的种类。“在…时候唤醒”策略表示,RTE 在等待点之外唤醒活动元素。在某些情况下,此行表示定义一个访问,而不是定义一个激活策略,然后选择“不适用”。
        注: 如果激活策略为“‘接收到数据’事件”或“‘接收到数据时唤醒’事件”,那么此行定义了激活策略也定义了对数据元素的访问。
      • 上下文列中,选择具有与指定激活策略或访问相关的数据元素或错做的端口。下拉列表中显示的端口将根据选择的激活策略进行过滤。或者,选择“全部”,这表示此行中定义的激活策略或访问与所有端口上的所有元素相关联。
      • 元素列中,选择用于确定“上下文”列所指定端口的类型的接口上的数据元素或操作。或者,选择“全部”,这表示此行中定义的激活策略或访问与上下文列中所指定的端口的所有元素相关联。如果上下文列指定为“全部”,那么元素列也必须指定为“全部”。
      注: 指定的活动元素可以在表中具有多行。在这种情况下,定义的激活策略和访问是所有行之和。
      • 如果策略字段设置为异步,请在访问与激活选项卡上定义实际激活策略。 有关更多信息,请参阅指定异步活动元素的访问和激活策略
      • 如果策略字段设置为定期,请在常规选项卡的激活部分中指定周期、偏移量和持续时间。
    • 受防护:在此字段中,可以指定所有受防护的活动操作相互排斥。 此操作将在一个专用的 AUTOSAR 排斥性区域中实现(所有为受防护操作生成的可运行对象都被指定为在此区域中运行)。

    活动操作是 Rational Rhapsody 实现块的核心。活动操作将转换为 AUTOSAR 可运行对象并由运行时环境 (RTE) 直接调用。 它们驱动实现的执行。 Rational Rhapsody 实现块可以具有正常类所具有的所有内容,包括状态图、属性、操作和其他元素。Rational Rhapsody 实现类在行为模型工具 (BMT) 包中进行定义,然后实例化为软件组件类型中的对象。


反馈