Существуют ли какие-либо инструменты высокого уровня с открытым исходным кодом, которые облегчат и упростят разработку экспериментальных сетевых протоколов (TCP / UDP) с использованием графического интерфейса?
По сути, что-то вроде редактора динамического конечного автомата, который позволит вам определять «пакеты», «сообщения», «состояния», «валидаторы», «обработчики» и т. Д.
Предпочтительно, чтобы такой инструмент был достаточно всеобъемлющим, чтобы иметь дело со всеми соответствующими аспектами протокола (например, клиент и сервер), чтобы описание протокола высокого уровня можно было сериализовать в файл XML / RDF, где его можно было бы использовать для динамического создания код приложения для реализации протокола (например, на Python).
2 ответа
Откажитесь от графического интерфейса пользователя в пользу текстового редактора и войдите в мир языков спецификации протоколов. Большинство этих инструментов берут описание какого-либо протокола, пытаются доказать, что он не сломан, и создают реализацию и тесты. Вот несколько примеров для начала, но есть еще много:
Если вы все равно собираетесь нацелиться на цель, в конечном итоге, на python, кто бы не запустил свой собственный тестовый стенд (на python) с самого начала?
Конечные автоматы не так уж сложно встроить в код, и их намного проще однозначно читать и проверять, чем изображения в графическом интерфейсе, особенно когда они становятся сложными.
Мне кажется, вам лучше использовать встроенный DSL, чем дизайнер на основе графического интерфейса.
Изменить: если, как вы сказали в комментариях, вы просто выбросили python в качестве примера, я бы посоветовал вам пойти с ответом timday. Если вы на самом деле не беспокоитесь о встраивании в Python, используйте уже существующий DSL, как он предлагает.
Похожие вопросы
Новые вопросы
user-interface
Пользовательский интерфейс (UI) - это система, с помощью которой люди взаимодействуют с компьютером. Этот тег можно использовать для вопросов программирования, связанных с пользовательским интерфейсом. Обратите внимание, что существует отдельный сайт Stack Exchange для пользовательских интерфейсов, взаимодействий с компьютером и дизайна пользовательского интерфейса: https://ux.stackexchange.com.