我正在寻找一个好的状态机编译器,以便测试一些自定义网络协议.我查看了一些工具,如Yakindu,Ragel(编译器),SCXML(语言),但我不确定是否有任何工具可用于网络协议.
SCXML(语言)看起来不错,但我找不到任何专门用于C的编译器(scxmlcc用于C++).有没有人知道基于SCXML的C编译器?Yakindu工具看起来很有前景,但我不确定是否可以测试像BGP/OSPF这样的网络协议.任何人都可以对此提出任何指示吗?Ragel看起来也不错,但我不确定是否可以使用此编译器生成复杂的网络协议客户端.
我特别提到网络协议的原因是我还希望能够在"事件"发生后执行自定义例程,例如packet_create/packet_send(具有自定义数据包大小)等,作为"操作"的一部分.
我是否需要始终从状态图生成代码,或者有没有办法直接与状态交互?我是FSM的新手,任何帮助/建议/建议/链接将不胜感激.