7

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

В принципе, что-то вроде динамического состояния редактора машины, которая позволила бы определить «пакеты», «Сообщения», «состояние», «валидаторы», «Обработчики» и т.д.

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

ответ

3

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

+2

Вам может понравиться эссе Зеда Шоу о графиках штата Рагель http://www.zedshaw.com/essays/ragel_state_charts.html –

1

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

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

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

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

+0

Спасибо за ваш ответ, Python просто имел в виду в качестве примера для иллюстрации того, что я бы желательно, чтобы иметь возможность запускать генератор кода в соответствии со спецификациями протокола (предоставленными через XML или RDF), чтобы в конечном итоге получить заглушки, реализующие большую часть избыточных частей кода протокола автоматически. – none

+0

> Звучит так, что вам лучше со встроенным DSL, чем дизайнер на основе графического интерфейса. Хорошо, так есть ли DSL для написания сетевых протоколов? Кроме того, большая часть процесса разработки протокола по-прежнему будет в основном касаться определения состояний и итоговых действий. – none