Menu

Support for Signals?

2014-08-19
2014-08-22
  • Jason Weida

    Jason Weida - 2014-08-19

    First of all, what a great tool you have written and provided. Thank you!

    I believe I read somewhere on your wiki that you did not find use for signals so they are not included in the tool. I use mscgen regularly, and it's support of the '->*' signal arrow is very useful when modelling systems which support signals (i.e. clients can subscribe to signals they are interested in). In my case, I use the tool to model interactions of a DBUS based system. I ask you to consider adding this functionality to the tool, as it is supported in mscgen. Code from mscgen which contains this directive is not compatible with msc-generator.

    Again, thanks for the tool.

     
  • Zoltán Turányi

    Hi Jason,

    Thank you for using Msc-generator and sorry for coming back this late.

    I have checked out what you describe. ->* symbols in mscgen seem to do two things. 1) they result in a certain arrowhead (just one line) and 2) the arrow stops at all entities. Which behaviour is important to you?

    Msc-generator supports this kind of arrowhead via the [arrow.type=half] attribute. Just add it to any arrow and you will get the desired effect. There is no direct support for the "message to all entities" feature right now. You need to list all the entities, manuall at every arrow, like:

    a, b, c, d, e, f;
    a->b->c->d->e->f [arrow.type=half]: label;

    (Or you can abbreviate the above like below, if you want the same line type for all segments.)

    a, b, c, d, e, f;
    a->b-c-d-e-f [arrow.type=half]: label;

    Please let me know what you think.

    PS: There was never an intention to remain backward compatible with the language syntax of (the excellent) mscgen. (At first I was adding features at a much faster rate and now the philosophy seems different.) The '*' symbol in Msc-generator is used to indicate message loss, so it will never mean the broadcast message of mscgen.
    Compatibility is aimed only for the command-line options, so that tools integrated with mscgen (like Doxygen) can also use msc-gen (The command-line version of Msc-generator.)