!include https://raw.githubusercontent.com/adrianvlupu/C4-PlantUML/latest/C4_Component.puml ' uncomment the following line and comment the first to use locally ' !include C4_Component.puml ' Scope: Interactions in an enterprise, software system or container. ' Primary and supporting elements: Depends on the diagram scope - ' enterprise - people and software systems Related to the enterprise in scope ' software system - see system context or container diagrams, ' container - see component diagram. ' Intended audience: Technical and non-technical people, inside and outside of the software development team. ' Dynamic diagram introduces (automatically) numbered interactions: ' SetIndex(): set the next index, ' GetIndex(): get the index and automatically increase index ' Index ' ################################## !$index=1 !function increment($step=1) !$index = $index + $step !endfunction !function setIndex($new_index) !$index=$new_index !endfunction ' Relationship override ' ################################## ' Relationship ' ################################## !unquoted function Rel_($e_index, $alias1, $alias2, $label, $direction="") $alias1 $direction $alias2 : **$e_index: $label** !endfunction !unquoted function Rel_($e_index, $alias1, $alias2, $label, $techn, $direction="") $alias1 $direction $alias2 : **$e_index: $label**\n//[$techn]// !endfunction !unquoted function Rel($from, $to, $label) Rel_($index, $from, $to, $label, "-->>") increment() !endfunction !unquoted function Rel($from, $to, $label, $techn) Rel_($index, $from, $to, $label, $techn, "-->>") increment() !endfunction !unquoted function RelIndex($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-->>") !endfunction !unquoted function RelIndex($e_index, $from, $to, $label, $tech) Rel_($e_index, $from, $to, $label, $tech, "-->>") !endfunction !unquoted function Rel_Back($from, $to, $label) Rel_($index, $from, $to, $label, "<<--") increment() !endfunction !unquoted function Rel_Back($from, $to, $label, $techn) Rel_($index, $from, $to, $label, $techn, "<<--") increment() !endfunction !unquoted function RelIndex_Back($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "<<--") !endfunction !unquoted function RelIndex_Back($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "<<--") !endfunction !unquoted function Rel_Neighbor($from, $to, $label) Rel_($index, $from, $to, $label, "->>") increment() !endfunction !unquoted function Rel_Neighbor($from, $to, $label, $techn) Rel_($index, $from, $to, $label, $techn, "->>") increment() !endfunction !unquoted function RelIndex_Neighbor($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "->>") !endfunction !unquoted function RelIndex_Neighbor($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "->>") !endfunction !unquoted function Rel_Back_Neighbor($from, $to, $label) Rel_($index, $from, $to, $label, "<<-") increment() !endfunction !unquoted function Rel_Back_Neighbor($from, $to, $label, $techn) Rel_($index, $from, $to, $label, $techn, "<<-") increment() !endfunction !unquoted function RelIndex_Back_Neighbor($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "<<-") !endfunction !unquoted function RelIndex_Back_Neighbor($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "<<-") !endfunction !unquoted function Rel_D($from, $to, $label) Rel_($index, $from, $to, $label, "-DOWN->>") increment() !endfunction !unquoted function Rel_D($from, $to, $label, $techn) Rel_($index, $from, $to, $label, $techn, "-DOWN->>") increment() !endfunction !unquoted function Rel_Down($from, $to, $label) Rel_($index, $from, $to, $label, "-DOWN->>") increment() !endfunction !unquoted function Rel_Down($from, $to, $label, $techn) Rel_($index, $from, $to, $label, $techn, "-DOWN->>") increment() !endfunction !unquoted function RelIndex_D($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-DOWN->>") !endfunction !unquoted function RelIndex_D($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-DOWN->>") !endfunction !unquoted function RelIndex_Down($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-DOWN->>") !endfunction !unquoted function RelIndex_Down($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-DOWN->>") !endfunction !unquoted function Rel_U($from, $to, $label) Rel_($index, $from, $to, $label, "-UP->>") increment() !endfunction !unquoted function Rel_U($from, $to, $label, $techn) Rel_($index, $from, $to, $label, $techn, "-UP->>") increment() !endfunction !unquoted function Rel_Up($from, $to, $label) Rel_($index, $from, $to, $label, "-UP->>") increment() !endfunction !unquoted function Rel_Up($from, $to, $label, $techn) Rel_($index, $from, $to, $label, $techn, "-UP->>") increment() !endfunction !unquoted function RelIndex_U($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-UP->>") !endfunction !unquoted function RelIndex_U($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-UP->>") !endfunction !unquoted function RelIndex_Up($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-UP->>") !endfunction !unquoted function RelIndex_Up($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-UP->>") !endfunction !unquoted function Rel_L($from, $to, $label) Rel_($index, $from, $to, $label, "-LEFT->>") increment() !endfunction !unquoted function Rel_L($from, $to, $label, $techn) Rel_($index, $from, $to, $label, $techn, "-LEFT->>") increment() !endfunction !unquoted function Rel_Left($from, $to, $label) Rel_($index, $from, $to, $label, "-LEFT->>") increment() !endfunction !unquoted function Rel_Left($from, $to, $label, $techn) Rel_($index, $from, $to, $label, $techn, "-LEFT->>") increment() !endfunction !unquoted function RelIndex_L($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-LEFT->>") !endfunction !unquoted function RelIndex_L($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-LEFT->>") !endfunction !unquoted function RelIndex_Left($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-LEFT->>") !endfunction !unquoted function RelIndex_Left($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-LEFT->>") !endfunction !unquoted function Rel_R($from, $to, $label) Rel_($index, $from, $to, $label, "-RIGHT->>") increment() !endfunction !unquoted function Rel_R($from, $to, $label, $techn) Rel_($index, $from, $to, $label, $techn, "-RIGHT->>") increment() !endfunction !unquoted function Rel_Right($from, $to, $label) Rel_($index, $from, $to, $label, "-RIGHT->>") increment() !endfunction !unquoted function Rel_Right($from, $to, $label, $techn) Rel_($index, $from, $to, $label, $techn, "-RIGHT->>") increment() !endfunction !unquoted function RelIndex_R($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-RIGHT->>") !endfunction !unquoted function RelIndex_R($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-RIGHT->>") !endfunction !unquoted function RelIndex_Right($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-RIGHT->>") !endfunction !unquoted function RelIndex_Right($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-RIGHT->>") !endfunction