Инструмент для построения диаграмм последовательности протоколов

Я ищу инструмент для рисования последовательности пакетов, отправляемых по протоколу скользящего окна. Существует много инструментов для рисования диаграмм последовательности сообщений с горизонтальными линиями, но я хочу иметь возможность рисовать линии по диагонали, как в нижней части этого изображения:

SYN,SYN+ACK,ACK example

Пожалуйста, предложите подходящие инструменты. Скорее всего, меня интересуют только бесплатные, но если у вас есть действительно хорошее предложение для рекламы, вы также можете включить его.

Ответы

Ответ 1

mscgen может сделать это, используя параметр arcgradient. Этот фрагмент будет отображать вторую часть вашего примера:

msc {
  arcgradient=20;

  client, server;
  client => server [label="SYN"];
  server => client [label="SYN + ACK"];
  client => server [label="ACK"];
}

Если вы скопируете этот фрагмент в mscgen_js в демонстрационном режиме, вы увидите.

Ответ 2

Я использовал websequencediagrams. По сути, это версия webapp mscgen с несколькими отличными рендерингами.

enter image description here

websequencediagrams также отображает их рендеринг в виде API script. Теперь я храню свои диаграммы в виде HTML файлов, передаю их в git, показываю приятные различия и т.д. I.e.,

<html>
<body>
<div class="wsd" wsd_style="rose"><pre>
App->set_state PAUSE
<!-- your wsd diagram commands, etc... -->
</pre></div>
<script type="text/javascript" src="http://www.websequencediagrams.com/service.js"></script>
</body>
</html>

Ответ 3

Для всех, кто в этом нуждается, есть классный инструмент командной строки mscgen.

Ответ 4

Вы можете попробовать umlet.com

Доброта,

Dan

Ответ 5

Я нахожу RFFlow очень быстро запускать, быстро учиться и прост в использовании. Он выполняет диагностические линии и текст на склонах и хорош для блок-диаграмм всех видов. Он сохраняет как EMF и WMF, так и GIF и его родной тип, и копирует в Word очень хорошо.

Ответ 6

Для полноты, вот еще один бесплатный вариант на основе веб-браузера: https://sequencediagram.org/

Вот их шаг (из "О"):

SequenceDiagram.org - это онлайн инструмент/программное обеспечение для создания UML Диаграммы последовательности.

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

Есть много инструментов диаграммы последовательности, но это единственный тот, который позволяет вам:

∙Script using a simple text notation when it is most convenient to do so, and
∙Draw the sequence diagram using your mouse at the same time when that is most convenient

Другими словами, принося лучшее из обоих миров. Это делает это очень легко работать с большими диаграммами, где другие подобные инструменты борются. Там также нет рекламы или ненужных отвлекающих элементов.

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

Если у вас есть какие-либо вопросы/комментарии/предложения/ошибки, пожалуйста, свяжитесь с [email protected] Чем больше отзывов мы получаем, тем лучше можем расставлять приоритеты.

Ответ 7

ZenUML бесплатный и онлайн. Он имеет странную функцию, которая позволяет стилизовать диаграмму с помощью любого кода CSS.

enter image description here

Чтобы получить приведенную выше диаграмму, просто в редакторе DSL поставьте

Client->Server:SYN

и сотвори волшебство в редакторе CSS, поставив

div[signature="SYN"]>div.message {
  transform: rotate(10deg)
}