cirosantilli/graphviz/html_uml.dot

graphviz/html_uml.dot
// https://stackoverflow.com/questions/38806374/marking-labeling-node-edge-connection-points-with-graphviz/74795871#74795871
digraph structs {
    node [shape=plaintext]
    house [label=<
<table border="0" cellborder="1" cellspacing="0">
  <th><td><b>House</b></td></th>
  <tr><td port="cw">Clean water</td></tr>
  <tr><td port="dw">Dirty water</td></tr>
</table>>];
    street [label=<
<table border="0" cellborder="1" cellspacing="0">
  <th><td><b>Street</b></td></th>
  <tr><td port="cw">Clean water</td></tr>
  <tr><td port="dw">Dirty water</td></tr>
</table>>];
    street:cw -> house:cw;
    house:dw -> street:dw;
}