gpt4 book ai didi

scala - 有限状态机和 FSM 间信令

转载 作者:行者123 更新时间:2023-12-03 21:42:12 28 4
gpt4 key购买 nike

对具有 native 语言的建议(因此没有 FSM 生成工具)支持状态机开发和执行以及消息/信号的传递。这适用于电信,例如这种复杂程度的 FSM 的实现。

我考虑过 Erlang,但希望得到一些反馈、建议、教程指针、替代方案,尤其是基于 Java 的框架。也许是斯卡拉?

仅开源。我不是在寻找 UML 或正则表达式相关的解决方案。

由于这是为了实现电信协议(protocol),FSM 可能并不重要。许多状态,许多转换,基于信号,输入约束/保护。动态实例化将是一个加号。 switch 语句是不可能的,它很快就会嵌套到不可用的状态。 if/else 稍微好一点。

我宁愿不依赖图形设计; FSM 描述的格式应该是人类可读/可编辑/可管理的。

--

我决定专注于基于 Actor 的 C++ 解决方案

例如,Theron 框架提供了一个起点 http://theron.ashtonmason.net/为了避免在基于 FSM 的事件处理程序中使用 switch 语句,这个 C++ FSM 模板框架看起来很有用http://satsky.spb.ru/articles/fsm/fsmEng.php

最佳答案

这个特殊的应用程序,电信协议(protocol)实现,正是 Erlang 的构建目标。 Erlang 在爱立信的最初应用是电话交换机,最早的商业产品是支持各种电信协议(protocol)的 ATM 交换机。

OTP 有一个用于实现 FSM 的标准行为,称为 gen_fsm。 .在一些 OTP Documentation 中有一个在非平凡 FSM 中使用的示例。 .

OSERL是 Erlang 中的开源 SMPP 实现,并演示了如何使用 gen_fsm 实现电信协议(protocol)s。一个很好的例子是 gen_esme_session .

虽然我无法指出代码,但我知道有不少 Erlang 公司销售面向电信的产品:Corelatus , Synapse , Motivity其中。

关于scala - 有限状态机和 FSM 间信令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1441077/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com