' Colors ' ################################## !define PERSON_BG_COLOR #08427B !define CONTAINER_BG_COLOR #438DD5 !define EXTERNAL_SYSTEM_BG_COLOR #999999 !define SYSTEM_BG_COLOR #1168BD !define COMPONENT_BG_COLOR #85BBF0 !define ELEMENT_FONT_COLOR #FFFFFF ' Styling ' ################################## !define TECHN_FONT_SIZE 12 skinparam defaultTextAlignment center skinparam wrapWidth 200 skinparam maxMessageSize 150 skinparam rectangle { StereotypeFontSize 12 } skinparam Arrow { Color #666666 FontColor #666666 FontSize 12 } skinparam rectangle<> { StereotypeFontColor ELEMENT_FONT_COLOR FontColor ELEMENT_FONT_COLOR BackgroundColor PERSON_BG_COLOR BorderColor #073B6F } skinparam rectangle<> { StereotypeFontColor ELEMENT_FONT_COLOR FontColor ELEMENT_FONT_COLOR BackgroundColor CONTAINER_BG_COLOR BorderColor #3C7FC0 } skinparam rectangle<> { StereotypeFontColor ELEMENT_FONT_COLOR FontColor ELEMENT_FONT_COLOR BackgroundColor COMPONENT_BG_COLOR BorderColor #3C7FC0 } skinparam rectangle<> { StereotypeFontColor ELEMENT_FONT_COLOR FontColor ELEMENT_FONT_COLOR BackgroundColor SYSTEM_BG_COLOR BorderColor #3C7FC0 } skinparam rectangle<> { StereotypeFontColor ELEMENT_FONT_COLOR FontColor ELEMENT_FONT_COLOR BackgroundColor EXTERNAL_SYSTEM_BG_COLOR BorderColor #8A8A8A } skinparam package<> { StereotypeFontSize 0 FontColor #999999 BorderColor #cccccc } ' Layout ' ################################## !definelong LAYOUT_AS_SKETCH skinparam backgroundColor #EEEBDC skinparam handwritten true skinparam defaultFontName "Comic Sans MS" center footer Warning: Created for discussion, needs to be validated !enddefinelong !definelong LAYOUT_WITH_LEGEND hide stereotype legend right |= |= Type | | | person | | | system | | | external system | | | container | | | component | endlegend !enddefinelong !define LAYOUT_TOP_DOWN top to bottom direction !define LAYOUT_LEFT_RIGHT left to right direction ' Elements ' ################################## !define Person(e_alias, e_label) rectangle "==e_label" <> as e_alias !define Person(e_alias, e_label, e_descr) rectangle "==e_label\n\n e_descr" <> as e_alias !define Container(e_alias, e_label, e_techn) rectangle "==e_label\n//[e_techn]//" <> as e_alias !define Container(e_alias, e_label, e_techn, e_descr) rectangle "==e_label\n//[e_techn]//\n\n e_descr" <> as e_alias !define Component(e_alias, e_label, e_techn) rectangle "==e_label\n//[e_techn]//" <> as e_alias !define Component(e_alias, e_label, e_techn, e_descr) rectangle "==e_label\n//[e_techn]//\n\n e_descr" <> as e_alias !define System(e_alias, e_label) rectangle "==e_label" <> as e_alias !define System(e_alias, e_label, e_descr) rectangle "==e_label\n\n e_descr" <> as e_alias !define ExtSystem(e_alias, e_label) rectangle "==e_label" <> as e_alias !define ExtSystem(e_alias, e_label, e_descr) rectangle "==e_label\n\n e_descr" <> as e_alias ' Relationship ' ################################## !define Rel_(e_alias1, e_alias2, e_label, e_direction="") e_alias1 e_direction e_alias2 : "===e_label" !define Rel_(e_alias1, e_alias2, e_label, e_techn, e_direction="") e_alias1 e_direction e_alias2 : "===e_label\n//[e_techn]//" !define Rel(e_from,e_to, e_label) Rel_(e_from,e_to, e_label, "-->") !define Rel(e_from,e_to, e_label, e_techn) Rel_(e_from,e_to, e_label, e_techn, "-->") !define Rel_Back(e_to, e_from, e_label) Rel_(e_to, e_from, e_label, "<--") !define Rel_Back(e_to, e_from, e_label, e_techn) Rel_(e_to, e_from, e_label, e_techn, "<--") !define Rel_Neighbor(e_from,e_to, e_label) Rel_(e_from,e_to, e_label, "->") !define Rel_Neighbor(e_from,e_to, e_label, e_techn) Rel_(e_from,e_to, e_label, e_techn, "->") !define Rel_Back_Neighbor(e_to, e_from, e_label) Rel_(e_to, e_from, e_label, "<-") !define Rel_Back_Neighbor(e_to, e_from, e_label, e_techn) Rel_(e_to, e_from, e_label, e_techn, "<-") !define Rel_D(e_from,e_to, e_label) Rel_(e_from,e_to, e_label, "-DOWN->") !define Rel_D(e_from,e_to, e_label, e_techn) Rel_(e_from,e_to, e_label, e_techn, "-DOWN->") !define Rel_Down(e_from,e_to, e_label) Rel_D(e_from,e_to, e_label) !define Rel_Down(e_from,e_to, e_label, e_techn) Rel_D(e_from,e_to, e_label, e_techn) !define Rel_U(e_from,e_to, e_label) Rel_(e_from,e_to, e_label, "-UP->") !define Rel_U(e_from,e_to, e_label, e_techn) Rel_(e_from,e_to, e_label, e_techn, "-UP->") !define Rel_Up(e_from,e_to, e_label) Rel_U(e_from,e_to, e_label) !define Rel_Up(e_from,e_to, e_label, e_techn) Rel_U(e_from,e_to, e_label, e_techn) !define Rel_L(e_from,e_to, e_label) Rel_(e_from,e_to, e_label, "-LEFT->") !define Rel_L(e_from,e_to, e_label, e_techn) Rel_(e_from,e_to, e_label, e_techn, "-LEFT->") !define Rel_Left(e_from,e_to, e_label) Rel_L(e_from,e_to, e_label) !define Rel_Left(e_from,e_to, e_label, e_techn) Rel_L(e_from,e_to, e_label, e_techn) !define Rel_R(e_from,e_to, e_label) Rel_(e_from,e_to, e_label, "-RIGHT->") !define Rel_R(e_from,e_to, e_label, e_techn) Rel_(e_from,e_to, e_label, e_techn, "-RIGHT->") !define Rel_Right(e_from,e_to, e_label) Rel_R(e_from,e_to, e_label) !define Rel_Right(e_from,e_to, e_label, e_techn) Rel_R(e_from,e_to, e_label, e_techn) ' Layout Helpers ' ################################## !define Lay_D(e_from, e_to) e_from -[hidden]D- e_to !define Lay_U(e_from, e_to) e_from -[hidden]U- e_to !define Lay_R(e_from, e_to) e_from -[hidden]R- e_to !define Lay_L(e_from, e_to) e_from -[hidden]L- e_to