主要内容

建模一个基于消息可用性运行的消息接收接口

这个例子展示了如何在基于消息的系统中同步执行与数据可用性。我们将展示如何使用事件和动作对这种行为建模。这个例子建立在另一个例子之上,在软件组件之间建立消息发送和接收接口,其中两个软件组件使用消息进行通信。

与前面的示例一样,代码生成过程应该应用于SendComponent和ReceiveComponent。消息存储对中间件和中间件提供的数据通知事件建模。

下面是使用两个model块创建的包含SendComponent和ReceiveComponent的组合模型。这两个Model块通过带有消息行的Queue块连接。

当消息到达Queue块时,通过使用Queue条目事件动作将其到达传递给ReceiveComponent。这将激活ReceiveComponen万博1manbetxt内部的Simulink Function块,以接受新消息进行处理。

要实现此行为,请在Queue块中事件动作选项卡,在条目字段,块调用Simulink函数万博1manbetxonMessageAvailable ().看到事件动作语言和随机数生成(SimEvents)以获取有关事件操作的更多信息。

当Simulink函数块被万博1manbetx激活时,它接受消息并将其转换为信号。

因此,SendComponent发送的消息会在ReceiveComponent中触发执行。要观察此行为,请使用顺序查看器块。

例如,观察模拟时间0

  1. 从Send块到Queue块的箭头表示发送的消息的数据值为0

  2. 从Queue块到Simulink Function块的箭头表示对万博1manbetxonMessageAvailable ()函数。

  3. 来自Queue块的箭头表示具有数据值的消息0是由该函数调用中的Receive块接收的。

  4. 从Simulink Function块到Queue块的水平虚线箭头表示函数的万博1manbetx返回onMessageAvailable ()

有关序列查看器块的更多信息,请参见使用序列查看器来可视化消息、事件和实体

另请参阅

|||

相关的话题