!include https://raw.githubusercontent.com/kirchsth/C4-PlantUML/extended/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: ' (lowercase) increment($offset=1): increase current index (procedure which has no direct output) ' (lowercase) setIndex($new_index): set the new index (procedure which has no direct output) ' ' (Uppercase) LastIndex(): return the last used index (function which can be used as argument) ' (Uppercase) Index($offset=1): returns current index and calculates next index (function which can be used as argument) ' (Uppercase) SetIndex($new_index): returns new set index and calculates next index (function which can be used as argument) ' Index ' ################################## !$lastIndex = 0 !$index = 1 !procedure increment($offset=1) !$lastIndex = $index !$index = $index + $offset !endprocedure !procedure setIndex($new_index) !$lastIndex = $index !$index= $new_index !endprocedure !function Index($offset=1) !$lastIndex = $index !$index = $lastIndex + $offset !return $lastIndex !endfunction !function LastIndex() !return $lastIndex !endfunction !function SetIndex($new_index, $offset=1) !$lastIndex = $new_index !$index = $new_index + $offset !return $lastIndex !endfunction ' Relationship override ' ################################## ' Relationship ' ################################## !unquoted procedure Rel_($e_index, $alias1, $alias2, $label, $direction="") $alias1 $direction $alias2 : **$e_index: $label** !endprocedure !unquoted procedure Rel_($e_index, $alias1, $alias2, $label, $techn, $direction="") $alias1 $direction $alias2 : **$e_index: $label**\n//[$techn]// !endprocedure !unquoted procedure Rel($from, $to, $label) Rel_(Index(), $from, $to, $label, "-->>") !endprocedure !unquoted procedure Rel($from, $to, $label, $techn) Rel_(Index(), $from, $to, $label, $techn, "-->>") !endprocedure !unquoted procedure RelIndex($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-->>") !endprocedure !unquoted procedure RelIndex($e_index, $from, $to, $label, $tech) Rel_($e_index, $from, $to, $label, $tech, "-->>") !endprocedure !unquoted procedure Rel_Back($from, $to, $label) Rel_(Index(), $from, $to, $label, "<<--") !endprocedure !unquoted procedure Rel_Back($from, $to, $label, $techn) Rel_(Index(), $from, $to, $label, $techn, "<<--") !endprocedure !unquoted procedure RelIndex_Back($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "<<--") !endprocedure !unquoted procedure RelIndex_Back($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "<<--") !endprocedure !unquoted procedure Rel_Neighbor($from, $to, $label) Rel_(Index(), $from, $to, $label, "->>") !endprocedure !unquoted procedure Rel_Neighbor($from, $to, $label, $techn) Rel_(Index(), $from, $to, $label, $techn, "->>") !endprocedure !unquoted procedure RelIndex_Neighbor($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "->>") !endprocedure !unquoted procedure RelIndex_Neighbor($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "->>") !endprocedure !unquoted procedure Rel_Back_Neighbor($from, $to, $label) Rel_(Index(), $from, $to, $label, "<<-") !endprocedure !unquoted procedure Rel_Back_Neighbor($from, $to, $label, $techn) Rel_(Index(), $from, $to, $label, $techn, "<<-") !endprocedure !unquoted procedure RelIndex_Back_Neighbor($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "<<-") !endprocedure !unquoted procedure RelIndex_Back_Neighbor($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "<<-") !endprocedure !unquoted procedure Rel_D($from, $to, $label) Rel_(Index(), $from, $to, $label, "-DOWN->>") !endprocedure !unquoted procedure Rel_D($from, $to, $label, $techn) Rel_(Index(), $from, $to, $label, $techn, "-DOWN->>") !endprocedure !unquoted procedure Rel_Down($from, $to, $label) Rel_(Index(), $from, $to, $label, "-DOWN->>") !endprocedure !unquoted procedure Rel_Down($from, $to, $label, $techn) Rel_(Index(), $from, $to, $label, $techn, "-DOWN->>") !endprocedure !unquoted procedure RelIndex_D($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-DOWN->>") !endprocedure !unquoted procedure RelIndex_D($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-DOWN->>") !endprocedure !unquoted procedure RelIndex_Down($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-DOWN->>") !endprocedure !unquoted procedure RelIndex_Down($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-DOWN->>") !endprocedure !unquoted procedure Rel_U($from, $to, $label) Rel_(Index(), $from, $to, $label, "-UP->>") !endprocedure !unquoted procedure Rel_U($from, $to, $label, $techn) Rel_(Index(), $from, $to, $label, $techn, "-UP->>") !endprocedure !unquoted procedure Rel_Up($from, $to, $label) Rel_(Index(), $from, $to, $label, "-UP->>") !endprocedure !unquoted procedure Rel_Up($from, $to, $label, $techn) Rel_(Index(), $from, $to, $label, $techn, "-UP->>") !endprocedure !unquoted procedure RelIndex_U($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-UP->>") !endprocedure !unquoted procedure RelIndex_U($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-UP->>") !endprocedure !unquoted procedure RelIndex_Up($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-UP->>") !endprocedure !unquoted procedure RelIndex_Up($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-UP->>") !endprocedure !unquoted procedure Rel_L($from, $to, $label) Rel_(Index(), $from, $to, $label, "-LEFT->>") !endprocedure !unquoted procedure Rel_L($from, $to, $label, $techn) Rel_(Index(), $from, $to, $label, $techn, "-LEFT->>") !endprocedure !unquoted procedure Rel_Left($from, $to, $label) Rel_(Index(), $from, $to, $label, "-LEFT->>") !endprocedure !unquoted procedure Rel_Left($from, $to, $label, $techn) Rel_(Index(), $from, $to, $label, $techn, "-LEFT->>") !endprocedure !unquoted procedure RelIndex_L($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-LEFT->>") !endprocedure !unquoted procedure RelIndex_L($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-LEFT->>") !endprocedure !unquoted procedure RelIndex_Left($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-LEFT->>") !endprocedure !unquoted procedure RelIndex_Left($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-LEFT->>") !endprocedure !unquoted procedure Rel_R($from, $to, $label) Rel_(Index(), $from, $to, $label, "-RIGHT->>") !endprocedure !unquoted procedure Rel_R($from, $to, $label, $techn) Rel_(Index(), $from, $to, $label, $techn, "-RIGHT->>") !endprocedure !unquoted procedure Rel_Right($from, $to, $label) Rel_(Index(), $from, $to, $label, "-RIGHT->>") !endprocedure !unquoted procedure Rel_Right($from, $to, $label, $techn) Rel_(Index(), $from, $to, $label, $techn, "-RIGHT->>") !endprocedure !unquoted procedure RelIndex_R($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-RIGHT->>") !endprocedure !unquoted procedure RelIndex_R($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-RIGHT->>") !endprocedure !unquoted procedure RelIndex_Right($e_index, $from, $to, $label) Rel_($e_index, $from, $to, $label, "-RIGHT->>") !endprocedure !unquoted procedure RelIndex_Right($e_index, $from, $to, $label, $techn) Rel_($e_index, $from, $to, $label, $techn, "-RIGHT->>") !endprocedure