digraph structs { 
	
node [shape=record]; 
sourcecode [label=<
<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0">
  <TR> <TD BGCOLOR="gray" COLSPAN="4">Source code </TD> </TR>
  <TR>
	<TD>C++ FSM<BR/>C++ HSM<BR/>C++ State Charts<BR/>C++ BehaviorTree </TD>
  </TR>
</TABLE>>];
 
compilation [label=<
<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0">
  <TR> <TD BGCOLOR="gray" COLSPAN="1">Binary </TD> </TR>
  <TR>
	<TD>Support for ROS Diagnostic</TD>
  </TR>
</TABLE>>];

XML [label=<
<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0">
  <TR> <TD BGCOLOR="gray" COLSPAN="2">XML </TD> </TR>
  <TR>
	<TD>scxml<BR/>btxml</TD>
  </TR>
</TABLE>>];

DOT [label=<
<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0">
  <TR> <TD BGCOLOR="gray" COLSPAN="1">DOT </TD> </TR>
  <TR>
	<TD>Common graph description language</TD>
  </TR>
</TABLE>>];


Visualization [label=<
<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0">
  <TR> <TD BGCOLOR="gray" COLSPAN="1">Visualization</TD> </TR>
  <TR>
	<TD>rqt Plugin<BR/>Send events to Model</TD>
  </TR>
</TABLE>>];

Monitoring [label=<
<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0">
  <TR> <TD BGCOLOR="gray" COLSPAN="3">Monitoring</TD> </TR>
  <TR>
	<TD>ROS Monitoring</TD>
  </TR>
</TABLE>>];

Diagnostics [label=<
<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0">
  <TR> <TD BGCOLOR="gray" COLSPAN="3">Diagnostics</TD> </TR>
  <TR>
	<TD>ROS Diagnostics<BR/>Scriptable conditions</TD>
  </TR>
</TABLE>>];


sourcecode -> XML [label="C++ parser"]; 
sourcecode -> compilation [label="gcc"]; 
compilation -> Visualization [label="Monitoring Messages"]; 
compilation -> Monitoring [label="Monitoring Messages"]; 
Monitoring -> Diagnostics [label="Monitoring Messages"]; 
XML -> DOT [label="XML parser"]; 
DOT -> Visualization [label="DOT parser"];
Visualization -> compilation [label="events"];  
} 
