Design and Public API documentation completed.

The draw.io diagrams are in Gerrit. If the page is ever deleted, they
will be lost. They ae now saved in XML format in gerrit.

The design documentation links to the examples in github rather than
quoting them in the document. General tidy up and cleaning of links,
rewording, and reformatting of desgin document.

Added missing diagram to the Design document.

Updated and tidied up the internal PAP/PDP document.

General improvement of documentation.

Issue-ID: POLICY-1676
Change-Id: Ie5c9f32693f047beafe14a3e412a32cdf9ed6fde
Signed-off-by: liamfallon <liam.fallon@est.tech>
diff --git a/docs/architecture/draw.io/PolicyExecution.xml b/docs/architecture/draw.io/PolicyExecution.xml
new file mode 100644
index 0000000..1dbf4da
--- /dev/null
+++ b/docs/architecture/draw.io/PolicyExecution.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mxGraphModel dx="1395" dy="1208" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="1169" pageHeight="827" background="#ffffff" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="31" value="PDPGroup" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;strokeColor=#B8B8B8;" parent="1" vertex="1"><mxGeometry x="328" y="-80" width="120" height="310" as="geometry"/></mxCell><mxCell id="30" value="PDPGroup" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;strokeColor=#B8B8B8;" parent="1" vertex="1"><mxGeometry x="318" y="-90" width="120" height="310" as="geometry"/></mxCell><mxCell id="14" value="PDPGroup" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;strokeColor=#B8B8B8;" parent="1" vertex="1"><mxGeometry x="308" y="-100" width="120" height="310" as="geometry"/></mxCell><mxCell id="27" value="PDPSubGroup" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;strokeColor=#B8B8B8;" parent="1" vertex="1"><mxGeometry x="318" y="110" width="100" height="90" as="geometry"/></mxCell><mxCell id="21" value="PDPSubGroup" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;strokeColor=#B8B8B8;" parent="1" vertex="1"><mxGeometry x="318" y="-70" width="100" height="80" as="geometry"/></mxCell><mxCell id="11" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="328" y="-40" width="70" height="40" as="geometry"/></mxCell><mxCell id="4" value="PDP-X" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="11" vertex="1"><mxGeometry x="10" y="10" width="60" height="30" as="geometry"/></mxCell><mxCell id="6" value="PDP-X" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="11" vertex="1"><mxGeometry width="60" height="30" as="geometry"/></mxCell><mxCell id="13" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="323" y="140" width="80" height="50" as="geometry"/></mxCell><mxCell id="10" value="PDP-A" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="13" vertex="1"><mxGeometry x="20" y="20" width="60" height="30" as="geometry"/></mxCell><mxCell id="9" value="PDP-A" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="13" vertex="1"><mxGeometry x="10" y="10" width="60" height="30" as="geometry"/></mxCell><mxCell id="5" value="PDP-A" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="13" vertex="1"><mxGeometry width="60" height="30" as="geometry"/></mxCell><mxCell id="22" value="PDPSubGroup" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;strokeColor=#B8B8B8;" parent="1" vertex="1"><mxGeometry x="318" y="20" width="100" height="80" as="geometry"/></mxCell><mxCell id="23" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="328" y="45" width="80" height="50" as="geometry"/></mxCell><mxCell id="24" value="PDP-D" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="23" vertex="1"><mxGeometry x="20" y="20" width="60" height="30" as="geometry"/></mxCell><mxCell id="25" value="PDP-D" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="23" vertex="1"><mxGeometry x="10" y="10" width="60" height="30" as="geometry"/></mxCell><mxCell id="26" value="PDP-D" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="23" vertex="1"><mxGeometry width="60" height="30" as="geometry"/></mxCell><mxCell id="32" value="PolicyAdministration" style="html=1;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" parent="1" vertex="1"><mxGeometry x="-90" y="-10" width="140" height="30" as="geometry"/></mxCell><mxCell id="33" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="1" connectable="0" vertex="1"><mxGeometry x="10" y="491.5" as="geometry"/></mxCell><mxCell id="34" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="1" connectable="0" vertex="1"><mxGeometry x="-40" y="618.5" as="geometry"/></mxCell><mxCell id="37" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="1" connectable="0" vertex="1"><mxGeometry x="10" y="491.5" as="geometry"/></mxCell><mxCell id="39" value="DMaaP" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="120" y="180" width="100" height="30" as="geometry"/></mxCell><mxCell id="40" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#fff2cc;strokeColor=#d6b656;entryX=1;entryY=0.5;exitX=0;exitY=0.75;" parent="1" source="39" target="32" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="60" y="220" as="sourcePoint"/><mxPoint x="-10" y="-90" as="targetPoint"/><Array as="points"><mxPoint x="80" y="203"/><mxPoint x="80" y="5"/></Array></mxGeometry></mxCell><mxCell id="41" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="40" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="42" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;entryX=1;entryY=0.75;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" target="39" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="328" y="-20" as="sourcePoint"/><mxPoint x="128" y="516.5" as="targetPoint"/><Array as="points"><mxPoint x="270" y="-20"/><mxPoint x="270" y="203"/></Array></mxGeometry></mxCell><mxCell id="43" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="42" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="44" value="&lt;div&gt;AsyncCaller&lt;/div&gt;" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="-90" y="-55" width="140" height="30" as="geometry"/></mxCell><mxCell id="61" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0;exitY=0.75;fillColor=#fff2cc;strokeColor=#d6b656;entryX=1;entryY=0.75;" parent="1" source="5" target="39" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="338" y="-15" as="sourcePoint"/><mxPoint x="180" y="195" as="targetPoint"/><Array as="points"><mxPoint x="270" y="163"/><mxPoint x="270" y="203"/></Array></mxGeometry></mxCell><mxCell id="62" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="61" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="63" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0;exitY=0.75;entryX=1;entryY=0.75;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" source="26" target="39" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="348" y="-5" as="sourcePoint"/><mxPoint x="220" y="220" as="targetPoint"/><Array as="points"><mxPoint x="270" y="68"/><mxPoint x="270" y="203"/></Array></mxGeometry></mxCell><mxCell id="64" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="63" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="67" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#dae8fc;strokeColor=#6c8ebf;entryX=1;entryY=0.5;exitX=0;exitY=0.25;" parent="1" source="39" target="44" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="140" y="40" as="sourcePoint"/><mxPoint y="15" as="targetPoint"/><Array as="points"><mxPoint x="100" y="188"/><mxPoint x="100" y="-40"/></Array></mxGeometry></mxCell><mxCell id="68" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="67" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="69" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#dae8fc;strokeColor=#6c8ebf;exitX=1;exitY=0.25;" parent="1" source="39" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="98" y="198" as="sourcePoint"/><mxPoint x="328" y="-25" as="targetPoint"/><Array as="points"><mxPoint x="230" y="188"/><mxPoint x="230" y="-25"/></Array></mxGeometry></mxCell><mxCell id="70" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="69" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="71" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#dae8fc;strokeColor=#6c8ebf;exitX=1;exitY=0.25;" parent="1" source="39" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="108" y="208" as="sourcePoint"/><mxPoint x="328" y="60" as="targetPoint"/><Array as="points"><mxPoint x="230" y="188"/><mxPoint x="230" y="60"/></Array></mxGeometry></mxCell><mxCell id="72" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="71" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="73" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#dae8fc;strokeColor=#6c8ebf;exitX=1;exitY=0.25;" parent="1" source="39" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="190" y="190" as="sourcePoint"/><mxPoint x="323" y="155" as="targetPoint"/><Array as="points"><mxPoint x="230" y="188"/><mxPoint x="230" y="155"/></Array></mxGeometry></mxCell><mxCell id="74" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="73" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="77" value="SyncCaller" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="-90" y="-100" width="80" height="30" as="geometry"/></mxCell><mxCell id="80" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#cdeb8b;strokeColor=#97D077;exitX=1;exitY=0.5;entryX=0;entryY=0.25;" parent="1" source="77" target="6" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="198" y="198" as="sourcePoint"/><mxPoint x="320" y="-40" as="targetPoint"/><Array as="points"><mxPoint x="200" y="-80"/><mxPoint x="200" y="-32"/></Array></mxGeometry></mxCell><mxCell id="81" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="80" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="82" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#cdeb8b;strokeColor=#97D077;entryX=0;entryY=0.25;" parent="1" target="26" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="180" y="-80" as="sourcePoint"/><mxPoint x="338" y="-22" as="targetPoint"/><Array as="points"><mxPoint x="200" y="-80"/><mxPoint x="200" y="53"/></Array></mxGeometry></mxCell><mxCell id="83" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="82" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="84" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;fillColor=#cdeb8b;strokeColor=#97D077;entryX=0;entryY=0.25;exitX=1;exitY=0.5;" parent="1" source="77" target="5" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="200" y="-110" as="sourcePoint"/><mxPoint x="338" y="63" as="targetPoint"/><Array as="points"><mxPoint x="200" y="-80"/><mxPoint x="200" y="148"/></Array></mxGeometry></mxCell><mxCell id="85" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="84" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="86" value="Each PDP is deployed as a Kubernetes &lt;i&gt;&lt;b&gt;Pod&lt;/b&gt;&lt;/i&gt;" style="shape=note;whiteSpace=wrap;html=1;size=14;verticalAlign=top;align=left;spacingTop=-6;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"><mxGeometry x="500" width="110" height="50" as="geometry"/></mxCell><mxCell id="87" value="In Kubernetes, a PDPSubGroup is a Kubernetes &lt;b&gt;&lt;i&gt;Deployment&lt;/i&gt;&lt;/b&gt; " style="shape=note;whiteSpace=wrap;html=1;size=14;verticalAlign=top;align=left;spacingTop=-6;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1"><mxGeometry x="500" y="-100" width="130" height="60" as="geometry"/></mxCell><mxCell id="88" value="" style="endArrow=none;dashed=1;html=1;entryX=0;entryY=0.5;exitX=1;exitY=0.25;strokeColor=#97D077;" parent="1" source="21" target="87" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="-90" y="300" as="sourcePoint"/><mxPoint x="-40" y="250" as="targetPoint"/></mxGeometry></mxCell><mxCell id="89" value="" style="endArrow=none;dashed=1;html=1;entryX=0;entryY=0.5;exitX=1;exitY=0.75;strokeColor=#97D077;" parent="1" source="6" target="86" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="428" y="-40" as="sourcePoint"/><mxPoint x="510" y="-60" as="targetPoint"/></mxGeometry></mxCell></root></mxGraphModel>
\ No newline at end of file