Инструменты для экспериментального дизайна и разработки протокола? - PullRequest
8 голосов
/ 14 марта 2009

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

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

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

Ответы [ 2 ]

3 голосов
/ 14 марта 2009

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

1 голос
/ 14 марта 2009

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

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

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

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

...