mscgenjs-core
mscgenjs-core copied to clipboard
(notes for introducing activation columns)
a basic scenario
Handling proper arrow endings properly
Handling colors
Integrating ...
Re-activation?
Activation on self reference?
TODO
some pseudo code
// pEntity state machine:
initial -> inactive;
inactive -> activated : activate; // WHERE?
activated -> active : initial activation rendered; // HERE
active -> deactivated: deactivate; // WHERE?
deactivated -> inactive : deactivation rendered; //HERE
/* switch (pEntity.state) {
case 'activated':
render activation line top
pEntity.state = 'active';
break;
case 'active':
render activation line continuation
break;
case 'deactivated':
render activation line bottom
pEntity.state = 'inactive'
break;
}
*/
auto activation scenarios
msc {
a, b, c [label=" ", linecolor=transparent, arclinecolor=lightgrey];
a =>> b [label="hello"],
c .. b [label="activate"];
b >> a,
c .. b [label="deactivate"];
...;
a =>> b [label="hello too"],
c .. b [label="activate"];
b >> a;
b >> a,
c .. b [label="deactivate"];
...;
a =>> b [label="hello again"],
c .. b [label="activate (I)"];
a =>> b [label="hello again"],
c .. b [label="activate (again - II)"];
b >> a,
c .. b [label="deactivate (II)"];
b >> a,
c .. b [label="deactivate (I)"];
...;
a =>> b [label="hello again"],
c .. b [label="activate (I)"];
b =>> b [label="hello me"],
c .. b [label="activate and\ndeactivate (II)", textbgcolor="transparent"];
b >> a,
c .. b [label="deactivate (I)"];
}