| /*# |
| *# Copyright 2019, Data61, CSIRO (ABN 41 687 119 230) |
| *# |
| *# SPDX-License-Identifier: BSD-2-Clause |
| #*/ |
| |
| digraph { |
| /*- for i in composition.instances -*/ |
| "/*? i.name ?*/" [label="/*? i.name ?*/::/*? i.type.name ?*/", shape=box,style=rounded]; |
| /*- endfor -*/ |
| |
| /*- for c in composition.connections -*/ |
| /*- if c.type.from_type == 'Procedure' -*/ |
| "/*? c.name ?*/" [shape=circle]; |
| /*- for f in c.from_ends -*/ |
| "/*? f.instance.name ?*/" -> "/*? c.name ?*/"; |
| /*- endfor -*/ |
| /*- for t in c.to_ends -*/ |
| "/*? c.name ?*/" -> "/*? t.instance.name ?*/"; |
| /*- endfor -*/ |
| /*- elif c.type.from_type == 'Event' -*/ |
| "/*? c.name ?*/" [shape=diamond]; |
| /*- for f in c.from_ends -*/ |
| "/*? f.instance.name ?*/" -> "/*? c.name ?*/"; |
| /*- endfor -*/ |
| /*- for t in c.to_ends -*/ |
| "/*? c.name ?*/" -> "/*? t.instance.name ?*/"; |
| /*- endfor -*/ |
| /*- elif c.type.from_type == 'Dataport' -*/ |
| /*- for f in c.from_ends -*/ |
| /*- for t in c.to_ends -*/ |
| "/*? f.instance.name ?*/" -> "/*? t.instance.name ?*/" [label="/*? c.name ?*/",dir=both,arrowhead=obox,arrowtail=obox]; |
| /*- endfor -*/ |
| /*- endfor -*/ |
| /*- else -*/ |
| /*- for f in c.from_ends -*/ |
| /*- for t in c.to_ends -*/ |
| "/*? f.instance.name ?*/" -> "/*? t.instance.name ?*/" [label="/*? c.name ?*/"]; |
| /*- endfor -*/ |
| /*- endfor -*/ |
| /*- endif -*/ |
| /*- endfor -*/ |
| } |