无状态框架与独立的 Forks 一起工作?
Stateless framework work with indepedent Forks?
我们正在考虑在我们的系统中采用状态机Stateless Framework,但我们有一个要求,我还不明白无状态框架是否可以提供帮助,或者是否会增加我们系统的复杂性。
为什么要改变?
因为系统在增长,并且我们要删除的每个状态机之间都有一些依赖关系。此外,使用开源且结构良好的框架总是比创建新框架更好。
示例:
我们有一个状态非确定性机器 [SM_A],它分叉 [n] 个新状态机 [SM_B]。 [SM_A] 的最后状态取决于所有 [SM_B] 分叉。
每个fork,工作结束后加入SM_A,通知他验证是否所有SM_B都完成了。当所有分叉完成后,SM_A 将继续。
此外,所有状态都需要持久化,因为此刻我们等待 "wake up" 所有分叉 [SM_B]s.
的动作
(伪状态:http://www.uml-diagrams.org/state-machine-diagrams.html#fork-pseudostate)
下图说明了流程:
对不起,如果你不明白。
据我了解,Stateless 不支持分叉。但我认为无状态可以用来解决你的问题。
也许 SM_A 可以用来实例化 n 个 SM_B 对象。 SM_A 跟踪所有 SM_B,每个 SM_B 让 SM_A 知道它已经完成了它的工作。
当 SM_A 注意到所有 SM_B 都已完成时,它将转换到 SM_A_5 状态。
我们正在考虑在我们的系统中采用状态机Stateless Framework,但我们有一个要求,我还不明白无状态框架是否可以提供帮助,或者是否会增加我们系统的复杂性。
为什么要改变? 因为系统在增长,并且我们要删除的每个状态机之间都有一些依赖关系。此外,使用开源且结构良好的框架总是比创建新框架更好。
示例: 我们有一个状态非确定性机器 [SM_A],它分叉 [n] 个新状态机 [SM_B]。 [SM_A] 的最后状态取决于所有 [SM_B] 分叉。 每个fork,工作结束后加入SM_A,通知他验证是否所有SM_B都完成了。当所有分叉完成后,SM_A 将继续。 此外,所有状态都需要持久化,因为此刻我们等待 "wake up" 所有分叉 [SM_B]s.
的动作(伪状态:http://www.uml-diagrams.org/state-machine-diagrams.html#fork-pseudostate)
下图说明了流程:
对不起,如果你不明白。
据我了解,Stateless 不支持分叉。但我认为无状态可以用来解决你的问题。 也许 SM_A 可以用来实例化 n 个 SM_B 对象。 SM_A 跟踪所有 SM_B,每个 SM_B 让 SM_A 知道它已经完成了它的工作。 当 SM_A 注意到所有 SM_B 都已完成时,它将转换到 SM_A_5 状态。