2009-09-02 6 views
18

Je cherche un outil pour dessiner une séquence de paquets envoyés pour un protocole de fenêtre glissante. Il existe de nombreux outils pour dessiner diagrammes de séquences de messages avec des lignes horizontales, mais je veux être en mesure de tracer les lignes en diagonale, comme la partie inférieure de cette image:Outil pour dessiner des diagrammes de séquence de protocole

SYN,SYN+ACK,ACK example http://i32.tinypic.com/2lazp1k.jpg

S'il vous plaît proposer des outils appropriés. Je suis très probablement uniquement intéressé par les gratuits, mais si vous avez une très bonne suggestion pour une publicité, vous pouvez inclure cela aussi bien.

Répondre

24

mscgen peut le faire, en utilisant l'option de arcgradient. Cet extrait wil rend la deuxième partie de votre exemple exactement:

msc { 
    arcgradient=20; 

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

Si vous copiez collez ce bout dans la mscgen_js sur la ligne de démonstration, vous verrez.

+0

Excellent, juste ce que je voulais. – hlovdal

+0

Le lien ici est maintenant très obsolète - il a la version 0.2 de la ligne de commande mscgen, qui manque de nombreuses fonctionnalités. Il y a aussi une version GUI pour construire des diagrammes sur SourceForge. – Jason

+1

fwiw: - La dernière version de mscgen est 0.20; - mscgen_js (l'autre lien) est toujours en vie. – Sander

2

Je trouve RFFlow être très rapide à démarrer, rapide à apprendre et facile à utiliser. Il fait des lignes diagnonales et du texte sur les pentes, et est bon pour les diagrammes en bloc de toutes sortes. Il enregistre comme EMF et WMF ainsi que GIF et son type natif, et copie-colle dans Word très bien.

6

Pour tous ceux qui en ont besoin, il existe un outil de ligne de commande cool mscgen.

10

J'ai utilisé websequencediagrams. Essentiellement une version webapp de mscgen avec quelques différents moteurs de rendu.

enter image description here

Websequencediagrams expose également leur rendu graphique comme une API de script. Maintenant, je stocke mes diagrammes sous forme de fichiers HTML, les engager à git, montrer diffs belles, etc. à savoir,

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

C'est un outil sympa - connaissez-vous un outil similaire pour visualiser des événements sur une échelle de temps - Je pensais à visualiser quand différents fils commencent et s'arrêtent les uns par rapport aux autres sur un simple tableau de séquence. J'avais l'habitude de simplement enregistrer l'heure dans un fichier journal, puis d'importer dans Excel et de l'afficher dans un graphique. Cependant, si je pouvais trouver un outil comme celui-ci, ce serait beaucoup plus facile – serup

+1

Je ne connais pas d'outil comme ça mais c'est une bonne idée d'ajouter du temps surtout pour visualiser le filetage. Il existe d'autres outils de diagramme de séquence répertoriés sur cette autre question: http://stackoverflow.com/questions/6364672/drawing-sequence-diagrams. Mais je les ai brièvement survolés et il ne semble pas qu'ils incluent le temps. –

Questions connexes