现在的位置: 首页 > 综合 > 正文

介绍seqChart工具

2018年03月15日 ⁄ 综合 ⁄ 共 7362字 ⁄ 字号 评论关闭

搞通信的经常需要画消息序列图(Message Sequence Chart, MSC)。Windows下的VisioLinux下的Dia能够画很好的MSC。但有时为了方便想画纯字符的MSC。我曾经用Python写过一个简单的工具来帮助实现这样的功能,工具的名字叫seqChart

 

下图就是seqChart画的图(请用等宽字符字体察看,Monospaced
Font
)。                     

                                                      

              

                                                      

下面就是生成此图用到的命令

                          

 

把命令序列保存为文件,然后执行下面的命令,即可生成图到文件中。

seqChart.py seqChart.input > seqChart.output

 

seqChart共有4条命令SNDRCVSTATELST,其中RCVSND只是参数的顺序不同,可互换。发送接收消息的实体定义为ProcessProcess的数量可以是无限多。Process在图上出现的顺序即命令出现的顺序。命令的参数个数是固定的必备的。SNDRCVSTATE都是自解释的。LST不参与画图,只用来察看当前的命令序列产生的中间状态。

 

4条命令的格式为

SND from-process to-process message

RCV dest-process from-process message

STATE process a-state

LST

 

为追求简单,seqChart没有考虑异常处理。

 

附代码:

抱歉!评论已关闭.