# task_IP_configuration.dot
#
# N.B.  Although dot(1) doesn't care (much) about white space,
#       bin/idf_d2d DOES.  So, check before editing...
#
# Written by Rich Morin <rdm@slac.stanford.edu>

digraph G {
  label="\nCommand forwarding to LAT\nConfiguration Mode (Composite)\n"
  margin="0.1"
  node[ fontname="Arial", fontsize="10" ];
  rankdir="LR";
  ranksep="0.2";

  { rank=same;
    IPM          [ style="bold,filled",
		   shape="ellipse",       label="IP\nMaster",
                   URL="#",
                   tooltip="Instrument Physics Master task"          ];

    IPM_command  [ style="solid",
		   shape="box",           label="Command",
                   URL="#",
                   tooltip="received Command"                        ];

    SC           [ style="solid",
		   shape="doubleoctagon", label="Spacecraft",
                   URL="#",
                   tooltip="Spacecraft"                              ];
  }

  { rank=same;
    IPM_config   [ style="solid,filled",
		   shape="box",           label="Configuration\n data",
                   URL="#",
                   tooltip="Configuration data"                      ];

    LI           [ style="solid,filled",
		   shape="doubleoctagon", label="LAT\nInstrument",
                   URL="#",
                   tooltip="LAT Instrument"                          ];
  }

    IPS          [ style="solid",
		   shape="ellipse",       label="IP\nSlaves",
                   URL="#",
                   tooltip="Instrument Physics Slave tasks"          ];

    IPS_command  [ style="solid",
		   shape="box",           label="Command",
                   URL="#",
                   tooltip="forwarded Command"                       ];

    LI_command   [ style="solid,filled",
		   shape="box",           label="Command",
                   URL="#",
                   tooltip="forwarded Command"                       ];

  IPM          -> IPS_command	[ style="solid" ];
  IPM          -> LI_command	[ style="solid" ];
  IPM_command  -> IPM		[ style="solid" ];
  IPM_config   -> IPM		[ style="bold" ];
  IPS_command  -> IPS		[ style="solid" ];
  LI           -> IPM_config	[ style="solid" ];
  LI_command   -> LI		[ style="solid" ];
  SC           -> IPM_command	[ style="solid" ];
}
