我正在尋找一個好的狀態機編譯器來測試一些自定義網絡協議。我查看了一些已有的工具,如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