生成的辅助函数

Rational Rhapsody 将对 Rational Rhapsody 实现块 (RIMB) 生成多个可以在活动操作中调用的辅助函数。
辅助函数的分类如下所示:
  • 接收方:用于在接收方端口上读取数据。这些函数隐藏了运行时环境 (RTE) API 的复杂性。 尽管存在一些限制,但这些函数可用于更改访问方式,而不必更改用户的访问代码。
  • 发送方:在发送方端口上发送数据或事件
  • 处理程序:用于处理接收到的数据或事件
  • 接收方和处理程序:读取并处理数据或事件
  • 调用者:调用所需的(客户机)服务

除处理程序以外,所有辅助函数都返回从它们在其实现中调用的运行时环境函数返回的状态。

下表列示了每个辅助函数及其用途。

表 1. 辅助函数
辅助函数 说明
receiveData_p_x (int* const x) 读取接收方端口 p 上的属性 x 的值,并将其放入参数 x。仅当 p.x 的类型由某种 C 类型确定,而不是由某个事件确定时,才会生成此函数。
receiveEvent_p_x (int* const x) 读取接收方端口 p 上的属性 x 的值,并将其放入参数 x。仅当 p.x 的类型由某个 Rational Rhapsody 事件确定时,才会生成此函数。通常,直接调用 receiveAndHandleEvent,而不是调用此函数。
handleData_p_x (int x) 仅当 p.x 的类型由某种 C 类型确定,而不是由某个事件确定时,才会生成此函数。
  • 如果 Rational Rhapsody 实现块具有触发式操作 evP_x,那么调用该触发式操作。
  • 如果 Rational Rhapsody 实现块具有属性 p_x,那么将属性 p_x 设置为参数的值。
    • 另外,如果 Rational Rhapsody 实现块更改了名为 chP_xx 的接收,那么生成 chP_x 的实例并使该实例在管理器的队列中排队。
handleEvent_p_x() 仅当 p.x 的类型由事件 ev 确定时,才会生成此函数:
  • 如果 Rational Rhapsody 实现块具有接收 ev,那么生成 ev 的实例并使该实例在管理器的队列中排队。
  • 如果事件类型化 p.x 具有参数,那么 handleEvent 将具有复制到事件的参数。
receiveAndHandleData_p_x() 接收数据并立即对其进行处理。
receiveAndHandleEvent_p_x() 接收事件并立即对其进行处理。
sendData_p_x(int x) 将参数的值发送到发送方端口 p 上的属性 x。仅当 p.x 的类型由某种 C 类型确定,而不是由某个事件确定时,才会生成此函数。
sendEvent_p_x() 仅当 p.x 的类型由事件 ev 确定时,才会生成此函数:
  • 将任意值发送到发送方端口 p 上的属性 x
  • 如果事件 ev 具有参数,那么 sendEvent 也具有参数,并且将发送这个值,而不是发送任意值。
call_p_f 对客户机端口 p 调用所需的操作 f

反馈