diff options
author | 2019-05-30 20:53:05 +0000 | |
---|---|---|
committer | 2019-06-03 16:29:29 +0000 | |
commit | 21b8895270fdce164ba3a43e971cb4cc54cea098 (patch) | |
tree | 793d824916e657300f8731e540de712c927a69ff /docs/architecture | |
parent | 8f61ace86baf3a42fc3bb39a82c3763ce2223781 (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>
(cherry picked from commit 4d1d9830d51d3df59cadaa0ac9c9b004f2cb0d17)
Diffstat (limited to 'docs/architecture')
22 files changed, 68 insertions, 43 deletions
diff --git a/docs/architecture/architecture.rst b/docs/architecture/architecture.rst index 727cb6c9..175bb20d 100644 --- a/docs/architecture/architecture.rst +++ b/docs/architecture/architecture.rst @@ -2,6 +2,7 @@ .. Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 +.. _architecture-label: Architecture ############ @@ -94,7 +95,7 @@ of conflicts across all policies running in an ONAP installation. The diagram below shows the architecture of the ONAP Policy Framework at its highest level. -.. image:: images/highest.png +.. image:: images/PFHighestLevel.svg The *PolicyDevelopment* component implements the functionality for development of policy types and policies. *PolicyAdministration* is responsible for the deployment life cycle of policies as well as interworking with the @@ -113,7 +114,7 @@ with *PolicyAdministration*, *PolicyExecution* or any other run-time ONAP compon The diagram below shows a more detailed view of the architecture, as inspired by `RFC-2753 <https://tools.ietf.org/html/rfc2753>`__ and `RFC-3198 <https://tools.ietf.org/html/rfc3198>`__. -.. image:: images/detailed.png +.. image:: images/PFDesignAndAdmin.svg *PolicyDevelopment* provides a `CRUD <https://en.wikipedia.org/wiki/Create,_read,_update_and_delete>`__ API for policy types and policies. The policy types and policy artifacts and their metadata (Information about policies, policy types, @@ -142,7 +143,7 @@ three APIs: *PolicyExecution* is the set of running PDPs that are executing policies, logically partitioned into PDP groups and subgroups. -.. image:: images/execution.png +.. image:: images/PolicyExecution.svg The figure above shows how *PolicyExecution* looks at run time with PDPs running in Kubernetes. A *PDPGroup* is a purely logical construct that collects all the PDPs that are running policies for a particular domain together. A *PDPSubGroup* @@ -179,12 +180,12 @@ for :ref:`Policy Administration Point (PAP) Architecture <pap-label>`. This section describes the structure of and relations between the main concepts in the Policy Framework. This model is implemented as a common model and is used by *PolicyDevelopment*, *PolicyDeployment,* and *PolicyExecution.* -.. image:: images/objectmodel1.png +.. image:: images/ClassStructure.svg The UML class diagram above shows the portion of the Policy Framework Object Model that applies to *PolicyDeployment* and *PolicyExecution.* -.. image:: images/objectmodel2.png +.. image:: images/DesignTimeComponents.svg The UML class diagram above shows the portion of the Policy Framework Object Model that applies to *PolicyDevelopment* and *PolicyDeployment.* @@ -498,7 +499,7 @@ On receipt or a shutdown request, the PDP completes or aborts any ongoing policy Policy execution is the execution of a policy in a PDP. Policy enforcement occurs in the component that receives a policy decision. -.. image:: images/PolicyExecution.svg +.. image:: images/PolicyExecutionFlow.svg Policy execution can be *synchronous* or *asynchronous*. In *synchronous* policy execution, the component requesting a policy decision requests a policy decision and waits for the result. The PDP-X and PDP-A implement synchronous policy 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>MicroService</b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDPGroup</b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDPSubGroup</b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDP</b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>&lt;&lt;enumeration&gt;&gt;<br>PDPType</b></p><hr size="1">PDP-X<br><div style="height: 2px">PDP-D<br>PDP-A<br></div>" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDP-X</b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDP-D</b></p><hr size="1"><div style="height: 2px"></div><hr size="1">" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDP-A</b></p><hr size="1"><div style="height: 2px"></div><hr size="1">" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>Kubernetes</b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" 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="<div>0..n</div>" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PolicyImpl</b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>XACMLPolicyImpl<br></b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>DroolsPolicyImpl</b></p><hr size="1"><div style="height: 2px"></div><hr size="1">" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>ApexPolicyImpl</b></p><hr size="1"><div style="height: 2px"></div><hr size="1">" 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="<div>0..n</div>" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PolicySet</b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PolicyTypeImpl<br></b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>&lt;&lt;TOSCA&gt;&gt;<br>Policy</b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" 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="<div>n</div>" 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="<div>n</div>" 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="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>&lt;&lt;TOSCA&gt;&gt;<br>PolicyType</b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" 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="<div>n</div>" 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 diff --git a/docs/architecture/draw.io/DesignTimeComponents.xml b/docs/architecture/draw.io/DesignTimeComponents.xml new file mode 100644 index 00000000..032d8558 --- /dev/null +++ b/docs/architecture/draw.io/DesignTimeComponents.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mxGraphModel dx="2595" dy="1608" 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="12" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>&lt;&lt;enumeration&gt;&gt;<br>PDPType</b></p><hr size="1">PDP-X<br><div style="height: 2px">PDP-D<br>PDP-A<br></div>" style="verticalAlign=top;align=center;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1"><mxGeometry x="-900" y="-9.5" width="140" height="90" as="geometry"/></mxCell><mxCell id="28" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>XACMLPolicy<br></b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-440" y="-164.5" width="100" height="60" as="geometry"/></mxCell><mxCell id="29" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>DroolsPolicy</b></p><hr size="1"><div style="height: 2px"></div><hr size="1">" 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="-164.5" width="90" height="60" as="geometry"/></mxCell><mxCell id="30" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>ApexPolicy</b></p><hr size="1"><div style="height: 2px"></div><hr size="1">" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-230" y="-164.5" width="80" height="60" as="geometry"/></mxCell><mxCell id="31" value="" style="endArrow=block;endSize=8;endFill=0;html=1;exitX=0.5;exitY=0;strokeWidth=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="28" target="JLu5tQw5rpazg5sk-l6F-103" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="-615" y="40" as="sourcePoint"/><mxPoint x="-215" y="-100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="32" value="" style="endArrow=block;endSize=8;endFill=0;html=1;exitX=0.5;exitY=0;entryX=0.5;entryY=1;strokeWidth=1;entryDx=0;entryDy=0;" parent="1" source="29" target="JLu5tQw5rpazg5sk-l6F-103" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="-200" y="-30" as="sourcePoint"/><mxPoint x="-215" y="-100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="33" value="" style="endArrow=block;endSize=8;endFill=0;html=1;exitX=0.5;exitY=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="30" target="JLu5tQw5rpazg5sk-l6F-103" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="-130" y="-30" as="sourcePoint"/><mxPoint x="-215" y="-100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="34" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;entryX=1;entryY=0.5;exitX=0;exitY=0.75;dashed=1;strokeColor=#7EA6E0;exitDx=0;exitDy=0;" parent="1" source="JLu5tQw5rpazg5sk-l6F-103" target="12" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="10" y="-260" as="sourcePoint"/><mxPoint x="-80" y="-195" as="targetPoint"/><Array as="points"><mxPoint x="-460" y="-243"/><mxPoint x="-460" y="40"/><mxPoint x="-760" y="40"/></Array></mxGeometry></mxCell><mxCell id="35" value="1" style="resizable=0;html=1;align=left;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="34" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="-20" y="20" as="offset"/></mxGeometry></mxCell><mxCell id="36" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="34" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"><mxPoint x="25" y="-6" as="offset"/></mxGeometry></mxCell><mxCell id="54" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>XACMLImpl<br></b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-772.5" y="-61.5" width="100" height="36" as="geometry"/></mxCell><mxCell id="55" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>DroolsImpl<br></b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-662.5" y="-61.5" width="100" height="35" as="geometry"/></mxCell><mxCell id="56" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>ApexImpl<br></b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-552.5" y="-61.5" width="80" height="36" as="geometry"/></mxCell><mxCell id="59" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PolicyTypeImpl<br></b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-675" y="-164.5" width="140" height="58" as="geometry"/></mxCell><mxCell id="60" value="" style="endArrow=block;endSize=8;endFill=0;html=1;exitX=0.5;exitY=0;strokeWidth=1;entryX=0.5;entryY=1;" parent="1" source="54" target="59" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="-775" y="204.5" as="sourcePoint"/><mxPoint x="-625" y="94.5" as="targetPoint"/></mxGeometry></mxCell><mxCell id="61" value="" style="endArrow=block;endSize=8;endFill=0;html=1;strokeWidth=1;entryX=0.5;entryY=1;" parent="1" source="55" target="59" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="-670" y="204.5" as="sourcePoint"/><mxPoint x="-685" y="174.5" as="targetPoint"/></mxGeometry></mxCell><mxCell id="62" value="" style="endArrow=block;endSize=8;endFill=0;html=1;exitX=0.5;exitY=0;entryX=0.5;entryY=1;" parent="1" source="56" target="59" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="-575" y="204.5" as="sourcePoint"/><mxPoint x="-660" y="154.5" as="targetPoint"/></mxGeometry></mxCell><mxCell id="63" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;entryX=0.5;entryY=0;exitX=0;exitY=0.75;dashed=1;strokeColor=#7EA6E0;entryDx=0;entryDy=0;exitDx=0;exitDy=0;" parent="1" source="59" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="-350" y="-110" as="sourcePoint"/><mxPoint x="-805" y="-9" as="targetPoint"/><Array as="points"><mxPoint x="-805" y="-117"/></Array></mxGeometry></mxCell><mxCell id="64" value="1" style="resizable=0;html=1;align=left;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="63" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="-20" y="-4" as="offset"/></mxGeometry></mxCell><mxCell id="65" 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="66" value="<b>PolicyTypeXACML<br></b><hr size="1"><div style="height: 2px" align="left"><br></div>" style="verticalAlign=top;align=center;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-1245" y="-61.5" width="130" height="37" as="geometry"/></mxCell><mxCell id="69" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>&lt;&lt;TOSCA&gt;&gt;<br>PolicyType<br></b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-1115" y="-165.5" width="140" height="56" as="geometry"/></mxCell><mxCell id="70" value="" style="endArrow=block;endSize=8;endFill=0;html=1;exitX=0.5;exitY=0;strokeWidth=1;entryX=0.5;entryY=1;" parent="1" source="66" target="69" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="-1215" y="200.5" as="sourcePoint"/><mxPoint x="-1065" y="90.5" as="targetPoint"/></mxGeometry></mxCell><mxCell id="71" value="" style="endArrow=block;endSize=8;endFill=0;html=1;strokeWidth=1;entryX=0.5;entryY=1;exitX=0.5;exitY=0;" parent="1" source="74" target="69" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="-1051" y="-59.5" as="sourcePoint"/><mxPoint x="-1125" y="170.5" as="targetPoint"/></mxGeometry></mxCell><mxCell id="72" value="" style="endArrow=block;endSize=8;endFill=0;html=1;exitX=0.5;exitY=0;entryX=0.5;entryY=1;" parent="1" target="69" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="-935" y="-59.5" as="sourcePoint"/><mxPoint x="-1100" y="150.5" as="targetPoint"/></mxGeometry></mxCell><mxCell id="73" value="" style="resizable=0;html=1;align=left;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="1" connectable="0" vertex="1"><mxGeometry x="-960" y="-109.5" as="geometry"><mxPoint x="171" y="188" as="offset"/></mxGeometry></mxCell><mxCell id="74" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PolicyTypeDrools<br></b></p><hr size="1"><div style="height: 2px"><br></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-1105" y="-61.5" width="120" height="38" as="geometry"/></mxCell><mxCell id="75" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PolicyTypeApex<br></b></p><hr size="1"><div style="height: 2px"><i><br></i></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-975" y="-61.5" width="110" height="38" as="geometry"/></mxCell><mxCell id="78" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;dashed=1;strokeColor=#7EA6E0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" parent="1" source="69" target="12" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="-950" y="-100" as="sourcePoint"/><mxPoint x="-900" y="40" as="targetPoint"/><Array as="points"><mxPoint x="-830" y="-119"/></Array></mxGeometry></mxCell><mxCell id="79" value="1" style="resizable=0;html=1;align=left;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="78" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="10" as="offset"/></mxGeometry></mxCell><mxCell id="80" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="78" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"><mxPoint x="25" y="-6" as="offset"/></mxGeometry></mxCell><mxCell id="82" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PolicyCreator<br></b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-850" y="-410" width="120" height="60" as="geometry"/></mxCell><mxCell id="83" value="applies" style="endArrow=open;html=1;endSize=12;startArrow=none;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;strokeWidth=1;entryX=0.5;entryY=0;endFill=0;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" parent="1" source="82" target="59" edge="1"><mxGeometry x="-0.2222" y="30" relative="1" as="geometry"><mxPoint x="-730" y="-160" as="sourcePoint"/><mxPoint x="235" y="-230" as="targetPoint"/><mxPoint x="-30" y="30" as="offset"/></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="-10" 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 y="-30" as="offset"/></mxGeometry></mxCell><mxCell id="86" value="parameterizes" style="endArrow=open;html=1;endSize=12;startArrow=none;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;strokeWidth=1;entryX=0.75;entryY=0;endFill=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="82" target="69" edge="1"><mxGeometry x="-0.1579" y="60" relative="1" as="geometry"><mxPoint x="-370" y="220" as="sourcePoint"/><mxPoint x="-980" y="-150" as="targetPoint"/><mxPoint x="-60" y="60" as="offset"/></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" y="5" as="offset"/></mxGeometry></mxCell><mxCell id="88" value="1" 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 y="-30" as="offset"/></mxGeometry></mxCell><mxCell id="89" value="creates" style="endArrow=open;html=1;endSize=12;startArrow=none;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;strokeWidth=1;endFill=0;exitX=1;exitY=0.25;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="82" target="JLu5tQw5rpazg5sk-l6F-103" edge="1"><mxGeometry x="0.1183" relative="1" as="geometry"><mxPoint x="-570" y="-440" as="sourcePoint"/><mxPoint x="-330" y="-395" as="targetPoint"/><mxPoint as="offset"/><Array as="points"><mxPoint x="-285" y="-395"/></Array></mxGeometry></mxCell><mxCell id="90" value="1" style="resizable=0;html=1;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="89" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="10" y="-20" as="offset"/></mxGeometry></mxCell><mxCell id="91" value="1" style="resizable=0;html=1;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="89" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"><mxPoint y="-30" as="offset"/></mxGeometry></mxCell><mxCell id="92" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDPXCreator<br></b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-945" y="-270" width="100" height="60" as="geometry"/></mxCell><mxCell id="93" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDPDCreator</b></p><hr size="1"><div style="height: 2px"></div><hr size="1">" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-835" y="-270" width="95" height="60" as="geometry"/></mxCell><mxCell id="94" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDPACreator</b></p><hr size="1"><div style="height: 2px"></div><hr size="1">" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-735" y="-270" width="95" height="60" as="geometry"/></mxCell><mxCell id="95" 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="92" target="82" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="-1180" y="-170" as="sourcePoint"/><mxPoint x="-780" y="-310" as="targetPoint"/></mxGeometry></mxCell><mxCell id="96" value="" style="endArrow=block;endSize=8;endFill=0;html=1;exitX=0.5;exitY=0;strokeWidth=1;entryX=0.5;entryY=1;" parent="1" source="93" target="82" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="-765" y="-240" as="sourcePoint"/><mxPoint x="-770" y="-350" as="targetPoint"/></mxGeometry></mxCell><mxCell id="97" value="" style="endArrow=block;endSize=8;endFill=0;html=1;exitX=0.5;exitY=0;entryX=0.5;entryY=1;" parent="1" source="94" target="82" edge="1"><mxGeometry width="160" relative="1" as="geometry"><mxPoint x="-695" y="-240" as="sourcePoint"/><mxPoint x="-780" y="-310" as="targetPoint"/></mxGeometry></mxCell><mxCell id="98" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=1;exitY=0.5;dashed=1;strokeColor=#7EA6E0;startArrow=none;startFill=0;endFill=0;" parent="1" source="82" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="-550" y="-120" as="sourcePoint"/><mxPoint x="-760" y="36" as="targetPoint"/><Array as="points"><mxPoint x="-460" y="-380"/><mxPoint x="-460" y="40"/><mxPoint x="-760" y="40"/></Array></mxGeometry></mxCell><mxCell id="99" value="1" style="resizable=0;html=1;align=left;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="98" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="10" as="offset"/></mxGeometry></mxCell><mxCell id="100" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="98" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"><mxPoint x="25" y="-6" as="offset"/></mxGeometry></mxCell><mxCell id="WnAEskrEjoqfPgaEkT4R-103" value="implements" style="endArrow=none;html=1;endSize=12;startArrow=none;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;strokeWidth=1;endFill=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;exitX=0;exitY=0.25;exitDx=0;exitDy=0;" parent="1" source="59" target="69" edge="1"><mxGeometry x="-0.0507" relative="1" as="geometry"><mxPoint x="-740" y="-170" as="sourcePoint"/><mxPoint x="-910" y="-130" as="targetPoint"/><mxPoint as="offset"/><Array as="points"><mxPoint x="-675" y="-151"/></Array></mxGeometry></mxCell><mxCell id="WnAEskrEjoqfPgaEkT4R-104" value="m" style="resizable=0;html=1;align=left;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="WnAEskrEjoqfPgaEkT4R-103" connectable="0" vertex="1"><mxGeometry x="-1" relative="1" as="geometry"><mxPoint x="-30" y="-25" as="offset"/></mxGeometry></mxCell><mxCell id="WnAEskrEjoqfPgaEkT4R-105" value="n" style="resizable=0;html=1;align=right;verticalAlign=top;labelBackgroundColor=#ffffff;fontSize=10;" parent="WnAEskrEjoqfPgaEkT4R-103" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"><mxPoint x="15" y="-21" as="offset"/></mxGeometry></mxCell><mxCell id="JLu5tQw5rpazg5sk-l6F-103" value="<p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>&lt;&lt;TOSCA&gt;&gt;<br>Policy</b></p><hr size="1"><div style="height: 2px"></div><hr size="1"><div style="height: 2px"></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="-332.5" y="-280" width="95" height="52" as="geometry"/></mxCell></root></mxGraphModel>
\ No newline at end of file diff --git a/docs/architecture/draw.io/PFDesignAndAdmin.xml b/docs/architecture/draw.io/PFDesignAndAdmin.xml new file mode 100644 index 00000000..9ba43502 --- /dev/null +++ b/docs/architecture/draw.io/PFDesignAndAdmin.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mxGraphModel dx="995" dy="808" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" background="#ffffff" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="2" value="PolicyDevelopment" style="html=1;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" parent="1" vertex="1"><mxGeometry x="260" y="220" width="150" height="30" as="geometry"/></mxCell><mxCell id="3" value="Portal" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="150" y="120" width="50" height="30" as="geometry"/></mxCell><mxCell id="4" value="PolicyDevAPIUser" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="210" y="120" width="120" height="30" as="geometry"/></mxCell><mxCell id="5" value="PolicyDistribution" style="html=1;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" parent="1" vertex="1"><mxGeometry x="340" y="120" width="120" height="30" as="geometry"/></mxCell><mxCell id="8" value="SDC" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="375" y="70" width="50" height="30" as="geometry"/></mxCell><mxCell id="10" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" parent="1" source="8" target="5" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="80" y="270" as="sourcePoint"/><mxPoint x="450" y="130" as="targetPoint"/></mxGeometry></mxCell><mxCell id="12" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="10" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="14" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" parent="1" source="3" target="2" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="580" y="90" as="sourcePoint"/><mxPoint x="580" y="130" as="targetPoint"/><Array as="points"><mxPoint x="175" y="170"/><mxPoint x="335" y="170"/></Array></mxGeometry></mxCell><mxCell id="15" 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="16" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;entryX=0.5;entryY=0;exitX=0.5;exitY=1;" parent="1" source="4" target="2" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="390" y="150" as="sourcePoint"/><mxPoint x="445" y="230" as="targetPoint"/><Array as="points"><mxPoint x="270" y="170"/><mxPoint x="335" y="170"/></Array></mxGeometry></mxCell><mxCell id="17" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="16" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="18" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;entryX=0.5;entryY=0;exitX=0.5;exitY=1;" parent="1" source="5" target="2" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="395" y="160" as="sourcePoint"/><mxPoint x="445" y="230" as="targetPoint"/><Array as="points"><mxPoint x="400" y="170"/><mxPoint x="335" y="170"/></Array></mxGeometry></mxCell><mxCell id="19" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="18" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="20" value="PolicyDevGUI" style="html=1;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" parent="1" vertex="1"><mxGeometry x="40" y="120" width="100" height="30" as="geometry"/></mxCell><mxCell id="21" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" parent="1" source="20" target="2" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="255" y="160" as="sourcePoint"/><mxPoint x="440" y="220" as="targetPoint"/><Array as="points"><mxPoint x="90" y="170"/><mxPoint x="335" y="170"/></Array></mxGeometry></mxCell><mxCell id="22" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="21" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="24" value="PolicyDB" style="shape=cylinder;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="502" y="290" width="80" height="30" as="geometry"/></mxCell><mxCell id="31" value="PolicyAdminGUI" style="html=1;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" parent="1" vertex="1"><mxGeometry x="472" y="80" width="110" height="30" as="geometry"/></mxCell><mxCell id="33" value="PolicyAdministration" style="html=1;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" parent="1" vertex="1"><mxGeometry x="522" y="220" width="140" height="30" as="geometry"/></mxCell><mxCell id="34" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=1;" parent="1" source="31" target="33" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="372" y="160" as="sourcePoint"/><mxPoint x="307" y="230" as="targetPoint"/><Array as="points"><mxPoint x="527" y="130"/><mxPoint x="592" y="130"/></Array></mxGeometry></mxCell><mxCell id="35" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="34" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="46" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;entryX=0.5;entryY=0;exitX=0.75;exitY=1;" parent="1" source="2" target="24" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="270" y="280" as="sourcePoint"/><mxPoint x="425" y="375" as="targetPoint"/><Array as="points"><mxPoint x="370" y="250"/><mxPoint x="370" y="270"/><mxPoint x="542" y="270"/></Array></mxGeometry></mxCell><mxCell id="47" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="46" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="48" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;entryX=0.5;entryY=0;exitX=0.5;exitY=1;" parent="1" source="33" target="24" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="670" y="310" as="sourcePoint"/><mxPoint x="730" y="360" as="targetPoint"/><Array as="points"><mxPoint x="592" y="270"/><mxPoint x="542" y="270"/></Array></mxGeometry></mxCell><mxCell id="49" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="48" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="58" value="PolicyAdminAPIUser" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="597" y="80" width="135" height="30" as="geometry"/></mxCell><mxCell id="59" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" parent="1" source="58" target="33" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="537" y="160" as="sourcePoint"/><mxPoint x="522" y="200" as="targetPoint"/><Array as="points"><mxPoint x="665" y="130"/><mxPoint x="592" y="130"/></Array></mxGeometry></mxCell><mxCell id="60" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="59" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="62" value="PolicyExecution" style="html=1;fillColor=#fff2cc;strokeColor=#d6b656;gradientColor=#ffd966;" parent="1" vertex="1"><mxGeometry x="920" y="220" width="100" height="30" as="geometry"/></mxCell><mxCell id="63" value="DMaaP" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="770" y="305" width="100" height="30" as="geometry"/></mxCell><mxCell id="64" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0;exitY=0.5;entryX=1;entryY=0.5;" parent="1" source="63" target="33" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="410" y="160" as="sourcePoint"/><mxPoint x="710" y="235" as="targetPoint"/><Array as="points"><mxPoint x="750" y="320"/><mxPoint x="750" y="235"/></Array></mxGeometry></mxCell><mxCell id="65" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="64" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="66" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;exitX=0;exitY=0.5;entryX=1;entryY=0.5;" parent="1" source="62" target="63" edge="1"><mxGeometry relative="1" as="geometry"><mxPoint x="780" y="245" as="sourcePoint"/><mxPoint x="710" y="245" as="targetPoint"/></mxGeometry></mxCell><mxCell id="67" value="" style="resizable=0;html=1;align=right;verticalAlign=bottom;labelBackgroundColor=#ffffff;fontSize=10;" parent="66" connectable="0" vertex="1"><mxGeometry x="1" relative="1" as="geometry"/></mxCell><mxCell id="68" value="AsyncCaller" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="870" y="120" width="90" height="30" as="geometry"/></mxCell><mxCell id="69" value="SyncCaller" style="html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="970" y="120" width="80" height="30" as="geometry"/></mxCell><mxCell id="70" value="" style="endArrow=classic;startArrow=classic;html=1;entryX=0.5;entryY=1;exitX=0.75;exitY=0;" parent="1" source="62" target="69" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="50" y="440" as="sourcePoint"/><mxPoint x="100" y="390" as="targetPoint"/></mxGeometry></mxCell><mxCell id="73" value="" style="endArrow=classic;html=1;entryX=0.25;entryY=0;exitX=0.5;exitY=1;" parent="1" source="68" target="62" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="50" y="440" as="sourcePoint"/><mxPoint x="100" y="390" as="targetPoint"/></mxGeometry></mxCell><mxCell id="74" value="" style="endArrow=classic;html=1;entryX=0.75;entryY=1;exitX=0.5;exitY=0;" parent="1" source="62" target="68" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="900" y="400" as="sourcePoint"/><mxPoint x="955" y="230" as="targetPoint"/></mxGeometry></mxCell><mxCell id="75" value="" style="endArrow=classic;html=1;entryX=0.25;entryY=0;exitX=0;exitY=0.75;" parent="1" source="68" target="63" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="980" y="230" as="sourcePoint"/><mxPoint x="948" y="160" as="targetPoint"/></mxGeometry></mxCell><mxCell id="76" value="" style="endArrow=classic;html=1;entryX=0.25;entryY=1;exitX=0.5;exitY=0;" parent="1" source="63" target="68" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="930" y="460" as="sourcePoint"/><mxPoint x="910" y="150" as="targetPoint"/></mxGeometry></mxCell><mxCell id="78" value="<div>Policy Artifacts and Metadata</div><div>PDP Group and Subgroup Definitions</div><div>Policy to PDP Group and Subgroup Mappings<br></div>" 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="352" y="341.5" width="240" height="60" as="geometry"/></mxCell><mxCell id="80" value="" style="endArrow=none;dashed=1;html=1;entryX=0.5;entryY=0;exitX=0.5;exitY=1;strokeColor=#97D077;" parent="1" source="24" target="78" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="535" y="425" as="sourcePoint"/><mxPoint x="135" y="505" as="targetPoint"/></mxGeometry></mxCell><mxCell id="82" value="CRUD API for Policy Groups and Sub-Groups<br>API for Policy Deployment" 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="630" y="150" width="190" height="50" as="geometry"/></mxCell><mxCell id="84" value="<div>Policies for a given</div><div>domain execute in a</div><div> PDP Group. PDP Groups</div><div> have subgroups for each</div><div> PDP type in a PDP group<br></div>" 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="960" y="311" width="160" height="89" as="geometry"/></mxCell><mxCell id="85" value="" style="endArrow=none;dashed=1;html=1;entryX=0.75;entryY=0;exitX=0.75;exitY=1;strokeColor=#97D077;" parent="1" source="62" target="84" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="550" y="360" as="sourcePoint"/><mxPoint x="590" y="390" as="targetPoint"/></mxGeometry></mxCell><mxCell id="87" value="" style="endArrow=none;dashed=1;html=1;entryX=1;entryY=0.5;exitX=0.5;exitY=0;" parent="1" source="2" target="90" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="260" y="233" as="sourcePoint"/><mxPoint x="333" y="402" as="targetPoint"/></mxGeometry></mxCell><mxCell id="88" value="<div>Deploy</div><div>Retire</div><div>Archive<br>Upgrade</div><div>Rollback<br></div>" 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="673" y="297.5" width="68" height="75" as="geometry"/></mxCell><mxCell id="89" value="" style="endArrow=none;dashed=1;html=1;entryX=0.5;entryY=0;strokeColor=#97D077;" parent="1" target="88" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="662" y="235" as="sourcePoint"/><mxPoint x="565" y="402" as="targetPoint"/></mxGeometry></mxCell><mxCell id="90" value="CRUD API for Policy Artifacts" 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="130" y="185" width="110" height="35" as="geometry"/></mxCell><mxCell id="93" value="" style="endArrow=none;dashed=1;html=1;entryX=0;entryY=0.5;exitX=0.5;exitY=0;strokeColor=#97D077;" parent="1" source="33" target="82" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="672" y="253" as="sourcePoint"/><mxPoint x="700" y="335" as="targetPoint"/></mxGeometry></mxCell><mxCell id="94" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="10" y="278" width="30" height="13" as="geometry"/></mxCell><mxCell id="95" value="Policy Framework Component" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"><mxGeometry x="32" y="274" width="200" height="20" as="geometry"/></mxCell><mxCell id="97" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="10" y="295" width="30" height="13" as="geometry"/></mxCell><mxCell id="98" value="Other Component" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"><mxGeometry x="32" y="291" width="128" height="20" as="geometry"/></mxCell></root></mxGraphModel>
\ No newline at end of file diff --git a/docs/architecture/draw.io/PFHighestLevel.xml b/docs/architecture/draw.io/PFHighestLevel.xml new file mode 100644 index 00000000..a307574f --- /dev/null +++ b/docs/architecture/draw.io/PFHighestLevel.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mxGraphModel dx="995" dy="808" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" background="#ffffff" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="3" value="PolicyDevelopment" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="50" y="50" width="130" height="30" as="geometry"/></mxCell><mxCell id="4" value="PolicyDB" style="shape=cylinder;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="230" y="115" width="70" height="30" as="geometry"/></mxCell><mxCell id="7" value="" style="endArrow=none;html=1;entryX=0.5;entryY=1;exitX=0.5;exitY=0;" parent="1" source="4" target="3" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="185" y="125" as="sourcePoint"/><mxPoint x="120" y="90" as="targetPoint"/></mxGeometry></mxCell><mxCell id="8" value="PolicyAdministration" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="270" y="50" width="135" height="30" as="geometry"/></mxCell><mxCell id="9" value="" style="endArrow=none;html=1;entryX=0.5;entryY=1;exitX=0.5;exitY=0;" parent="1" source="4" target="8" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="275" y="125" as="sourcePoint"/><mxPoint x="120" y="90" as="targetPoint"/></mxGeometry></mxCell><mxCell id="13" value="PolicyExecution" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="470" y="50" width="140" height="30" as="geometry"/></mxCell><mxCell id="14" value="" style="endArrow=none;html=1;entryX=0;entryY=0.5;exitX=1;exitY=0.5;" parent="1" source="8" target="13" edge="1"><mxGeometry width="50" height="50" relative="1" as="geometry"><mxPoint x="40" y="220" as="sourcePoint"/><mxPoint x="90" y="170" as="targetPoint"/></mxGeometry></mxCell><mxCell id="15" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1"><mxGeometry x="388" y="112" width="30" height="13" as="geometry"/></mxCell><mxCell id="16" value="Policy Framework Component" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"><mxGeometry x="410" y="108" width="200" height="20" as="geometry"/></mxCell><mxCell id="17" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1"><mxGeometry x="388" y="129" width="30" height="13" as="geometry"/></mxCell><mxCell id="18" value="Other Component" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"><mxGeometry x="410" y="125" width="128" height="20" as="geometry"/></mxCell></root></mxGraphModel>
\ No newline at end of file diff --git a/docs/architecture/draw.io/PolicyExecution.xml b/docs/architecture/draw.io/PolicyExecution.xml new file mode 100644 index 00000000..1dbf4da3 --- /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="<div>AsyncCaller</div>" 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 <i><b>Pod</b></i>" 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 <b><i>Deployment</i></b> " 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 diff --git a/docs/architecture/draw.io/TOSCAPolicyConcepts.xml b/docs/architecture/draw.io/TOSCAPolicyConcepts.xml new file mode 100644 index 00000000..0d3900dd --- /dev/null +++ b/docs/architecture/draw.io/TOSCAPolicyConcepts.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mxfile modified="2019-05-29T11:50:35.523Z" host="wiki.onap.org" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0" version="10.6.3" etag="yEDpeBBf71gBWF177uGV" type="atlas"><mxAtlasLibraries/><diagram id="04337635-102b-1824-bf5a-1496629f81aa" name="Page-1">7VttT+M4EP41le4+UOW1Lx9pYfdOYiV0IB18WrmJm1jrxpHrQru//saJnfewKWQD6IKQiMfjsT3PeGY8CRN7vTt+5SgOvzEf04ll+MeJfTWxLNNeuvBHUk4pZWEsUkLAia+YcsId+YkV0VDUA/HxvsQoGKOCxGWix6IIe6JEQ5yz5zLbltHyrDEK1IxGTrjzEMU1tn+JL0K1C7fA/RcmQahnNg3Vs0Hej4CzQ6Tmm1j2NvlJu3dIy1L8+xD57LlAsq8n9pozJtKn3XGNqdStVls67ktLb7ZujiPRZYBexxOiB7X3W0aJd1LLEyetkv0z2VEUQWu1ZZG4Uz0GtL2QUP8GndhBzrkXoAPdWoWMk5/Ajyh0mUCAbi4U4tZMSiOUrhllPJlHqsvyvNLIOylRzcXxHsbe6g2aFdI3dCwx3qC90KtklKJ4TzbJuuXAHeIBiVZMCLZTTHvB2Q9cWI4/28xcucy6ZpWynzAX+FggKU1/xWyHBQdNGrp3rrStToXpzNP2c25jlq14wqJ9GY6ybWXXQSY7xxYeFLwtUJs1qCfWSu6Jsxj2QOSBu1QNuWofb0lEBGERNCgBRVZtAvYtXlRaG7aIkiACGsVbKUCqkMDpu1RkwWIpNkYeiYKbhOfKySn/KM1IEoOxW5ocoZD4Po4k9EwggTaZfcaMRCLRnLuCX1Dw2pi6ExeWtIa2mbfhV7JzsWYR7AqRBGsMRvSMpSE1WEF2gn5tBgp2sPpOqGu+N4FutYAOpzDAUimXCaQc1Jpo52oEuReQXWtAkO02kDkJAswVyqo1HuY+cZ4vhsPZbgvW96cYjwG7/4B9sSgH7CHDtd0pXOftMWJ3PeT2h47Y9hix3wfkISO2PUbsd8N5yIjt1CN2DUVZLoi7B6us6KE0PCkWDhqDmO2+8tppzYy3q8Csx7F7bdZjxvKLjMXpbt2DJCVmW3DCT7Dm70LmocX4ZBl/JD3wEKEd/nN0YU1pafe89B3yEbMtVO29EPsHqgC/Jzv8dyQwB74R5V5QHjIhMZ0Xs87vABBgm0KtT7SijWD3AfagdYQ2sCGz8NPrYwK0l+8XGhQd9vUqw4j2WVFap2A6GA8Ct9sOd7bDEe/firfGdhC8Zy14x5gT5qsEDXSP+MUhImIqIHaPQPcDtDtkqWjemo0DBUlHrgoJsFfcdOMaQX4VyIshS0WLFpBBUpidZnXdGuHtAV7LGDIXW7bAi7w8Ectu00zWAmW5H6VF/hHvPvC2B0zGnKbce0blXnzyBI9BgmCMPbIFCFKY034QXWBpGMW2bawVO8GRfym/koJWxJJ6Wyh2unoGnap2Zlq6mFbhLhbYTEcTvhC56wRh7AdYl+8AvZAFLEL0Oqeu8JGIBz0jPD/KkVNjOUtXUJQVgYofkm5XNx91H4y8hawGYJC304TWcBtTCmAH7ikNaHjT660+9ylNLv5Fu9GFVWNqm4Yqj3BMAawnXJqxyVCUuFuWptlZkXZZLtI6i0rtNV29GpbbW01SVZBpVQSlW35BkGZk2+0el3gS484U0c3e65cPDUduj0khteAgCtbYyTNRtMF0lX16V/Zw8uM7VVBWFttsJfpkNpfXz3ptbJ5pE52dRz2zN6bTehzooE+eurXPodBz9VkxaHUSLiyrPKQfA29Kwmuu2UPylfwGd/bl6tUf9uWw0yfy62f57ofC82PG1s2D23UPrstuZ3hwuJk7/Xjw7BtgXdGrWFtXB36RBadq8eCdPHj9AvJapzOAE5+/mxNvC+xlMC+qSWQ/GNVvER85MPQGUk8YWRWInN8AkX4JX4Ao+9jj8/hxc2oYTsmTT03TLXpzYFiWPLppZa6/mqq/On23GtL3c50/rNTUN/0M+Xk/BlX90F/Pc34ssNyyJHd+ZixQkqpyKgvqx8Trn3p83Eihz+P/LFLol8qfI1L0B1I/GFnLCkTLt0MEzfz/vVL2/J/q7Ov/AA==</diagram></mxfile>
\ No newline at end of file diff --git a/docs/architecture/images/ClassStructure.svg b/docs/architecture/images/ClassStructure.svg new file mode 100644 index 00000000..650e5a31 --- /dev/null +++ b/docs/architecture/images/ClassStructure.svg @@ -0,0 +1,2 @@ +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1021px" height="491px" viewBox="-0.5 -0.5 1021 491" content="<mxfile modified="2019-05-29T11:48:04.413Z" host="wiki.onap.org" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0" etag="zgXaW_pTuo0MciUNTLlH" version="10.6.3" type="atlas"><mxAtlasLibraries/><diagram id="cc2518d8-65ea-84d8-8e3f-abfc6d914d1d" name="Page-1">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</diagram></mxfile>"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color:#f5f5f5"/><stop offset="100%" style="stop-color:#b3b3b3"/></linearGradient></defs><g><rect x="850" y="90" width="100" height="65" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(850.5,90.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="98" height="63" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 99px; height: 64px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>MicroService</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="49" y="38" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="510" y="0" width="140" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(510.5,0.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="138" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 139px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDPGroup</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="69" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 580 75.99 L 580 113 Q 580 123 590 123 L 775 123 Q 785 123 785 133 L 785 182.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 580 60.99 L 584.41 68.49 L 580 75.99 L 575.59 68.49 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 778.5 170.88 L 785 183.88 L 791.5 170.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(592.5,67.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><g transform="translate(794.5,152.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1..n</div></div></foreignObject><text x="9" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1..n</text></switch></g><rect x="730" y="185" width="110" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(730.5,185.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="108" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 109px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDPSubGroup</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="54" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="760" y="320" width="50" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(760.5,320.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="48" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 49px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDP</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="24" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 785 260.99 L 785 317.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 785 245.99 L 789.41 253.49 L 785 260.99 L 780.59 253.49 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 778.5 305.88 L 785 318.88 L 791.5 305.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(797.5,252.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><g transform="translate(794.5,287.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1..n</div></div></foreignObject><text x="9" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1..n</text></switch></g><rect x="505" y="185" width="140" height="90" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(505.5,185.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="138" height="88" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 139px; height: 89px; overflow: hidden; white-space: nowrap; text-align: center;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b><<enumeration>><br />PDPType</b></p><hr size="1" />PDP-X<br /><div style="height: 2px">PDP-D<br />PDP-A<br /></div></div></foreignObject><text x="69" y="50" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 730 200 L 698 200 Q 688 200 688 210 L 688 220 Q 688 230 678 230 L 645 230" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(712.5,181.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><rect x="690" y="430" width="50" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(690.5,430.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="48" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 49px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDP-X</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="24" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="760" y="430" width="50" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(760.5,430.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="48" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 49px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDP-D</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /></div></foreignObject><text x="24" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="820" y="430" width="60" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(820.5,430.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="58" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 59px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDP-A</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /></div></foreignObject><text x="29" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 715 430 L 776.77 385.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 784.09 380.65 L 779.38 389.54 L 774.15 382.22 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 785 430 L 785 390.12" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 785 381.12 L 789.5 390.12 L 780.5 390.12 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 850 430 L 793.02 386.17" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 785.89 380.68 L 795.76 382.6 L 790.28 389.74 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="715" y="15" width="100" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(715.5,15.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="98" height="28" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 99px; height: 29px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>Kubernetes</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="49" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 815 30 L 890 30 Q 900 30 900 40 L 900 87.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 893.5 75.88 L 900 88.88 L 906.5 75.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(867.5,44.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="45" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">manages</div></div></foreignObject><text x="23" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">manages</text></switch></g><g transform="translate(879.5,67.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;"><div>0..n</div></div></div></foreignObject><text x="9" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 813 185 L 865.89 159.41" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 873.99 155.49 L 867.85 163.46 L 863.93 155.36 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="345" y="320" width="85" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(345.5,320.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="83" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 84px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PolicyImpl</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="42" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="175" y="430" width="135" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(175.5,430.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="133" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 134px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>XACMLPolicyImpl<br /></b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="67" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="325" y="430" width="120" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(325.5,430.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="118" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 119px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>DroolsPolicyImpl</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /></div></foreignObject><text x="59" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="460" y="430" width="115" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(460.5,430.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="113" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 114px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>ApexPolicyImpl</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /></div></foreignObject><text x="57" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 243 430 L 378.43 383.3" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 386.94 380.36 L 379.9 387.55 L 376.97 379.04 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 385 430 L 387.39 390.1" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 387.93 381.12 L 391.89 390.37 L 382.9 389.83 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 518 430 L 397.44 383.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 389.04 380.4 L 399.06 379.43 L 395.83 387.83 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 430 335 L 458 335 Q 468 335 468 325 L 468 240 Q 468 230 478 230 L 505 230" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(442.5,336.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><path d="M 760 335 L 605 335 Q 595 335 595 345 L 595 355 Q 595 365 585 365 L 432.24 365" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 444.12 358.5 L 431.12 365 L 444.12 371.5" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(572.5,344.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="45" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">executes</div></div></foreignObject><text x="23" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">executes</text></switch></g><g transform="translate(439.5,366.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;"><div>0..n</div></div></div></foreignObject><text x="9" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="290" y="80" width="80" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(290.5,80.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="78" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 79px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PolicySet</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="39" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 510 30 L 450 30 Q 440 30 440 40 L 440 85 Q 440 95 430 95 L 372.24 95" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 384.12 90.67 L 371.12 95 L 384.12 99.33" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(417.5,57.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="45" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">executes</div></div></foreignObject><text x="23" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">executes</text></switch></g><g transform="translate(482.5,37.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><g transform="translate(381.5,105.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><path d="M 330 155.99 L 330 240 Q 330 250 340 250 L 378 250 Q 388 250 388 260 L 388 317.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 330 140.99 L 334.41 148.49 L 330 155.99 L 325.59 148.49 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 381.5 305.88 L 388 318.88 L 394.5 305.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(342.5,147.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><g transform="translate(397.5,287.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1..n</div></div></foreignObject><text x="9" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1..n</text></switch></g><path d="M 860 250 L 1006 250 L 1020 264 L 1020 300 L 860 300 L 860 250 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><path d="M 1006 250 L 1006 264 L 1020 264" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(862.5,251.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="156" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 156px; white-space: normal; overflow-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">All the PDPs in a given PDPSubGroup instance must be of the same type</div></div></foreignObject><text x="78" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 860 275 L 840 230" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><path d="M 860 275 L 810 335" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><rect x="0" y="328.5" width="140" height="58" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(0.5,329.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="138" height="56" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 139px; height: 57px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PolicyTypeImpl<br /></b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="69" y="34" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="2" y="249" width="95" height="52" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(2.5,249.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="93" height="50" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 94px; height: 51px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b><<TOSCA>><br />Policy</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="47" y="31" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 345 372 L 230 372 Q 220 372 220 362 L 220 352.5 Q 220 343 210 343 L 142.24 343" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 154.12 338.67 L 141.12 343 L 154.12 347.33" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(183.5,352.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="93" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">has implementation</div></div></foreignObject><text x="47" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">has implementation</text></switch></g><g transform="translate(327.5,354.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;"><div>n</div></div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><g transform="translate(159.5,327.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><path d="M 345 350 L 250 350 Q 240 350 240 340 L 240 272 Q 240 262 230 262 L 99.24 262" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 111.12 257.67 L 98.12 262 L 111.12 266.33" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(204.5,287.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="70" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">is specified by</div></div></foreignObject><text x="35" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">is specified by</text></switch></g><g transform="translate(327.5,332.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;"><div>n</div></div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><g transform="translate(116.5,246.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><rect x="0" y="129" width="95" height="52" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(0.5,129.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="93" height="50" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 94px; height: 51px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b><<TOSCA>><br />PolicyType</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="47" y="31" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 50 249 L 49 249 Q 48 249 48 244.5 L 48 242.25 Q 48 240 48 230 L 48 183.24" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 52.33 195.12 L 48 182.12 L 43.67 195.12" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(16.5,204.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="62" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">is defined by</div></div></foreignObject><text x="31" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">is defined by</text></switch></g><g transform="translate(34.5,226.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;"><div>n</div></div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><g transform="translate(61.5,188.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g></g></svg>
\ No newline at end of file diff --git a/docs/architecture/images/DesignTimeComponents.svg b/docs/architecture/images/DesignTimeComponents.svg new file mode 100644 index 00000000..3766c4cc --- /dev/null +++ b/docs/architecture/images/DesignTimeComponents.svg @@ -0,0 +1,2 @@ +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1096px" height="492px" viewBox="-0.5 -0.5 1096 492" content="<mxfile modified="2019-05-29T11:48:19.079Z" host="wiki.onap.org" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0" etag="TgGO2uxYwQk9-0toFjvi" version="10.6.3" type="atlas"><mxAtlasLibraries/><diagram id="4fe262cb-fef2-56cb-b8af-46ed0329d089" name="Page-1">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</diagram></mxfile>"><defs/><g><rect x="345" y="400.5" width="140" height="90" fill="#dae8fc" stroke="#6c8ebf" pointer-events="none"/><g transform="translate(345.5,401.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="138" height="88" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 139px; height: 89px; overflow: hidden; white-space: nowrap; text-align: center;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b><<enumeration>><br />PDPType</b></p><hr size="1" />PDP-X<br /><div style="height: 2px">PDP-D<br />PDP-A<br /></div></div></foreignObject><text x="69" y="50" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="805" y="245.5" width="100" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(805.5,246.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="98" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 99px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>XACMLPolicy<br /></b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="49" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="915" y="245.5" width="90" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(915.5,246.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="88" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 89px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>DroolsPolicy</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /></div></foreignObject><text x="44" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="1015" y="245.5" width="80" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(1015.5,246.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="78" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 79px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>ApexPolicy</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /></div></foreignObject><text x="39" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 855 246 L 951.36 187.27" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 959.05 182.58 L 953.7 191.11 L 949.02 183.42 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 960 246 L 960 192.12" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 960 183.12 L 964.5 192.12 L 955.5 192.12 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 1055 246 L 968.39 187.65" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 960.93 182.62 L 970.91 183.92 L 965.88 191.39 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 913 169 L 913 168 Q 913 167 903 167 L 795 167 Q 785 167 785 177 L 785 440 Q 785 450 775 450 L 495 450 Q 485 450 485 448 L 485 446" fill="none" stroke="#7ea6e0" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><g transform="translate(895.5,175.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><rect x="472.5" y="348.5" width="100" height="36" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(473.5,349.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="98" height="34" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 99px; height: 35px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>XACMLImpl<br /></b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="49" y="23" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="582.5" y="348.5" width="100" height="35" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(583.5,349.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="98" height="33" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 99px; height: 34px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>DroolsImpl<br /></b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="49" y="23" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="692.5" y="348.5" width="80" height="36" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(693.5,349.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="78" height="34" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 79px; height: 35px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>ApexImpl<br /></b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="39" y="23" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="570" y="245.5" width="140" height="58" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(570.5,246.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="138" height="56" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 139px; height: 57px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PolicyTypeImpl<br /></b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="69" y="34" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 523 349 L 630.56 307.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 638.96 304.4 L 632.17 311.83 L 628.94 303.43 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 634.62 348.5 L 638.78 314.04" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 639.87 305.11 L 643.25 314.59 L 634.32 313.5 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 733 349 L 649.11 308.41" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 641.01 304.49 L 651.07 304.36 L 647.15 312.46 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 570 289 L 570 291 Q 570 293 560 293 L 450 293 Q 440 293 440 303 L 440 401" fill="none" stroke="#7ea6e0" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><g transform="translate(552.5,271.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><rect x="0" y="348.5" width="130" height="37" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(0.5,349.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="128" height="35" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 129px; height: 36px; overflow: hidden; white-space: nowrap; text-align: center;"><b>PolicyTypeXACML<br /></b><hr size="1" /><div style="height: 2px" align="left"><br /></div></div></foreignObject><text x="64" y="24" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="130" y="244.5" width="140" height="56" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(130.5,245.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="138" height="54" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 139px; height: 55px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b><<TOSCA>><br />PolicyType<br /></b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="69" y="33" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 65 349 L 190.47 304.39" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 198.95 301.37 L 191.97 308.63 L 188.96 300.15 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 200 349 L 200 311.12" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 200 302.12 L 204.5 311.12 L 195.5 311.12 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 310 350.5 L 209.23 305.15" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 201.02 301.46 L 211.07 301.05 L 207.38 309.26 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="140" y="348.5" width="120" height="38" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(140.5,349.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="118" height="36" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 119px; height: 37px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PolicyTypeDrools<br /></b></p><hr size="1" /><div style="height: 2px"><br /></div></div></foreignObject><text x="59" y="24" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="270" y="348.5" width="110" height="38" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(270.5,349.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="108" height="36" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 109px; height: 37px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PolicyTypeApex<br /></b></p><hr size="1" /><div style="height: 2px"><i><br /></i></div></div></foreignObject><text x="54" y="24" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 270 287 L 270 289 Q 270 291 280 291 L 405 291 Q 415 291 415 301 L 415 401" fill="none" stroke="#7ea6e0" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><g transform="translate(282.5,273.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><rect x="395" y="0" width="120" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(395.5,0.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="118" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 119px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PolicyCreator<br /></b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="59" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 515 45 L 630 45 Q 640 45 640 55 L 640 243.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 633.5 231.88 L 640 244.88 L 646.5 231.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(622.5,71.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="34" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">applies</div></div></foreignObject><text x="17" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">applies</text></switch></g><g transform="translate(507.5,52.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><g transform="translate(631.5,223.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><path d="M 395 30 L 245 30 Q 235 30 235 40 L 235 242.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 228.5 230.88 L 235 243.88 L 241.5 230.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(141.5,144.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="70" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">parameterizes</div></div></foreignObject><text x="35" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">parameterizes</text></switch></g><g transform="translate(407.5,42.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><g transform="translate(226.5,222.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><path d="M 515 15 L 950 15 Q 960 15 960 25 L 960 127.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 953.5 115.88 L 960 128.88 L 966.5 115.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(809.5,9.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">creates</div></div></foreignObject><text x="19" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">creates</text></switch></g><g transform="translate(527.5,2.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><g transform="translate(951.5,107.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><rect x="300" y="140" width="100" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(300.5,140.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="98" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 99px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDPXCreator<br /></b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="49" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="410" y="140" width="95" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(410.5,140.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="93" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 94px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDPDCreator</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /></div></foreignObject><text x="47" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="510" y="140" width="95" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(510.5,140.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="93" height="58" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 94px; height: 59px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b>PDPACreator</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /></div></foreignObject><text x="47" y="35" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 350 140 L 446.95 66.13" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 454.11 60.68 L 449.68 69.71 L 444.22 62.55 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 458 140 L 455.38 70.11" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 455.04 61.12 L 459.88 69.94 L 450.88 70.28 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 558 140 L 462.99 66.21" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 455.88 60.69 L 465.75 62.65 L 460.23 69.76 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 515 30 L 775 30 Q 785 30 785 40 L 785 440 Q 785 450 775 450 L 495 450 Q 485 450 485 448 L 485 446" fill="none" stroke="#7ea6e0" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><g transform="translate(527.5,16.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><path d="M 570 260 L 570 259.5 Q 570 259 560 259 L 270 259" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(400.5,253.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="55" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">implements</div></div></foreignObject><text x="28" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">implements</text></switch></g><g transform="translate(542.5,242.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="8" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">m</div></div></foreignObject><text x="4" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">m</text></switch></g><g transform="translate(276.5,245.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">n</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">n</text></switch></g><rect x="912.5" y="130" width="95" height="52" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(913.5,130.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="93" height="50" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 94px; height: 51px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b><<TOSCA>><br />Policy</b></p><hr size="1" /><div style="height: 2px"></div><hr size="1" /><div style="height: 2px"></div></div></foreignObject><text x="47" y="31" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g></g></svg>
\ No newline at end of file diff --git a/docs/architecture/images/PFDesignAndAdmin.svg b/docs/architecture/images/PFDesignAndAdmin.svg new file mode 100644 index 00000000..f91d3084 --- /dev/null +++ b/docs/architecture/images/PFDesignAndAdmin.svg @@ -0,0 +1,2 @@ +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1111px" height="333px" viewBox="-0.5 -0.5 1111 333" content="<mxfile modified="2019-05-29T11:47:21.032Z" host="wiki.onap.org" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0" etag="vJRmICOpGRSJj4XFN2EV" version="10.6.3" type="atlas"><mxAtlasLibraries/><diagram name="Page-1" id="b5b7bab2-c9e2-2cf4-8b2a-24fd1a2a6d21">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</diagram></mxfile>"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-fff2cc-1-ffd966-1-s-0"><stop offset="0%" style="stop-color:#fff2cc"/><stop offset="100%" style="stop-color:#ffd966"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color:#f5f5f5"/><stop offset="100%" style="stop-color:#b3b3b3"/></linearGradient></defs><g><rect x="250" y="150" width="150" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="none"/><g transform="translate(271.5,158.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="106" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyDevelopment</div></div></foreignObject><text x="53" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyDevelopment</text></switch></g><rect x="140" y="50" width="50" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(148.5,58.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="32" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Portal</div></div></foreignObject><text x="16" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Portal</text></switch></g><rect x="200" y="50" width="120" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(209.5,58.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="100" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyDevAPIUser</div></div></foreignObject><text x="50" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyDevAPIUser</text></switch></g><rect x="330" y="50" width="120" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="none"/><g transform="translate(342.5,58.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="95" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyDistribution</div></div></foreignObject><text x="48" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyDistribution</text></switch></g><rect x="365" y="0" width="50" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(376.5,8.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="26" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">SDC</div></div></foreignObject><text x="13" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">SDC</text></switch></g><path d="M 390 30 L 390 50" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 165 80 L 165 90 Q 165 100 175 100 L 315 100 Q 325 100 325 110 L 325 150" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 260 80 L 260 90 Q 260 100 270 100 L 315 100 Q 325 100 325 110 L 325 150" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 390 80 L 390 90 Q 390 100 380 100 L 335 100 Q 325 100 325 110 L 325 150" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="30" y="50" width="100" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="none"/><g transform="translate(41.5,58.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="76" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyDevGUI</div></div></foreignObject><text x="38" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyDevGUI</text></switch></g><path d="M 80 80 L 80 90 Q 80 100 90 100 L 315 100 Q 325 100 325 110 L 325 150" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 492 226 C 492 218 572 218 572 226 L 572 244 C 572 252 492 252 492 244 Z" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-miterlimit="10" pointer-events="none"/><path d="M 492 226 C 492 232 572 232 572 226" fill="none" stroke="#666666" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(506.5,232.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="50" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 51px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyDB</div></div></foreignObject><text x="25" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyDB</text></switch></g><rect x="462" y="10" width="110" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="none"/><g transform="translate(472.5,18.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="89" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyAdminGUI</div></div></foreignObject><text x="45" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyAdminGUI</text></switch></g><rect x="512" y="150" width="140" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="none"/><g transform="translate(526.5,158.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="111" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyAdministration</div></div></foreignObject><text x="56" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyAdministration</text></switch></g><path d="M 517 40 L 517 50 Q 517 60 527 60 L 572 60 Q 582 60 582 70 L 582 150" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 363 180 L 361.5 180 Q 360 180 360 190 L 360 195 Q 360 200 370 200 L 522 200 Q 532 200 532 210 L 532 220" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 582 180 L 582 190 Q 582 200 572 200 L 542 200 Q 532 200 532 210 L 532 220" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="587" y="10" width="135" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(597.5,18.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="113" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyAdminAPIUser</div></div></foreignObject><text x="57" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyAdminAPIUser</text></switch></g><path d="M 655 40 L 655 50 Q 655 60 645 60 L 592 60 Q 582 60 582 70 L 582 150" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="910" y="150" width="100" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="none"/><g transform="translate(916.5,158.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="87" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyExecution</div></div></foreignObject><text x="44" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyExecution</text></switch></g><rect x="760" y="235" width="100" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(789.5,243.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="41" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">DMaaP</div></div></foreignObject><text x="21" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">DMaaP</text></switch></g><path d="M 760 250 L 750 250 Q 740 250 740 240 L 740 175 Q 740 165 730 165 L 652 165" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 910 165 L 895 165 Q 885 165 885 175 L 885 240 Q 885 250 875 250 L 860 250" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="860" y="50" width="90" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(871.5,58.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="66" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">AsyncCaller</div></div></foreignObject><text x="33" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">AsyncCaller</text></switch></g><rect x="960" y="50" width="80" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(969.5,58.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="60" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">SyncCaller</div></div></foreignObject><text x="30" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">SyncCaller</text></switch></g><path d="M 986.33 143.77 L 998.67 86.23" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 985.23 148.91 L 983.28 141.33 L 986.33 143.77 L 990.12 142.8 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 999.77 81.09 L 1001.72 88.67 L 998.67 86.23 L 994.88 87.2 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 905 80 L 932.49 144.15" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 934.56 148.97 L 928.59 143.92 L 932.49 144.15 L 935.02 141.16 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 960 150 L 930.65 85.79" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 928.46 81.02 L 934.56 85.93 L 930.65 85.79 L 928.19 88.84 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 860 73 L 787.68 229.22" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 785.47 233.99 L 785.23 226.16 L 787.68 229.22 L 791.59 229.1 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 810 235 L 880.29 85.76" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 882.52 81.01 L 882.71 88.84 L 880.29 85.76 L 876.37 85.85 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 342 271.5 L 568 271.5 L 582 285.5 L 582 331.5 L 342 331.5 L 342 271.5 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><path d="M 568 271.5 L 568 285.5 L 582 285.5" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(344.5,273.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="236" height="56" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 236px; white-space: normal; overflow-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div>Policy Artifacts and Metadata</div><div>PDP Group and Subgroup Definitions</div><div>Policy to PDP Group and Subgroup Mappings<br /></div></div></div></foreignObject><text x="118" y="34" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 532 250 L 462 272" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><path d="M 620 80 L 796 80 L 810 94 L 810 130 L 620 130 L 620 80 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><path d="M 796 80 L 796 94 L 810 94" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(622.5,81.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="186" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 186px; white-space: normal; overflow-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">CRUD API for Policy Groups and Sub-Groups<br />API for Policy Deployment</div></div></foreignObject><text x="93" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">CRUD API for Policy Groups and Sub-Groups<br>API for Policy Deployment</text></switch></g><path d="M 950 241 L 1096 241 L 1110 255 L 1110 330 L 950 330 L 950 241 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><path d="M 1096 241 L 1096 255 L 1110 255" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(952.5,242.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="137" height="70" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 138px; white-space: nowrap; overflow-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div>Policies for a given</div><div>domain execute in a</div><div> PDP Group. PDP Groups</div><div> have subgroups for each</div><div> PDP type in a PDP group<br /></div></div></div></foreignObject><text x="69" y="41" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 985 180 L 1070 241" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><path d="M 325 150 L 230 133" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><path d="M 663 227.5 L 717 227.5 L 731 241.5 L 731 302.5 L 663 302.5 L 663 227.5 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><path d="M 717 227.5 L 717 241.5 L 731 241.5" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(665.5,229.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="48" height="70" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 49px; white-space: nowrap; overflow-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div>Deploy</div><div>Retire</div><div>Archive<br />Upgrade</div><div>Rollback<br /></div></div></div></foreignObject><text x="24" y="41" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 652 165 L 697 228" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><path d="M 120 115 L 216 115 L 230 129 L 230 150 L 120 150 L 120 115 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><path d="M 216 115 L 216 129 L 230 129" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(122.5,116.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="106" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 106px; white-space: normal; overflow-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">CRUD API for Policy Artifacts</div></div></foreignObject><text x="53" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">CRUD API for Policy Artifacts</text></switch></g><path d="M 582 150 L 620 105" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><rect x="0" y="208" width="30" height="13" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(39.5,207.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="164" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 165px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Policy Framework Component</div></div></foreignObject><text x="82" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Policy Framework Component</text></switch></g><rect x="0" y="225" width="30" height="13" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(37.5,224.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="97" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 98px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Other Component</div></div></foreignObject><text x="49" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Other Component</text></switch></g></g></svg>
\ No newline at end of file diff --git a/docs/architecture/images/PFHighestLevel.svg b/docs/architecture/images/PFHighestLevel.svg new file mode 100644 index 00000000..9f1afd6a --- /dev/null +++ b/docs/architecture/images/PFHighestLevel.svg @@ -0,0 +1,2 @@ +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="561px" height="96px" viewBox="-0.5 -0.5 561 96" content="<mxfile modified="2019-05-29T11:47:04.912Z" host="wiki.onap.org" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0" etag="4cUGng7DaMA2niqdvUOu" version="10.6.3" type="atlas"><mxAtlasLibraries/><diagram name="Page-1" id="c4acf3e9-155e-7222-9cf6-157b1a14988f">5VjLcpswFP0ath0exsZLx3l00U4y40WTpQwKaCIQI8sP+vW9AgmQBY2bxG08tWc80rlI+J5zj5BwgmV+uOOozL6zBFPHd5ODE1w7vj+fh/ArgaoBIjdqgJSTpIG8DliRn1iBrkK3JMEb40LBGBWkNMGYFQWOhYEhztnevOyZUfOuJUqxBaxiRG30B0lEprII3Q7/ikma6Tt7roqsUfyScrYt1P0cP3iuP004R3oudf0mQwnb96DgxgmWnDHRtPLDElNJraatGXc7Em3/N8eFOGVA0AzYIbpVqT8wSuLqGu8wZWUup2n+qKg0OXV6WE7gOsHVPiMCr0oUy+geqgGwTOQUeh40nwmlS0YZr8dKMvw4BnwjOHvBvUgyXU/DKUTsFFRWO8wFPvQgldIdZjkWvIJLVFTrVJndfSelFygs68moMaSqJ20n7hiEhiJxmNDJGKFXFo+gfSmbcUUJEMpfJ3PdMP9t3QJtud1vBcyCR1gP5XeI9Wn9gUjKUUKA8V5sXX8/RpGW20o7JrQ0mZ1JkpkliSUFLpKFXDagVzDJYp91yJpXj7Lcv4S6+6RjByJ6Ieg9KV+MkrZhWx5jo1oE4inWGTcQTowVyia2R1w4QJzGOKZIkJ25rg2xqe7wwIi0vNbNi0JTNz80p2iyUaP6C83xRL5ZAPMjYRsKrHlqbdusT5I7GnHgIslJQcABwAcrLnBVaw3yu2UtPI+H5hfloehTecifXZyHvLF9wc0Bx9sL9c/kBP9MzvQM8ux9wVsN1LdPZ5nHnpm6yEkGimwDeZ/rKTQxhWt3z39qoPnRJmR2PgOFr+v9+R0TRJFJmOdblhnaSOvyeZdjpiNLEGC3HOV4z/gLtJcsL8EtA+cUSFKYJJpkKZP1mVUQoiQtoBvDtPW+XFJG4Hi4UIGcJIm8zaBqpq4fsXB5R3WrT9M9GXx3QIdjn7xJhxO2z++q5H9+NrGqXO92/kaV27vVe5FBzf2fhe3bp0JPP5/eWdjQ7V6rNCt69+oquPkF</diagram></mxfile>"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color:#f5f5f5"/><stop offset="100%" style="stop-color:#b3b3b3"/></linearGradient></defs><g><rect x="0" y="0" width="130" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(11.5,8.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="106" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 107px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyDevelopment</div></div></foreignObject><text x="53" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyDevelopment</text></switch></g><path d="M 180 71 C 180 63 250 63 250 71 L 250 89 C 250 97 180 97 180 89 Z" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-miterlimit="10" pointer-events="none"/><path d="M 180 71 C 180 77 250 77 250 71" fill="none" stroke="#666666" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(189.5,77.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="50" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 51px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyDB</div></div></foreignObject><text x="25" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyDB</text></switch></g><path d="M 215 65 L 65 30" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="220" y="0" width="135" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(231.5,8.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="111" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 112px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyAdministration</div></div></foreignObject><text x="56" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyAdministration</text></switch></g><path d="M 215 65 L 288 30" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="420" y="0" width="140" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(446.5,8.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="87" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 88px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyExecution</div></div></foreignObject><text x="44" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyExecution</text></switch></g><path d="M 355 15 L 420 15" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><rect x="338" y="62" width="30" height="13" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(377.5,61.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="164" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 165px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Policy Framework Component</div></div></foreignObject><text x="82" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Policy Framework Component</text></switch></g><rect x="338" y="79" width="30" height="13" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(375.5,78.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="97" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 98px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Other Component</div></div></foreignObject><text x="49" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Other Component</text></switch></g></g></svg>
\ No newline at end of file diff --git a/docs/architecture/images/PolicyExecution.svg b/docs/architecture/images/PolicyExecution.svg index c9b2f7f6..23a00770 100644 --- a/docs/architecture/images/PolicyExecution.svg +++ b/docs/architecture/images/PolicyExecution.svg @@ -1,34 +1,2 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="324px" preserveAspectRatio="none" style="width:424px;height:324px;" version="1.1" viewBox="0 0 424 324" width="424px" zoomAndPan="magnify"><defs><filter height="300%" id="fso0gk0egkro" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="148.5" y="22.9951">Policy Execution</text><rect fill="#FFFFFF" filter="url(#fso0gk0egkro)" height="62.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="373.5" y="123.8594"/><rect fill="#FFFFFF" filter="url(#fso0gk0egkro)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="373.5" y="230.0625"/><rect fill="#FFFFFF" filter="url(#fso0gk0egkro)" height="181.6016" style="stroke: #000000; stroke-width: 2.0;" width="399" x="13" y="85.5938"/><rect fill="#FFFFFF" height="73.0703" style="stroke: none; stroke-width: 1.0;" width="399" x="13" y="194.125"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="76" x2="76" y1="68.5938" y2="284.1953"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="191" x2="191" y1="68.5938" y2="284.1953"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="378" x2="378" y1="68.5938" y2="284.1953"/><rect fill="#FEFECE" filter="url(#fso0gk0egkro)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="102" x="23" y="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="30" y="53.292">REQUESTOR</text><rect fill="#FEFECE" filter="url(#fso0gk0egkro)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="102" x="23" y="283.1953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="30" y="303.1904">REQUESTOR</text><rect fill="#FEFECE" filter="url(#fso0gk0egkro)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="101" x="139" y="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="87" x="146" y="53.292">RESPONDEE</text><rect fill="#FEFECE" filter="url(#fso0gk0egkro)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="101" x="139" y="283.1953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="87" x="146" y="303.1904">RESPONDEE</text><rect fill="#FEFECE" filter="url(#fso0gk0egkro)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="43" x="355" y="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="29" x="362" y="53.292">PDP</text><rect fill="#FEFECE" filter="url(#fso0gk0egkro)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="43" x="355" y="283.1953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="29" x="362" y="303.1904">PDP</text><rect fill="#FFFFFF" filter="url(#fso0gk0egkro)" height="62.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="373.5" y="123.8594"/><rect fill="#FFFFFF" filter="url(#fso0gk0egkro)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="373.5" y="230.0625"/><path d="M13,85.5938 L77,85.5938 L77,92.5938 L67,102.5938 L13,102.5938 L13,85.5938 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="181.6016" style="stroke: #000000; stroke-width: 2.0;" width="399" x="13" y="85.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="28" y="98.6606">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="163" x="92" y="97.8042">[Synchronous Invocation]</text><polygon fill="#A80036" points="361.5,119.8594,371.5,123.8594,361.5,127.8594,365.5,123.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="76" x2="367.5" y1="123.8594" y2="123.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9" x="83" y="118.7935">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="96" y="118.7935">Execute Policy</text><polygon fill="#FBFB77" filter="url(#fso0gk0egkro)" points="61,136.8594,90,136.8594,100,147.8594,90,159.8594,61,159.8594,51,147.8594,61,136.8594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="25" x="63" y="152.9263">wait</text><polygon fill="#A80036" points="87,182.125,77,186.125,87,190.125,83,186.125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="81" x2="377.5" y1="186.125" y2="186.125"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9" x="93" y="181.0591">2</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="145" x="106" y="181.0591">Policy Execution Result</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="13" x2="412" y1="195.125" y2="195.125"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="170" x="18" y="205.3354">[Asynchronous Invocation]</text><polygon fill="#A80036" points="361.5,226.0625,371.5,230.0625,361.5,234.0625,365.5,230.0625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="76" x2="367.5" y1="230.0625" y2="230.0625"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9" x="83" y="224.9966">3</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="96" y="224.9966">Execute Policy</text><polygon fill="#A80036" points="202.5,255.1953,192.5,259.1953,202.5,263.1953,198.5,259.1953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="196.5" x2="377.5" y1="259.1953" y2="259.1953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9" x="208.5" y="254.1294">4</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="145" x="221.5" y="254.1294">Policy Execution Result</text><!-- -@startuml
-title Policy Execution
-
-participant REQUESTOR
-participant RESPONDEE
-participant PDP
-
-autonumber
-
-alt Synchronous Invocation
- REQUESTOR - -> PDP: Execute Policy
- activate PDP
- hnote over REQUESTOR : wait
- PDP - -> REQUESTOR: Policy Execution Result
- deactivate PDP
-else Asynchronous Invocation
- REQUESTOR - -> PDP: Execute Policy
- activate PDP
- PDP - -> RESPONDEE: Policy Execution Result
- deactivate PDP
-end
-@enduml
- -PlantUML version 1.2019.07beta1(Unknown compile time) -(GPL source distribution) -Java Runtime: Java(TM) SE Runtime Environment -JVM: Java HotSpot(TM) 64-Bit Server VM -Java Version: 1.7.0_25-b15 -Operating System: Linux -Default Encoding: UTF-8 -Language: en -Country: US ---></g></svg>
\ No newline at end of file +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="721px" height="331px" viewBox="-0.5 -0.5 721 331" content="<mxfile modified="2019-05-29T13:08:59.539Z" host="wiki.onap.org" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0" version="10.6.3" etag="0Y5-XN-p0uPUC7Svdhwe" type="atlas"><mxAtlasLibraries/><diagram id="e8d91cf9-6c44-7d7c-13bd-2923ac8db669" name="Page-1">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</diagram></mxfile>"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-fff2cc-1-ffd966-1-s-0"><stop offset="0%" style="stop-color:#fff2cc"/><stop offset="100%" style="stop-color:#ffd966"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color:#f5f5f5"/><stop offset="100%" style="stop-color:#b3b3b3"/></linearGradient></defs><g><rect x="418" y="20" width="120" height="310" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(448.5,27.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="59" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 60px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDPGroup</div></div></foreignObject><text x="30" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDPGroup</text></switch></g><rect x="408" y="10" width="120" height="310" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(438.5,17.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="59" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 60px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDPGroup</div></div></foreignObject><text x="30" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDPGroup</text></switch></g><rect x="398" y="0" width="120" height="310" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(428.5,7.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="59" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 60px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDPGroup</div></div></foreignObject><text x="30" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDPGroup</text></switch></g><rect x="408" y="210" width="100" height="90" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(417.5,217.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="81" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 82px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDPSubGroup</div></div></foreignObject><text x="41" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDPSubGroup</text></switch></g><rect x="408" y="30" width="100" height="80" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(417.5,37.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="81" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 82px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDPSubGroup</div></div></foreignObject><text x="41" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDPSubGroup</text></switch></g><rect x="428" y="70" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(439.5,78.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-X</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-X</text></switch></g><rect x="418" y="60" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(429.5,68.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-X</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-X</text></switch></g><rect x="433" y="260" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(444.5,268.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-A</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-A</text></switch></g><rect x="423" y="250" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(434.5,258.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-A</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-A</text></switch></g><rect x="413" y="240" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(424.5,248.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-A</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-A</text></switch></g><rect x="408" y="120" width="100" height="80" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(417.5,127.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="81" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 82px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDPSubGroup</div></div></foreignObject><text x="41" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDPSubGroup</text></switch></g><rect x="438" y="165" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(448.5,173.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="38" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 39px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-D</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-D</text></switch></g><rect x="428" y="155" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(438.5,163.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="38" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 39px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-D</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-D</text></switch></g><rect x="418" y="145" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(428.5,153.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="38" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 39px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-D</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-D</text></switch></g><rect x="0" y="90" width="140" height="30" fill="url(#mx-gradient-fff2cc-1-ffd966-1-s-0)" stroke="#d6b656" pointer-events="none"/><g transform="translate(14.5,98.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="111" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PolicyAdministration</div></div></foreignObject><text x="56" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PolicyAdministration</text></switch></g><rect x="210" y="280" width="100" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(239.5,288.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="41" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">DMaaP</div></div></foreignObject><text x="21" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">DMaaP</text></switch></g><path d="M 210 303 L 180 303 Q 170 303 170 293 L 170 115 Q 170 105 160 105 L 140 105" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><path d="M 418 80 L 370 80 Q 360 80 360 90 L 360 293 Q 360 303 350 303 L 310 303" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><rect x="0" y="45" width="140" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(36.5,53.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="66" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div>AsyncCaller</div></div></div></foreignObject><text x="33" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica"><div>AsyncCaller</div></text></switch></g><path d="M 413 263 L 370 263 Q 360 263 360 273 L 360 293 Q 360 303 350 303 L 310 303" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><path d="M 418 168 L 370 168 Q 360 168 360 178 L 360 293 Q 360 303 350 303 L 310 303" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><path d="M 210 288 L 200 288 Q 190 288 190 278 L 190 70 Q 190 60 180 60 L 140 60" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="none"/><path d="M 310 288 L 315 288 Q 320 288 320 278 L 320 85 Q 320 75 330 75 L 418 75" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="none"/><path d="M 310 288 L 315 288 Q 320 288 320 278 L 320 170 Q 320 160 330 160 L 418 160" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="none"/><path d="M 310 288 L 315 288 Q 320 288 320 278 L 320 265 Q 320 255 330 255 L 413 255" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="none"/><rect x="0" y="0" width="80" height="30" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="none"/><g transform="translate(9.5,8.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="60" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">SyncCaller</div></div></foreignObject><text x="30" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">SyncCaller</text></switch></g><path d="M 80 15 L 80 17.5 Q 80 20 90 20 L 280 20 Q 290 20 290 30 L 290 58 Q 290 68 300 68 L 418 68" fill="none" stroke="#97d077" stroke-miterlimit="10" pointer-events="none"/><path d="M 270 20 L 280 20 Q 290 20 290 30 L 290 143 Q 290 153 300 153 L 418 153" fill="none" stroke="#97d077" stroke-miterlimit="10" pointer-events="none"/><path d="M 80 15 L 80 17.5 Q 80 20 90 20 L 280 20 Q 290 20 290 30 L 290 238 Q 290 248 300 248 L 413 248" fill="none" stroke="#97d077" stroke-miterlimit="10" pointer-events="none"/><path d="M 590 100 L 686 100 L 700 114 L 700 150 L 590 150 L 590 100 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><path d="M 686 100 L 686 114 L 700 114" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(592.5,101.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="106" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 106px; white-space: normal; overflow-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Each PDP is deployed as a Kubernetes <i><b>Pod</b></i></div></div></foreignObject><text x="53" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 590 0 L 706 0 L 720 14 L 720 60 L 590 60 L 590 0 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><path d="M 706 0 L 706 14 L 720 14" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(592.5,1.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="126" height="56" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 126px; white-space: normal; overflow-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">In Kubernetes, a PDPSubGroup is a Kubernetes <b><i>Deployment</i></b> </div></div></foreignObject><text x="63" y="34" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 508 50 L 590 30" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><path d="M 478 83 L 590 125" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/></g></svg>
\ No newline at end of file diff --git a/docs/architecture/images/PolicyExecutionFlow.svg b/docs/architecture/images/PolicyExecutionFlow.svg new file mode 100644 index 00000000..c9b2f7f6 --- /dev/null +++ b/docs/architecture/images/PolicyExecutionFlow.svg @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="324px" preserveAspectRatio="none" style="width:424px;height:324px;" version="1.1" viewBox="0 0 424 324" width="424px" zoomAndPan="magnify"><defs><filter height="300%" id="fso0gk0egkro" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="148.5" y="22.9951">Policy Execution</text><rect fill="#FFFFFF" filter="url(#fso0gk0egkro)" height="62.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="373.5" y="123.8594"/><rect fill="#FFFFFF" filter="url(#fso0gk0egkro)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="373.5" y="230.0625"/><rect fill="#FFFFFF" filter="url(#fso0gk0egkro)" height="181.6016" style="stroke: #000000; stroke-width: 2.0;" width="399" x="13" y="85.5938"/><rect fill="#FFFFFF" height="73.0703" style="stroke: none; stroke-width: 1.0;" width="399" x="13" y="194.125"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="76" x2="76" y1="68.5938" y2="284.1953"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="191" x2="191" y1="68.5938" y2="284.1953"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="378" x2="378" y1="68.5938" y2="284.1953"/><rect fill="#FEFECE" filter="url(#fso0gk0egkro)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="102" x="23" y="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="30" y="53.292">REQUESTOR</text><rect fill="#FEFECE" filter="url(#fso0gk0egkro)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="102" x="23" y="283.1953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="30" y="303.1904">REQUESTOR</text><rect fill="#FEFECE" filter="url(#fso0gk0egkro)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="101" x="139" y="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="87" x="146" y="53.292">RESPONDEE</text><rect fill="#FEFECE" filter="url(#fso0gk0egkro)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="101" x="139" y="283.1953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="87" x="146" y="303.1904">RESPONDEE</text><rect fill="#FEFECE" filter="url(#fso0gk0egkro)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="43" x="355" y="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="29" x="362" y="53.292">PDP</text><rect fill="#FEFECE" filter="url(#fso0gk0egkro)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="43" x="355" y="283.1953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="29" x="362" y="303.1904">PDP</text><rect fill="#FFFFFF" filter="url(#fso0gk0egkro)" height="62.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="373.5" y="123.8594"/><rect fill="#FFFFFF" filter="url(#fso0gk0egkro)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="373.5" y="230.0625"/><path d="M13,85.5938 L77,85.5938 L77,92.5938 L67,102.5938 L13,102.5938 L13,85.5938 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="181.6016" style="stroke: #000000; stroke-width: 2.0;" width="399" x="13" y="85.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="28" y="98.6606">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="163" x="92" y="97.8042">[Synchronous Invocation]</text><polygon fill="#A80036" points="361.5,119.8594,371.5,123.8594,361.5,127.8594,365.5,123.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="76" x2="367.5" y1="123.8594" y2="123.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9" x="83" y="118.7935">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="96" y="118.7935">Execute Policy</text><polygon fill="#FBFB77" filter="url(#fso0gk0egkro)" points="61,136.8594,90,136.8594,100,147.8594,90,159.8594,61,159.8594,51,147.8594,61,136.8594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="25" x="63" y="152.9263">wait</text><polygon fill="#A80036" points="87,182.125,77,186.125,87,190.125,83,186.125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="81" x2="377.5" y1="186.125" y2="186.125"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9" x="93" y="181.0591">2</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="145" x="106" y="181.0591">Policy Execution Result</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="13" x2="412" y1="195.125" y2="195.125"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="170" x="18" y="205.3354">[Asynchronous Invocation]</text><polygon fill="#A80036" points="361.5,226.0625,371.5,230.0625,361.5,234.0625,365.5,230.0625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="76" x2="367.5" y1="230.0625" y2="230.0625"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9" x="83" y="224.9966">3</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="96" y="224.9966">Execute Policy</text><polygon fill="#A80036" points="202.5,255.1953,192.5,259.1953,202.5,263.1953,198.5,259.1953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="196.5" x2="377.5" y1="259.1953" y2="259.1953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9" x="208.5" y="254.1294">4</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="145" x="221.5" y="254.1294">Policy Execution Result</text><!-- +@startuml
+title Policy Execution
+
+participant REQUESTOR
+participant RESPONDEE
+participant PDP
+
+autonumber
+
+alt Synchronous Invocation
+ REQUESTOR - -> PDP: Execute Policy
+ activate PDP
+ hnote over REQUESTOR : wait
+ PDP - -> REQUESTOR: Policy Execution Result
+ deactivate PDP
+else Asynchronous Invocation
+ REQUESTOR - -> PDP: Execute Policy
+ activate PDP
+ PDP - -> RESPONDEE: Policy Execution Result
+ deactivate PDP
+end
+@enduml
+ +PlantUML version 1.2019.07beta1(Unknown compile time) +(GPL source distribution) +Java Runtime: Java(TM) SE Runtime Environment +JVM: Java HotSpot(TM) 64-Bit Server VM +Java Version: 1.7.0_25-b15 +Operating System: Linux +Default Encoding: UTF-8 +Language: en +Country: US +--></g></svg>
\ No newline at end of file diff --git a/docs/architecture/images/TOSCAPolicyConcepts.svg b/docs/architecture/images/TOSCAPolicyConcepts.svg new file mode 100644 index 00000000..fd8f18e6 --- /dev/null +++ b/docs/architecture/images/TOSCAPolicyConcepts.svg @@ -0,0 +1,2 @@ +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="751px" height="404px" viewBox="-0.5 -0.5 751 404" content="<mxfile modified="2019-05-29T11:50:25.562Z" host="wiki.onap.org" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0" version="10.6.3" etag="HIMId35ezUBr_5G7AN1h" type="atlas"><mxAtlasLibraries/><diagram id="04337635-102b-1824-bf5a-1496629f81aa" name="Page-1">7VttT+M4EP41le4+UOW1Lx9pYfdOYiV0IB18WrmJm1jrxpHrQru//saJnfewKWQD6IKQiMfjsT3PeGY8CRN7vTt+5SgOvzEf04ll+MeJfTWxLNNeuvBHUk4pZWEsUkLAia+YcsId+YkV0VDUA/HxvsQoGKOCxGWix6IIe6JEQ5yz5zLbltHyrDEK1IxGTrjzEMU1tn+JL0K1C7fA/RcmQahnNg3Vs0Hej4CzQ6Tmm1j2NvlJu3dIy1L8+xD57LlAsq8n9pozJtKn3XGNqdStVls67ktLb7ZujiPRZYBexxOiB7X3W0aJd1LLEyetkv0z2VEUQWu1ZZG4Uz0GtL2QUP8GndhBzrkXoAPdWoWMk5/Ajyh0mUCAbi4U4tZMSiOUrhllPJlHqsvyvNLIOylRzcXxHsbe6g2aFdI3dCwx3qC90KtklKJ4TzbJuuXAHeIBiVZMCLZTTHvB2Q9cWI4/28xcucy6ZpWynzAX+FggKU1/xWyHBQdNGrp3rrStToXpzNP2c25jlq14wqJ9GY6ybWXXQSY7xxYeFLwtUJs1qCfWSu6Jsxj2QOSBu1QNuWofb0lEBGERNCgBRVZtAvYtXlRaG7aIkiACGsVbKUCqkMDpu1RkwWIpNkYeiYKbhOfKySn/KM1IEoOxW5ocoZD4Po4k9EwggTaZfcaMRCLRnLuCX1Dw2pi6ExeWtIa2mbfhV7JzsWYR7AqRBGsMRvSMpSE1WEF2gn5tBgp2sPpOqGu+N4FutYAOpzDAUimXCaQc1Jpo52oEuReQXWtAkO02kDkJAswVyqo1HuY+cZ4vhsPZbgvW96cYjwG7/4B9sSgH7CHDtd0pXOftMWJ3PeT2h47Y9hix3wfkISO2PUbsd8N5yIjt1CN2DUVZLoi7B6us6KE0PCkWDhqDmO2+8tppzYy3q8Csx7F7bdZjxvKLjMXpbt2DJCVmW3DCT7Dm70LmocX4ZBl/JD3wEKEd/nN0YU1pafe89B3yEbMtVO29EPsHqgC/Jzv8dyQwB74R5V5QHjIhMZ0Xs87vABBgm0KtT7SijWD3AfagdYQ2sCGz8NPrYwK0l+8XGhQd9vUqw4j2WVFap2A6GA8Ct9sOd7bDEe/firfGdhC8Zy14x5gT5qsEDXSP+MUhImIqIHaPQPcDtDtkqWjemo0DBUlHrgoJsFfcdOMaQX4VyIshS0WLFpBBUpidZnXdGuHtAV7LGDIXW7bAi7w8Ectu00zWAmW5H6VF/hHvPvC2B0zGnKbce0blXnzyBI9BgmCMPbIFCFKY034QXWBpGMW2bawVO8GRfym/koJWxJJ6Wyh2unoGnap2Zlq6mFbhLhbYTEcTvhC56wRh7AdYl+8AvZAFLEL0Oqeu8JGIBz0jPD/KkVNjOUtXUJQVgYofkm5XNx91H4y8hawGYJC304TWcBtTCmAH7ikNaHjT660+9ylNLv5Fu9GFVWNqm4Yqj3BMAawnXJqxyVCUuFuWptlZkXZZLtI6i0rtNV29GpbbW01SVZBpVQSlW35BkGZk2+0el3gS484U0c3e65cPDUduj0khteAgCtbYyTNRtMF0lX16V/Zw8uM7VVBWFttsJfpkNpfXz3ptbJ5pE52dRz2zN6bTehzooE+eurXPodBz9VkxaHUSLiyrPKQfA29Kwmuu2UPylfwGd/bl6tUf9uWw0yfy62f57ofC82PG1s2D23UPrstuZ3hwuJk7/Xjw7BtgXdGrWFtXB36RBadq8eCdPHj9AvJapzOAE5+/mxNvC+xlMC+qSWQ/GNVvER85MPQGUk8YWRWInN8AkX4JX4Ao+9jj8/hxc2oYTsmTT03TLXpzYFiWPLppZa6/mqq/On23GtL3c50/rNTUN/0M+Xk/BlX90F/Pc34ssNyyJHd+ZixQkqpyKgvqx8Trn3p83Eihz+P/LFLol8qfI1L0B1I/GFnLCkTLt0MEzfz/vVL2/J/q7Ov/AA==</diagram></mxfile>"><defs><clipPath id="mx-clip-525-174-220-24-0"><rect x="525" y="174" width="220" height="24"/></clipPath><clipPath id="mx-clip-525-200-220-24-0"><rect x="525" y="200" width="220" height="24"/></clipPath><clipPath id="mx-clip-525-226-220-24-0"><rect x="525" y="226" width="220" height="24"/></clipPath><clipPath id="mx-clip-275-34-220-24-0"><rect x="275" y="34" width="220" height="24"/></clipPath><clipPath id="mx-clip-275-60-220-24-0"><rect x="275" y="60" width="220" height="24"/></clipPath><clipPath id="mx-clip-275-86-220-24-0"><rect x="275" y="86" width="220" height="24"/></clipPath><clipPath id="mx-clip-5-174-220-24-0"><rect x="5" y="174" width="220" height="24"/></clipPath><clipPath id="mx-clip-5-200-220-24-0"><rect x="5" y="200" width="220" height="24"/></clipPath><clipPath id="mx-clip-5-226-220-24-0"><rect x="5" y="226" width="220" height="24"/></clipPath><clipPath id="mx-clip-5-252-220-24-0"><rect x="5" y="252" width="220" height="24"/></clipPath><clipPath id="mx-clip-5-278-220-24-0"><rect x="5" y="278" width="220" height="24"/></clipPath><clipPath id="mx-clip-5-304-220-24-0"><rect x="5" y="304" width="220" height="24"/></clipPath><clipPath id="mx-clip-5-330-220-24-0"><rect x="5" y="330" width="220" height="24"/></clipPath><clipPath id="mx-clip-5-356-220-24-0"><rect x="5" y="356" width="220" height="24"/></clipPath><clipPath id="mx-clip-5-382-220-24-0"><rect x="5" y="382" width="220" height="24"/></clipPath></defs><g><path d="M 520 168 L 520 142 L 750 142 L 750 168" fill="#fff2cc" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><path d="M 520 168 L 520 246 L 750 246 L 750 168" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><path d="M 520 168 L 750 168" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="634.5" y="159.5">Policy</text></g><rect x="520" y="168" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-525-174-220-24-0)" font-size="12px"><text x="526.5" y="186.5">+ properties:property definition list</text></g><rect x="520" y="194" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-525-200-220-24-0)" font-size="12px"><text x="526.5" y="212.5">+ targets: string[]</text></g><rect x="520" y="220" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-525-226-220-24-0)" font-size="12px"><text x="526.5" y="238.5">+ triggers: trigger list</text></g><path d="M 270 28 L 270 2 L 500 2 L 500 28" fill="#fff2cc" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><path d="M 270 28 L 270 106 L 500 106 L 500 28" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><path d="M 270 28 L 500 28" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="384.5" y="19.5">PolicyType</text></g><rect x="270" y="28" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-275-34-220-24-0)" font-size="12px"><text x="276.5" y="46.5">+ properties: property definition list</text></g><rect x="270" y="54" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-275-60-220-24-0)" font-size="12px"><text x="276.5" y="72.5">+ targets: string[]</text></g><rect x="270" y="80" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-275-86-220-24-0)" font-size="12px"><text x="276.5" y="98.5">+ triggers: trigger list</text></g><path d="M 0 168 L 0 142 L 230 142 L 230 168" fill="#fff2cc" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><path d="M 0 168 L 0 246 L 230 246 L 230 168" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><path d="M 0 168 L 230 168" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="none"/><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="114.5" y="159.5">Trigger</text></g><rect x="0" y="168" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-5-174-220-24-0)" font-size="12px"><text x="6.5" y="186.5">+ event_type: string (event name)</text></g><rect x="0" y="194" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-5-200-220-24-0)" font-size="12px"><text x="6.5" y="212.5">+ schedule: TimeInterval</text></g><rect x="0" y="220" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-5-226-220-24-0)" font-size="12px"><text x="6.5" y="238.5">+ target_filter: event filter</text></g><rect x="0" y="246" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-5-252-220-24-0)" font-size="12px"><text x="6.5" y="264.5">+ condition: constraint clause</text></g><rect x="0" y="272" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-5-278-220-24-0)" font-size="12px"><text x="6.5" y="290.5">+ constraint: constraint clause</text></g><rect x="0" y="298" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-5-304-220-24-0)" font-size="12px"><text x="6.5" y="316.5">+ period: scalar-unit.time</text></g><rect x="0" y="324" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-5-330-220-24-0)" font-size="12px"><text x="6.5" y="342.5">+ evaluations: integer</text></g><rect x="0" y="350" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-5-356-220-24-0)" font-size="12px"><text x="6.5" y="368.5">+ method: string</text></g><rect x="0" y="376" width="230" height="26" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g fill="#000000" font-family="Helvetica" clip-path="url(#mx-clip-5-382-220-24-0)" font-size="12px"><text x="6.5" y="394.5">+ action: string or operation</text></g><path d="M 500 12 L 625 12 Q 635 12 635 22 L 635 142" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(560.5,-0.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="61" height="24" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;"><div>specification</div><div>of</div></div></div></foreignObject><text x="31" y="18" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><g transform="translate(502.5,19.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="6" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="3" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">1</text></switch></g><g transform="translate(614.5,127.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">0..n</div></div></foreignObject><text x="9" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">0..n</text></switch></g><path d="M 270 93 L 125 93 Q 115 93 115 103 L 115 142" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(151.5,80.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="58" height="24" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;"><div>can be</div><div>triggered by</div></div></div></foreignObject><text x="29" y="18" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><g transform="translate(242.5,74.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">0..n</div></div></foreignObject><text x="9" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">0..n</text></switch></g><g transform="translate(92.5,125.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">0..n</div></div></foreignObject><text x="9" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">0..n</text></switch></g><path d="M 522 155 L 385 155 Q 375 155 375 154.5 L 375 154.25 Q 375 154 365 154 L 231 154" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(381.5,139.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="11" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">triggers</div></div></foreignObject><text x="19" y="11" fill="#000000" text-anchor="middle" font-size="11px" font-family="Helvetica">triggers</text></switch></g><g transform="translate(494.5,136.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">0..n</div></div></foreignObject><text x="9" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">0..n</text></switch></g><g transform="translate(239.5,132.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">0..n</div></div></foreignObject><text x="9" y="10" fill="#000000" text-anchor="middle" font-size="10px" font-family="Helvetica">0..n</text></switch></g></g></svg>
\ No newline at end of file diff --git a/docs/architecture/images/ToscaPolicyStructure.png b/docs/architecture/images/ToscaPolicyStructure.png Binary files differdeleted file mode 100644 index f1e6cb47..00000000 --- a/docs/architecture/images/ToscaPolicyStructure.png +++ /dev/null diff --git a/docs/architecture/images/detailed.png b/docs/architecture/images/detailed.png Binary files differdeleted file mode 100644 index 9ac8cf30..00000000 --- a/docs/architecture/images/detailed.png +++ /dev/null diff --git a/docs/architecture/images/execution.png b/docs/architecture/images/execution.png Binary files differdeleted file mode 100644 index 4e564856..00000000 --- a/docs/architecture/images/execution.png +++ /dev/null diff --git a/docs/architecture/images/highest.png b/docs/architecture/images/highest.png Binary files differdeleted file mode 100644 index bfe07ae8..00000000 --- a/docs/architecture/images/highest.png +++ /dev/null diff --git a/docs/architecture/images/objectmodel1.png b/docs/architecture/images/objectmodel1.png Binary files differdeleted file mode 100644 index ef3c7d12..00000000 --- a/docs/architecture/images/objectmodel1.png +++ /dev/null diff --git a/docs/architecture/images/objectmodel2.png b/docs/architecture/images/objectmodel2.png Binary files differdeleted file mode 100644 index 44f79746..00000000 --- a/docs/architecture/images/objectmodel2.png +++ /dev/null diff --git a/docs/architecture/plantuml/PolicyExecution.puml b/docs/architecture/plantuml/PolicyExecutionFlow.puml index a06fdf5f..a06fdf5f 100644 --- a/docs/architecture/plantuml/PolicyExecution.puml +++ b/docs/architecture/plantuml/PolicyExecutionFlow.puml diff --git a/docs/architecture/tosca-policy-primer.rst b/docs/architecture/tosca-policy-primer.rst index 686d3564..3f8e78e7 100644 --- a/docs/architecture/tosca-policy-primer.rst +++ b/docs/architecture/tosca-policy-primer.rst @@ -15,7 +15,7 @@ This page gives a short overview of how Policy is modelled in the TOSCA defines three concepts for Policy: Policy Type, Policy, and Trigger. -.. image:: images/ToscaPolicyStructure.png +.. image:: images/TOSCAPolicyConcepts.svg :width: 800 Policy Type @@ -64,12 +64,12 @@ More formally, TOSCA defines a Trigger as an artifact that "defines the event, * its event_type, which defines the name of the event that fires the policy * its schedule, which defines the time interval in which the trigger is active * its target_filter, which defines specific filters for firing such as specific characteristics of the nodes or -relations for which the trigger should or should not fire + relations for which the trigger should or should not fire * its condition, which defines extra conditions on the incoming event for firing the trigger * its constraint, which defines extra conditions on the incoming event for not firing the trigger * its period, which defines the period to use for evaluating conditions and constraints * its evaluations, which defines the number of evaluations that must be performed over the period to assert the -condition or constraint exists + condition or constraint exists * its method, the method to use for evaluation of conditions and constraints * its action, the workflow or operation to invoke when the trigger fires |