Инструменты для экспериментального дизайна и разработки протокола?

Существуют ли какие-либо инструменты высокого уровня с открытым исходным кодом, которые облегчили бы и упростили разработку экспериментальных сетевых протоколов (TCP/UDP) с использованием графического интерфейса?

По сути, что-то вроде редактора динамического конечного автомата, который позволит вам определять "пакеты", "сообщения", "состояния", "валидаторы", "обработчики" и т. Д.

Предпочтительно, чтобы такой инструмент был достаточно всеобъемлющим, чтобы иметь дело со всеми соответствующими аспектами протокола (т. Е. Клиент и сервер), чтобы описание протокола высокого уровня можно было сериализовать в файл XML/RDF, где его можно было бы использовать для динамического создания код приложения для реализации протокола (т.е. в Python).

2 ответа

Решение

Откажитесь от GUI для текстового редактора и войдите в мир языков спецификации протокола. Большинство из этих инструментов принимают описание какого-либо протокола, пытаются доказать, что он не нарушен, и генерируют реализацию и тесты. Вот несколько, чтобы вы начали, но есть еще много:

Если вы все-таки собираетесь стремиться к цели на python, кто бы не бросил свой собственный испытательный стенд (на python) с самого начала?

Конечные автоматы не так сложно встроить в код, и их гораздо проще однозначно прочитать и проверить, чем картинки в графическом интерфейсе, особенно когда они становятся сложными.

Мне кажется, вы бы лучше работали со встроенным DSL, чем с дизайнером на основе графического интерфейса.

Изменить: Если, как вы сказали в комментариях, вы просто выбросили Python в качестве примера, я бы посоветовал вам пойти с ответом Timday. Если вы на самом деле не беспокоитесь о встраивании в python, используйте уже существующий DSL, как он предлагает.

Другие вопросы по тегам