我正在寻找一个好的状态机编译器来测试一些自定义网络协议。我查看了一些已有的工具,如Yakindu,Ragel(编译器),SCXML(语言),但我不确定它们中的任何一个是否可用于网络协议。用于C的有限状态机编译器模拟网络协议
SCXML(语言)看起来不错,但我找不到任何专门用于C的编译器(scxmlcc用于C++)。有谁知道基于SCXML的C编译器? Yakindu工具看起来很有前途,但我不确定是否可以测试像BGP/OSPF这样的网络协议。任何人都可以请给这个指针吗? Ragel看起来不错,但我不确定是否可以使用此编译器生成复杂的网络协议客户端。
我特别提到网络协议的原因是,我也希望能够在发生'事件'之后执行自定义例程,例如packet_create/packet_send(具有自定义数据包大小)等,作为'actions'的一部分。
是否需要始终从状态图生成代码或者是否有一种方法可以直接与状态进行交互? 我对FSM非常新,任何帮助/建议/建议/链接将不胜感激。
我们仍然不确定嵌入的API,即挂钩到您的实际应用程序代码。如果您有任何建议,请随时在github上发布[发布问题](https://github.com/tklab-tud/uscxml/issues)。 – sradomski 2016-01-29 10:01:08