【问题标题】:Jade - which behaviour for an events loop?Jade - 事件循环的哪种行为?
【发布时间】:2020-03-09 13:28:53
【问题描述】:

我正在 JADE 中实现多代理系统。事件被放置在一个队列中,并将按顺序发生。 EventManager 代理应该通过队列并一一处理它们。

所以我的 EventManager 应该处理第一个事件 - 向其他代理发送消息,他们将“解决”该事件。 之后如果第二个事件被处理并解决,第一个事件已经完全解决。 (等更多活动)

因此,我的问题是使用哪种行为来实现这一点?

我想到了sequential behaviour,但它顺序使用多个行为,而这是一个行为(抓取事件并解决它)多次,但只有在前一个行为完成之后。

我喜欢generic behaviour 的想法,但我喜欢用 for 循环代替 switch。不幸的是,在打开下一个事件之前完全解决前一个事件是绝对必要的。

如何实现?

【问题讨论】:

    标签: java agents-jade


    【解决方案1】:

    这里有一个重要的事情,代理之间的通信是如何组织的?

    您是否在所有代理工作时都得到了答复?这可以通过使用诸如 ContractNet 之类的通信协议或更方便的方式进行存档。

    如果您已收到所有答案,您可以开始新的“工作”行为(例如可以是 OneShotBehaviour),再次等待代理回答,最后决定是开始新工作还是终止工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-19
      • 1970-01-01
      • 2018-11-25
      • 1970-01-01
      • 2017-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多