いくつかのカスタム ネットワーク プロトコルをテストするために、優れたステート マシン コンパイラを探していました。Yakindu、Ragel (コンパイラ)、SCXML (言語) などのいくつかのツールを既に調べましたが、それらのいずれかがネットワーク プロトコルに使用できるかどうかはわかりませんでした。
SCXML(language) は良さそうですが、C 専用のコンパイラは見つかりませんでした (scxmlcc は C++ 用です)。SCXML に基づく C のコンパイラを知っている人はいますか? Yakindu ツールは有望に見えますが、BGP/OSPF などのネットワーク プロトコルをテストできるかどうかはわかりません。誰でもこれについての指針を教えてください。Ragel も良さそうですが、このコンパイラを使用して複雑なネットワーク プロトコル クライアントを生成できるかどうかはわかりません。
特にネットワーク プロトコルについて言及した理由は、「イベント」が発生した後の「アクション」の一部として、packet_create/packet_send (カスタム パケット サイズ) などのカスタム ルーチンを実行できるようにしたいからです。
常に状態グラフからコードを生成する必要がありますか、または状態と直接対話する方法はありますか? 私はFSMに非常に慣れていません。ヘルプ/アドバイス/提案/リンクは大歓迎です。