用于绘制协议序列图的工具

时间:2009-09-02 11:11:25

标签: protocols sequence-diagram

我正在寻找一种工具来绘制为滑动窗口协议发送的一系列数据包。有很多工具用于绘制带有水平线的消息序列图表,但我希望能够对角线绘制线条,就像这个图像的底部部分一样:

SYN,SYN+ACK,ACK example

请建议合适的工具。我很可能只对免费版本感兴趣,但如果你对商业广告有一个非常好的建议,你也可以包括它。

7 个答案:

答案 0 :(得分:29)

mscgen可以使用 arcgradient 选项执行此操作。这个片段将完全呈现您的示例的第二部分:

msc {
  arcgradient=20;

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

如果您复制粘贴此代码段在mscgen_js在线演示中,您会看到。

答案 1 :(得分:13)

我一直在使用websequencediagrams。基本上是mscgen的webapp版本,带有一些不同的花式渲染器。

enter image description here

Websequencediagrams还将其图表呈现作为脚本API公开。现在我将我的图表存储为HTML文件,将它们提交给git,显示不错的差异等等。即,

<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>

答案 2 :(得分:6)

对于其他有需要的人,有一个很酷的命令行工具mscgen

答案 3 :(得分:3)

您可以尝试umlet.com

善,

答案 4 :(得分:2)

我发现RFFlow启动非常快,学习快速且易于使用。它在斜坡上做诊断线和文本,适用于各种方块图。它保存为EMF和WMF以及GIF及其原生类型,并且非常好地复制到Word中。

答案 5 :(得分:1)

为了完整起见,这是另一个基于Web浏览器的免费选项:https://sequencediagram.org/

这是他们的音调(来自“关于”):

  

SequenceDiagram.org是用于创建uml的在线工具/软件   序列图。

     

解析和绘制图的所有处理均在客户端完成   在用户的Web浏览器中。这不仅使它变得活泼,   但这也意味着您的数据不会通过Internet传输   与其他许多时序图工具一样由于没有   使用后端服务器,也可以离线使用该工具。

     

有很多序列图工具,但这是唯一的   一种可以让您:

∙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%满意。

     

如果您有任何疑问/意见/建议/错误,请联系   info@sequencediagram.org。反馈越多,我们越能做到   优先排序。

答案 6 :(得分:1)

ZenUML是免费的并且在线。它具有奇怪功能,可让您使用任何CSS代码来设置图表样式。

enter image description here

要获得上图,只需在DSL编辑器中放

Client->Server:SYN

并通过放置

在CSS编辑器中发挥作用
div[signature="SYN"]>div.message {
  transform: rotate(10deg)
}