| 12 | |
| 13 | An example of the syntax used: |
| 14 | |
| 15 | {{{ |
| 16 | {{{ |
| 17 | #!mscgen |
| 18 | msc { |
| 19 | hscale = "1"; |
| 20 | |
| 21 | a,b,c; |
| 22 | |
| 23 | a->b [ label = "ab()"]; |
| 24 | b->c [ label = "bc(TRUE)"]; |
| 25 | c=>c [ label = "process(1)"]; |
| 26 | c=>c [ label = "process(2)"]; |
| 27 | ...; |
| 28 | c=>c [ label = "process(n)"]; |
| 29 | c=>c [ label = "process(END)"]; |
| 30 | a<<=c [ label = "callback()"]; |
| 31 | --- [ label = "If more to run", ID="*" ]; |
| 32 | a->a [ label = "next()"]; |
| 33 | a->c [ label = "ac1()\nac2()"]; |
| 34 | b<-c [ label = "cb(TRUE)"]; |
| 35 | b->b [ label = "stalled(...)"]; |
| 36 | a<-b [ label = "ab() = FALSE"]; |
| 37 | } |
| 38 | |
| 39 | }}} |
| 40 | }}} |
41 | | == Example |
42 | | |
43 | | {{{ |
44 | | {{{ |
45 | | #!mscgen |
46 | | msc { |
47 | | hscale = "1"; |
48 | | |
49 | | a,b,c; |
50 | | |
51 | | a->b [ label = "ab()"]; |
52 | | b->c [ label = "bc(TRUE)"]; |
53 | | c=>c [ label = "process(1)"]; |
54 | | c=>c [ label = "process(2)"]; |
55 | | ...; |
56 | | c=>c [ label = "process(n)"]; |
57 | | c=>c [ label = "process(END)"]; |
58 | | a<<=c [ label = "callback()"]; |
59 | | --- [ label = "If more to run", ID="*" ]; |
60 | | a->a [ label = "next()"]; |
61 | | a->c [ label = "ac1()\nac2()"]; |
62 | | b<-c [ label = "cb(TRUE)"]; |
63 | | b->b [ label = "stalled(...)"]; |
64 | | a<-b [ label = "ab() = FALSE"]; |
65 | | } |
66 | | |
67 | | }}} |
68 | | }}} |
69 | | |