' OTP_Sequence, version 0.1.0 ' https://github.com/joaohf/OTP-PlantUML ' Colors ' ################################# !define ELEMENT_FONT_COLOR #FFFFFF !define SUPERVISOR_BG_COLOR #438DD5 !define WORKER_BG_COLOR #08427B ' Styling ' ################################# !define TECHN_FONT_SIZE 12 skinparam defaultTextAlignment center skinparam participant<> { StereotypeFontColor ELEMENT_FONT_COLOR FontColor ELEMENT_FONT_COLOR BackgroundColor SUPERVISOR_BG_COLOR BorderColor #3C7FC0 } skinparam participant { StereotypeFontColor ELEMENT_FONT_COLOR FontColor ELEMENT_FONT_COLOR BackgroundColor WORKER_BG_COLOR BorderColor #073B6F } hide footbox ' Layout ' ################################# ' Supervisor ' ################################# !define Supervisor(e_alias, e_label) participant "e_label" <> as e_alias !define Supervisor(e_alias, e_label, e_behaviour) participant "e_label" as e_alias << e_behaviour >> ' Worker ' ################################# !define Worker(e_alias, e_label) participant "e_label" <> as e_alias !define Worker(e_alias, e_label, e_behaviour) participant "e_label" as e_alias << e_behaviour >> ' Servers ' ################################# !define Process(e_alias, e_label) Worker(e_alias, e_label, "process") !define GenServer(e_alias, e_label) Worker(e_alias, e_label, "gen_server") !define GenEvent(e_alias, e_label) Worker(e_alias, e_label, "gen_event") !define GenStatem(e_alias, e_label) Worker(e_alias, e_label, "gen_statem") !define Agent(e_alias, e_label) Worker(e_alias, e_label, "Agent") !define Task(e_alias, e_label) Worker(e_alias, e_label, "Task") !define Registry(e_alias, e_label) Worker(e_alias, e_label, "Registry") ' Relations ' ################################# !define msg(e_alias1, e_alias2, e_message, e_direction="") e_alias1 e_direction e_alias2 : e_message !define msg(e_alias1, e_alias2, e_message) msg(e_alias1, e_alias2, e_message, "->>") !define info(e_alias1, e_alias2, e_message) msg(e_alias1, e_alias2, e_message, "->>") !define cast(e_alias1, e_alias2, e_message) msg(e_alias1, e_alias2, e_message, "->>") !define call_return(e_from, e_to, e_message) msg(e_from, e_to, e_message, "-->") !define call(e_from, e_to, e_message) msg(e_from, e_to, e_message, "->") !definelong call(e_from, e_to, e_message, e_reply) msg(e_from, e_to, e_message, "->") call_return(e_to, e_from, e_reply) !enddefinelong