summaryrefslogtreecommitdiffstats
path: root/docs/architecture/draw.io/ClassStructure.xml
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@est.tech>2019-05-30 20:53:05 +0000
committerliamfallon <liam.fallon@est.tech>2019-05-30 20:53:05 +0000
commit4d1d9830d51d3df59cadaa0ac9c9b004f2cb0d17 (patch)
tree03289df64c007f8cf47680963eec4e5ff266770e /docs/architecture/draw.io/ClassStructure.xml
parentd0055e3089d11d1667fea55d615bfcabfd5e401c (diff)
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>
Diffstat (limited to 'docs/architecture/draw.io/ClassStructure.xml')
-rw-r--r--docs/architecture/draw.io/ClassStructure.xml2
1 files changed, 2 insertions, 0 deletions
diff --git a/docs/architecture/draw.io/ClassStructure.xml b/docs/architecture/draw.io/ClassStructure.xml
new file mode 100644
index 00000000..9619a8e2
--- /dev/null
+++ b/docs/architecture/draw.io/ClassStructure.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mxGraphModel dx="1395" dy="808" 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="36" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;MicroService&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="520" y="170" width="100" height="65" as="geometry"/></mxCell><mxCell id="3" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;PDPGroup&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="180" y="80" width="140" height="60" as="geometry"/></mxCell><mxCell id="5" value="" style="endArrow=open;html=1;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=1;" parent="1" source="3" target="8" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="20" y="100" as="sourcePoint"/><mxPoint x="150" y="340" as="targetPoint"/></mxGeometry></mxCell><mxCell id="6" value="1" style="resizable=0;html=1;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="5" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="10" as="offset"/></mxGeometry></mxCell><mxCell id="7" value="1..n" style="resizable=0;html=1;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="5" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"><mxPoint x="30" y="-40" as="offset"/></mxGeometry></mxCell><mxCell id="8" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;PDPSubGroup&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="400" y="265" width="110" height="60" as="geometry"/></mxCell><mxCell id="9" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;PDP&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="430" y="400" width="50" height="60" as="geometry"/></mxCell><mxCell id="10" value="" style="endArrow=open;html=1;endSize=12;startArrow=diamondThin;startSize=14;startFill=1;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" parent="1" source="8" target="9" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="100" y="90" as="sourcePoint"/><mxPoint x="460" y="240" as="targetPoint"/></mxGeometry></mxCell><mxCell id="11" value="1" style="resizable=0;html=1;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="10" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="10" as="offset"/></mxGeometry></mxCell><mxCell id="12" value="1..n" style="resizable=0;html=1;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="10" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"><mxPoint x="30" y="-40" as="offset"/></mxGeometry></mxCell><mxCell id="13" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;&amp;lt;&amp;lt;enumeration&amp;gt;&amp;gt;&lt;br&gt;PDPType&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;PDP-X&lt;br&gt;&lt;div style=&quot;height: 2px&quot;&gt;PDP-D&lt;br&gt;PDP-A&lt;br&gt;&lt;/div&gt;" style="verticalAlign=top;align=center;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="175" y="265" width="140" height="90" as="geometry"/></mxCell><mxCell id="14" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;entryX=1;entryY=0.5;exitX=0;exitY=0.25;" parent="1" source="8" target="13" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="-10" y="470" as="sourcePoint"/><mxPoint x="150" y="470" as="targetPoint"/></mxGeometry></mxCell><mxCell id="15" value="1" style="resizable=0;html=1;align=left;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="14" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="-20" y="-5" as="offset"/></mxGeometry></mxCell><mxCell id="16" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="14" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="17" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;PDP-X&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="360" y="510" width="50" height="60" as="geometry"/></mxCell><mxCell id="18" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;PDP-D&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="430" y="510" width="50" height="60" as="geometry"/></mxCell><mxCell id="19" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;PDP-A&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="490" y="510" width="60" height="60" as="geometry"/></mxCell><mxCell id="20" value="" style="endArrow=block;endSize=8;endFill=0;html=1;entryX=0.5;entryY=1;exitX=0.5;exitY=0;" parent="1" source="17" target="9" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="-20" y="590" as="sourcePoint"/><mxPoint x="140" y="590" as="targetPoint"/></mxGeometry></mxCell><mxCell id="21" value="" style="endArrow=block;endSize=8;endFill=0;html=1;exitX=0.5;exitY=0;entryX=0.5;entryY=1;" parent="1" source="18" target="9" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="395" y="520" as="sourcePoint"/><mxPoint x="450" y="410" as="targetPoint"/></mxGeometry></mxCell><mxCell id="22" value="" style="endArrow=block;endSize=8;endFill=0;html=1;exitX=0.5;exitY=0;entryX=0.5;entryY=1;" parent="1" source="19" target="9" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="465" y="520" as="sourcePoint"/><mxPoint x="520" y="460" as="targetPoint"/></mxGeometry></mxCell><mxCell id="24" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;Kubernetes&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="385" y="95" width="100" height="30" as="geometry"/></mxCell><mxCell id="39" value="manages" style="endArrow=open;html=1;endSize=12;startArrow=none;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;exitX=1;exitY=0.5;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitDx=0;exitDy=0;" parent="1" source="24" target="36" edge="1"><mxGeometry x="0.0345" y="-20" relative="1" as="geometry"><mxPoint x="580" y="165" as="sourcePoint"/><mxPoint x="500" y="200" as="targetPoint"/><mxPoint as="offset"/><Array as="points"><mxPoint x="570" y="110"/></Array></mxGeometry></mxCell><mxCell id="40" value="" style="resizable=0;html=1;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="39" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"/></mxCell><mxCell id="41" value="&lt;div&gt;0..n&lt;/div&gt;" style="resizable=0;html=1;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="39" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"><mxPoint y="-30" as="offset"/></mxGeometry></mxCell><mxCell id="42" value="" style="endArrow=block;endSize=8;endFill=0;html=1;entryX=0.25;entryY=1;exitX=0.75;exitY=0;" parent="1" source="8" target="36" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="395" y="520" as="sourcePoint"/><mxPoint x="465" y="470" as="targetPoint"/></mxGeometry></mxCell><mxCell id="49" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;PolicyImpl&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="15" y="400" width="85" height="60" as="geometry"/></mxCell><mxCell id="50" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;XACMLPolicyImpl&lt;br&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-155" y="510" width="135" height="60" as="geometry"/></mxCell><mxCell id="51" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;DroolsPolicyImpl&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-5" y="510" width="120" height="60" as="geometry"/></mxCell><mxCell id="52" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;ApexPolicyImpl&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="130" y="510" width="115" height="60" as="geometry"/></mxCell><mxCell id="53" value="" style="endArrow=block;endSize=8;endFill=0;html=1;entryX=0.5;entryY=1;exitX=0.5;exitY=0;strokeWidth=1;" parent="1" source="50" target="49" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="-365" y="590" as="sourcePoint"/><mxPoint x="-205" y="590" as="targetPoint"/></mxGeometry></mxCell><mxCell id="54" value="" style="endArrow=block;endSize=8;endFill=0;html=1;exitX=0.5;exitY=0;entryX=0.5;entryY=1;strokeWidth=1;" parent="1" source="51" target="49" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="50" y="520" as="sourcePoint"/><mxPoint x="105" y="410" as="targetPoint"/></mxGeometry></mxCell><mxCell id="55" value="" style="endArrow=block;endSize=8;endFill=0;html=1;exitX=0.5;exitY=0;entryX=0.5;entryY=1;" parent="1" source="52" target="49" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="120" y="520" as="sourcePoint"/><mxPoint x="175" y="460" as="targetPoint"/></mxGeometry></mxCell><mxCell id="56" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;entryX=0;entryY=0.5;exitX=1;exitY=0.25;" parent="1" source="49" target="13" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="410" y="290" as="sourcePoint"/><mxPoint x="320" y="355" as="targetPoint"/></mxGeometry></mxCell><mxCell id="57" value="1" style="resizable=0;html=1;align=left;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="56" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="10" y="15" as="offset"/></mxGeometry></mxCell><mxCell id="58" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="56" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="60" value="executes" style="endArrow=open;html=1;endSize=12;startArrow=none;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;entryX=1;entryY=0.75;exitX=0;exitY=0.25;" parent="1" source="9" target="49" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="350" y="420" as="sourcePoint"/><mxPoint x="190" y="460" as="targetPoint"/></mxGeometry></mxCell><mxCell id="61" value="" style="resizable=0;html=1;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="60" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"/></mxCell><mxCell id="62" value="&lt;div&gt;0..n&lt;/div&gt;" style="resizable=0;html=1;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="60" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"><mxPoint x="30" y="-6" as="offset"/></mxGeometry></mxCell><mxCell id="79" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;PolicySet&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-40" y="160" width="80" height="60" as="geometry"/></mxCell><mxCell id="83" value="executes" style="endArrow=openThin;html=1;endSize=12;startArrow=none;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;strokeWidth=1;exitX=0;exitY=0.5;entryX=1;entryY=0.25;endFill=0;" parent="1" source="3" target="79" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="-170" y="90" as="sourcePoint"/><mxPoint x="-270" y="180" as="targetPoint"/></mxGeometry></mxCell><mxCell id="84" value="1" style="resizable=0;html=1;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="83" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="-30" as="offset"/></mxGeometry></mxCell><mxCell id="85" value="1" style="resizable=0;html=1;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="83" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"><mxPoint x="20" y="2.5" as="offset"/></mxGeometry></mxCell><mxCell id="86" value="" style="endArrow=open;html=1;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" parent="1" source="79" target="49" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="260" y="150" as="sourcePoint"/><mxPoint x="465" y="275" as="targetPoint"/><Array as="points"><mxPoint y="330"/><mxPoint x="58" y="330"/></Array></mxGeometry></mxCell><mxCell id="87" value="1" style="resizable=0;html=1;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="86" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="10" as="offset"/></mxGeometry></mxCell><mxCell id="88" value="1..n" style="resizable=0;html=1;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="86" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"><mxPoint x="30" y="-40" as="offset"/></mxGeometry></mxCell><mxCell id="91" value="All the PDPs in a given PDPSubGroup instance must be of the same type" 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="530" y="330" width="160" height="50" as="geometry"/></mxCell><mxCell id="93" value="" style="endArrow=none;dashed=1;html=1;entryX=1;entryY=0.75;exitX=0;exitY=0.5;strokeColor=#97D077;" parent="1" source="91" target="8" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="-180" y="800" as="sourcePoint"/><mxPoint x="-130" y="750" as="targetPoint"/></mxGeometry></mxCell><mxCell id="94" value="" style="endArrow=none;dashed=1;html=1;entryX=1;entryY=0.25;exitX=0;exitY=0.5;strokeColor=#97D077;" parent="1" source="91" target="9" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="570" y="410" as="sourcePoint"/><mxPoint x="520" y="320" as="targetPoint"/></mxGeometry></mxCell><mxCell id="WxIZwHBQDS0929NCy7-o-94" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;PolicyTypeImpl&lt;br&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-330" y="408.5" width="140" height="58" as="geometry"/></mxCell><mxCell id="WxIZwHBQDS0929NCy7-o-98" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;&amp;lt;&amp;lt;TOSCA&amp;gt;&amp;gt;&lt;br&gt;Policy&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-328" y="329" width="95" height="52" as="geometry"/></mxCell><mxCell id="WxIZwHBQDS0929NCy7-o-99" value="has implementation" style="endArrow=openThin;html=1;endSize=12;startArrow=none;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;strokeWidth=1;endFill=0;exitX=0;exitY=0.867;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;exitPerimeter=0;" parent="1" source="49" target="WxIZwHBQDS0929NCy7-o-94" edge="1"><mxGeometry x="0.1923" y="-10" relative="1" as="geometry"><mxPoint x="-252" y="340" as="sourcePoint"/><mxPoint x="-290" y="413" as="targetPoint"/><mxPoint as="offset"/><Array as="points"><mxPoint x="-110" y="452"/><mxPoint x="-110" y="423"/></Array></mxGeometry></mxCell><mxCell id="WxIZwHBQDS0929NCy7-o-100" value="&lt;div&gt;n&lt;/div&gt;" style="resizable=0;html=1;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="WxIZwHBQDS0929NCy7-o-99" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="-20" y="-25" as="offset"/></mxGeometry></mxCell><mxCell id="WxIZwHBQDS0929NCy7-o-101" value="1" style="resizable=0;html=1;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="WxIZwHBQDS0929NCy7-o-99" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"><mxPoint x="27.5" y="-23" as="offset"/></mxGeometry></mxCell><mxCell id="WxIZwHBQDS0929NCy7-o-102" value="is specified by" style="endArrow=openThin;html=1;endSize=12;startArrow=none;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;strokeWidth=1;endFill=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;" parent="1" source="49" target="WxIZwHBQDS0929NCy7-o-98" edge="1"><mxGeometry x="-0.0333" relative="1" as="geometry"><mxPoint x="-10" y="455" as="sourcePoint"/><mxPoint x="-280" y="423" as="targetPoint"/><mxPoint as="offset"/><Array as="points"><mxPoint x="-90" y="430"/><mxPoint x="-90" y="342"/></Array></mxGeometry></mxCell><mxCell id="WxIZwHBQDS0929NCy7-o-103" value="&lt;div&gt;n&lt;/div&gt;" style="resizable=0;html=1;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="WxIZwHBQDS0929NCy7-o-102" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="-20" y="-25" as="offset"/></mxGeometry></mxCell><mxCell id="WxIZwHBQDS0929NCy7-o-104" value="1" style="resizable=0;html=1;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="WxIZwHBQDS0929NCy7-o-102" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"><mxPoint x="27.5" y="-23" as="offset"/></mxGeometry></mxCell><mxCell id="yHxFdaB63uvkelnHd-nB-94" value="&lt;p style=&quot;margin: 0px ; margin-top: 4px ; text-align: center&quot;&gt;&lt;b&gt;&amp;lt;&amp;lt;TOSCA&amp;gt;&amp;gt;&lt;br&gt;PolicyType&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;&lt;hr size=&quot;1&quot;&gt;&lt;div style=&quot;height: 2px&quot;&gt;&lt;/div&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-330" y="209" width="95" height="52" as="geometry"/></mxCell><mxCell id="yHxFdaB63uvkelnHd-nB-100" value="is defined by" style="endArrow=openThin;html=1;endSize=12;startArrow=none;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;strokeWidth=1;endFill=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="WxIZwHBQDS0929NCy7-o-98" target="yHxFdaB63uvkelnHd-nB-94" edge="1"><mxGeometry x="0.1714" relative="1" as="geometry"><mxPoint x="-390" y="290" as="sourcePoint"/><mxPoint x="-230" y="280" as="targetPoint"/><mxPoint as="offset"/><Array as="points"><mxPoint x="-282" y="320"/><mxPoint x="-282" y="320"/></Array></mxGeometry></mxCell><mxCell id="yHxFdaB63uvkelnHd-nB-101" value="&lt;div&gt;n&lt;/div&gt;" style="resizable=0;html=1;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="yHxFdaB63uvkelnHd-nB-100" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="-18" y="-30" as="offset"/></mxGeometry></mxCell><mxCell id="yHxFdaB63uvkelnHd-nB-102" value="1" style="resizable=0;html=1;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="yHxFdaB63uvkelnHd-nB-100" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"><mxPoint x="22" as="offset"/></mxGeometry></mxCell></root></mxGraphModel> \ No newline at end of file