| svgfile "workstation.svg"; |
| |
| event generate, transfer, exit; |
| |
| m1: Machine(1, 1.0, generate, transfer); |
| m2: Machine(2, 2.5, transfer, exit); |
| |
| automaton def Machine(alg int nr; alg real ptime; event start, done): |
| cont t der 1.0; |
| |
| location idle: |
| initial; |
| edge start do t := 0.0 goto processing; |
| |
| location processing: |
| edge when t >= ptime goto completed; |
| |
| location completed: |
| edge done goto idle; |
| |
| svgout id "m" + <string>nr + "_bar_front" attr "width" |
| value scale(if processing: t else ptime end, 0, ptime, 0, 130); |
| |
| svgout id "m" + <string>nr + "_bar_front" attr "fill" |
| value if idle : "gray" else "dodgerblue" end; |
| end |