【发布时间】:2023-08-02 03:33:01
【问题描述】:
早上好, 我是 AnyLogic 平台的新手,我已经开始研究它,因为我想用它来映射公司的业务流程。我计划使用该工具的流程模型库对不同部门进行建模,目的是研究现在如何实现部门之间的信息流。
我的图表将由“源”元素和不同的“汇编器”元素组成,我希望最后一个(汇编器)作为网关。我附上一个简单的图表来更好地说明情况(example)。
假设 ''sourceA'' 和 ''sourceB'' (放置在不同部门)生成两个不同的文档,使用两个自定义代理实现(例如,从 ''sourceA'' 生成的代理有一个 ''orderID'' 参数和从 ''sourceB'' 生成的代理有一个 ''qualityCheckID'' 参数),这些参数在到达组装器组件(放置在不同的部门)之前在相应的队列中传送。由于部门不同步,队列很可能在模拟过程中未对齐(queue[10] = agent.orderID 设置为 10,queue[10] = agent.qualityIDCheck 设置为 9)。我希望组装机作为网关工作,因此它等待“orderID”等于“qualityCheckID”的代理(这意味着特定订单上的产品已经过质量部门的验证)。
阅读文档,我看到代理在空闲时到达汇编器端口,否则在队列中等待。由于可能发生异步,在汇编程序端口中存在没有 orderID 等于 qualityCheckID 的代理,在这种情况下,我不希望生成汇编程序的输出。可能会发生必要的代理在队列中而不是在端口中,因此“组装者”必须在队列中搜索以查找相应的代理是否存在以及是否将其从队列中删除(在队列中替换错误的代理)端口将最后一个放入队列并产生输出)
有人可以帮助我了解如何实现此场景。
【问题讨论】: