Я искал хороший компилятор конечных автоматов, чтобы протестировать некоторые пользовательские сетевые протоколы. Я посмотрел на несколько инструментов, таких как Yakindu, Ragel (компилятор), SCXML (язык), но я не был уверен, можно ли их использовать для сетевых протоколов.компилятор конечного автомата для C для моделирования сетевых протоколов
SCXML (язык) выглядит хорошо, но я не смог найти компиляторы специально для C (scxmlcc для C++). Кто-нибудь знает компилятор для C на основе SCXML? Инструмент Yakindu выглядит многообещающим, но я не уверен, что можно протестировать сетевые протоколы, такие как BGP/OSPF. Может ли кто-нибудь прокомментировать это? Ragel также выглядит хорошо, но опять же я не уверен, что с помощью этого компилятора можно сгенерировать сложные клиенты сетевого протокола.
Причина, по которой я упоминал сетевые протоколы, заключается в том, что я также хочу иметь возможность выполнять пользовательские подпрограммы, такие как packet_create/packet_send (с пользовательскими размерами пакетов) и т. Д. Как часть «действий» после возникновения «события».
Нужно ли всегда генерировать код из графика состояний или есть способ прямого взаимодействия с состояниями? Я очень новичок в FSM, любая помощь/совет/предложение/ссылки будут очень благодарны.
Мы по-прежнему не уверены в отношении API для внедрения, т. Е. Подключаем ваш фактический код приложения.Если у вас есть какие-либо предложения, не стесняйтесь [отправить сообщение] (https://github.com/tklab-tud/uscxml/issues) в github. – sradomski