diff --git a/doc/SysMLSec/fig/automaticgeneration.png b/doc/SysMLSec/fig/automaticgeneration.png
index 23229151f1a89940273842662b3de229d74834e8..291d004ec17390a9ac0b49aafac20576011e5c50 100644
Binary files a/doc/SysMLSec/fig/automaticgeneration.png and b/doc/SysMLSec/fig/automaticgeneration.png differ
diff --git a/doc/SysMLSec/fig/hsmact.svg b/doc/SysMLSec/fig/hsmact.svg
new file mode 100644
index 0000000000000000000000000000000000000000..05f0598cd9ee47f9eae8ac569a5d99d7763ecdfe
--- /dev/null
+++ b/doc/SysMLSec/fig/hsmact.svg
@@ -0,0 +1,844 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:Dialog"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   width="236.95963"
+   height="279.29044"
+   sodipodi:docname="hsmact.svg">
+  <metadata
+     id="metadata205">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1041"
+     id="namedview203"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="0.63429569"
+     inkscape:cx="-245.62252"
+     inkscape:cy="98.276187"
+     inkscape:window-x="2048"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g15" />
+  <!--Generated by the Batik Graphics2D SVG Generator-->
+  <defs
+     id="genericDefs">
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath1-3">
+      <path
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path9-9"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3194">
+      <path
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3196"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3198">
+      <path
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3200"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath1-3-3">
+      <path
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path9-9-0"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3240">
+      <path
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3242"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath1-1">
+      <path
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path9-5"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath1-3-3-7">
+      <path
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path9-9-0-1"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3284">
+      <path
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3286"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath1-3-3-7-5">
+      <path
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path9-9-0-1-7"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3319">
+      <path
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3321"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath1-4">
+      <path
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path9-8"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+  </defs>
+  <g
+     id="g5"
+     transform="translate(-101.19736,-134.85932)">
+    <defs
+       id="defs1">
+      <clipPath
+         clipPathUnits="userSpaceOnUse"
+         id="clipPath1">
+        <path
+           d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+           id="path9"
+           inkscape:connector-curvature="0" />
+      </clipPath>
+    </defs>
+    <g
+       style="font-family:sans-serif"
+       id="g15"
+       transform="translate(-63.850347,7.094483)">
+      <line
+         x1="226"
+         x2="236"
+         y1="621"
+         style="fill:none;stroke:#68e5ff"
+         y2="611"
+         id="line139"
+         clip-path="url(#clipPath1)"
+         transform="translate(70.107289,-251.78954)" />
+      <polygon
+         style="stroke:none"
+         points="319,181 315,190 310,181 "
+         id="polygon25"
+         clip-path="url(#clipPath1)"
+         transform="translate(-0.1731605,8.4128465)" />
+      <polygon
+         style="fill:none"
+         points="319,181 315,190 310,181 "
+         id="polygon27"
+         clip-path="url(#clipPath1)"
+         transform="translate(-0.1731605,8.4128465)" />
+      <line
+         x1="275"
+         x2="165"
+         y1="215"
+         style="fill:none;stroke-width:2.87090135"
+         y2="295"
+         id="line29"
+         clip-path="url(#clipPath1)"
+         transform="matrix(0.32414301,0,0,0.37430602,185.368,134.81981)" />
+      <polygon
+         style="stroke:none"
+         points="169,285 174,293 165,295 "
+         id="polygon31"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.659098,-47.536051)" />
+      <polygon
+         style="fill:none"
+         points="169,285 174,293 165,295 "
+         id="polygon33"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.659098,-47.536051)" />
+      <circle
+         style="stroke:none"
+         r="7.5"
+         cx="407.5"
+         cy="57.5"
+         id="circle53"
+         clip-path="url(#clipPath1)"
+         d="m 415,57.5 c 0,4.142136 -3.35786,7.5 -7.5,7.5 -4.14214,0 -7.5,-3.357864 -7.5,-7.5 0,-4.142136 3.35786,-7.5 7.5,-7.5 4.14214,0 7.5,3.357864 7.5,7.5 z"
+         sodipodi:cx="407.5"
+         sodipodi:cy="57.5"
+         sodipodi:rx="7.5"
+         sodipodi:ry="7.5"
+         transform="translate(-93.078,77.764839)" />
+      <line
+         x1="407"
+         x2="407"
+         y1="65"
+         style="fill:none;stroke-width:0.62101328"
+         y2="70"
+         id="line55"
+         clip-path="url(#clipPath1)"
+         transform="matrix(1,0,0,2.5929742,-92.388259,-29.810186)" />
+      <rect
+         x="229"
+         y="100"
+         width="173"
+         style="fill:#c4a67a;stroke:none"
+         rx="2.5"
+         ry="2.5"
+         height="20"
+         id="rect57"
+         clip-path="url(#clipPath1)"
+         transform="translate(-0.49267243,60.164873)" />
+      <rect
+         x="228"
+         y="99"
+         width="173"
+         style="fill:none;stroke:#c4a67a"
+         rx="2.5"
+         ry="2.5"
+         height="20"
+         id="rect59"
+         clip-path="url(#clipPath1)"
+         transform="translate(0,60.75608)" />
+      <rect
+         x="229"
+         y="100"
+         width="173"
+         style="fill:none"
+         rx="2.5"
+         ry="2.5"
+         height="20"
+         id="rect61"
+         clip-path="url(#clipPath1)"
+         transform="translate(-0.49267243,60.164873)" />
+      <line
+         x1="315"
+         x2="315"
+         y1="120"
+         style="fill:none;stroke-width:0.68733406"
+         y2="125"
+         id="line65"
+         clip-path="url(#clipPath1)"
+         transform="matrix(1,0,0,2.1167242,0,-72.69246)" />
+      <text
+         x="234"
+         y="115"
+         style="stroke:none"
+         xml:space="preserve"
+         id="text67"
+         clip-path="url(#clipPath1)"
+         transform="translate(-1.8721552,59.770735)">getReqArg (channelIndex)</text>
+      <polygon
+         style="fill:#c7f369;stroke:none"
+         points="332,215 315,232 300,215 315,200 "
+         id="polygon69"
+         clip-path="url(#clipPath1)" />
+      <line
+         x1="315"
+         x2="330"
+         y1="200"
+         style="fill:none"
+         y2="215"
+         id="line71"
+         clip-path="url(#clipPath1)" />
+      <line
+         x1="300"
+         x2="315"
+         y1="215"
+         style="fill:none"
+         y2="230"
+         id="line73"
+         clip-path="url(#clipPath1)" />
+      <line
+         x1="315"
+         x2="300"
+         y1="200"
+         style="fill:none"
+         y2="215"
+         id="line75"
+         clip-path="url(#clipPath1)" />
+      <line
+         x1="330"
+         x2="315"
+         y1="215"
+         style="fill:none"
+         y2="230"
+         id="line77"
+         clip-path="url(#clipPath1)" />
+      <line
+         x1="300"
+         x2="275"
+         y1="215"
+         style="fill:none"
+         y2="215"
+         id="line81"
+         clip-path="url(#clipPath1)" />
+      <line
+         x1="330"
+         x2="355"
+         y1="215"
+         style="fill:none"
+         y2="215"
+         id="line83"
+         clip-path="url(#clipPath1)" />
+      <line
+         x1="315"
+         x2="315"
+         y1="230"
+         style="fill:none"
+         y2="255"
+         id="line85"
+         clip-path="url(#clipPath1)" />
+      <text
+         x="275"
+         y="210"
+         style="stroke:none"
+         xml:space="preserve"
+         id="text87"
+         clip-path="url(#clipPath1)"
+         transform="translate(-97.647676,0.19706897)">[channelIndex==0]</text>
+      <text
+         x="335"
+         y="210"
+         style="stroke:none"
+         xml:space="preserve"
+         id="text89"
+         clip-path="url(#clipPath1)">[ ]</text>
+      <text
+         x="320"
+         y="245"
+         style="stroke:none"
+         xml:space="preserve"
+         id="text91"
+         clip-path="url(#clipPath1)">[ ]</text>
+      <polygon
+         style="fill:#68e5ff;stroke:none"
+         points="228,300 228,320 103,320 113,310 103,300 "
+         id="polygon93"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.067891,-51.280361)" />
+      <line
+         x1="104"
+         x2="229"
+         y1="301"
+         style="fill:none;stroke:#68e5ff"
+         y2="301"
+         id="line99"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.067891,-51.280361)" />
+      <line
+         x1="229"
+         x2="229"
+         y1="301"
+         style="fill:none;stroke:#68e5ff"
+         y2="321"
+         id="line101"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.067891,-51.280361)" />
+      <line
+         x1="104"
+         x2="229"
+         y1="321"
+         style="fill:none;stroke:#68e5ff"
+         y2="321"
+         id="line103"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.067891,-51.280361)" />
+      <line
+         x1="104"
+         x2="114"
+         y1="301"
+         style="fill:none;stroke:#68e5ff"
+         y2="311"
+         id="line105"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.067891,-51.280361)" />
+      <line
+         x1="104"
+         x2="114"
+         y1="321"
+         style="fill:none;stroke:#68e5ff"
+         y2="311"
+         id="line107"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.067891,-51.280361)" />
+      <line
+         x1="103"
+         x2="228"
+         y1="300"
+         style="fill:none"
+         y2="300"
+         id="line109"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.067891,-51.280361)" />
+      <line
+         x1="228"
+         x2="228"
+         y1="300"
+         style="fill:none"
+         y2="320"
+         id="line111"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.067891,-51.280361)" />
+      <line
+         x1="103"
+         x2="228"
+         y1="320"
+         style="fill:none"
+         y2="320"
+         id="line113"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.067891,-51.280361)" />
+      <line
+         x1="103"
+         x2="113"
+         y1="300"
+         style="fill:none"
+         y2="310"
+         id="line115"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.067891,-51.280361)" />
+      <line
+         x1="103"
+         x2="113"
+         y1="320"
+         style="fill:none"
+         y2="310"
+         id="line117"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.067891,-51.280361)" />
+      <text
+         x="108"
+         y="300"
+         style="stroke:none"
+         xml:space="preserve"
+         id="text119"
+         clip-path="url(#clipPath1)"
+         transform="translate(66.330032,-53.509942)">chl</text>
+      <text
+         x="115"
+         y="315"
+         style="stroke:none"
+         xml:space="preserve"
+         id="text121"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.067891,-51.280361)">data_comm_T1(1) </text>
+      <text
+         x="196"
+         y="331"
+         style="stroke:none"
+         xml:space="preserve"
+         id="text123"
+         clip-path="url(#clipPath1)"
+         transform="translate(71.067891,-51.280361)">sec:hsmSec_comm</text>
+      <polygon
+         style="fill:#68e5ff;stroke:none"
+         points="235,610 225,620 95,620 95,600 225,600 "
+         id="polygon125"
+         clip-path="url(#clipPath1)"
+         transform="translate(70.547706,-251.54568)" />
+      <line
+         x1="96"
+         x2="226"
+         y1="601"
+         style="fill:none;stroke:#68e5ff;stroke-width:1.00334084"
+         y2="601"
+         id="line131"
+         clip-path="url(#clipPath1)"
+         transform="matrix(0.99335168,0,0,1,71.182621,-251.54568)" />
+      <line
+         x1="96"
+         x2="226"
+         y1="621"
+         style="fill:none;stroke:#68e5ff;stroke-width:1.00359595"
+         y2="621"
+         id="line133"
+         clip-path="url(#clipPath1)"
+         transform="matrix(0.99284673,0,0,1,71.230853,-251.54568)" />
+      <line
+         x1="96"
+         x2="96"
+         y1="601"
+         style="fill:none;stroke:#68e5ff"
+         y2="621"
+         id="line135"
+         clip-path="url(#clipPath1)"
+         transform="translate(70.547706,-251.54568)" />
+      <line
+         x1="95"
+         x2="225"
+         y1="600"
+         style="fill:none"
+         y2="600"
+         id="line141"
+         clip-path="url(#clipPath1)"
+         transform="translate(70.547706,-251.54568)" />
+      <line
+         x1="95"
+         x2="225"
+         y1="620"
+         style="fill:none"
+         y2="620"
+         id="line143"
+         clip-path="url(#clipPath1)"
+         transform="translate(70.547706,-251.54568)" />
+      <line
+         x1="95"
+         x2="95"
+         y1="600"
+         style="fill:none"
+         y2="620"
+         id="line145"
+         clip-path="url(#clipPath1)"
+         transform="translate(70.547706,-251.54568)" />
+      <line
+         x1="225"
+         x2="235"
+         y1="600"
+         style="fill:none;stroke-width:1.03990936"
+         y2="610"
+         id="line147"
+         clip-path="url(#clipPath1)"
+         transform="matrix(0.95122792,0,0,0.97213024,82.009145,-234.54513)" />
+      <line
+         x1="225"
+         x2="235"
+         y1="620"
+         style="fill:none;stroke-width:1.04376268"
+         y2="610"
+         id="line149"
+         clip-path="url(#clipPath1)"
+         transform="matrix(0.94826939,0,0,0.96797629,82.704398,-232.01122)" />
+      <text
+         x="100"
+         y="600"
+         style="stroke:none"
+         xml:space="preserve"
+         id="text151"
+         clip-path="url(#clipPath1)"
+         transform="translate(65.531149,-253.77527)">chl</text>
+      <text
+         x="100"
+         y="615"
+         style="stroke:none"
+         xml:space="preserve"
+         id="text153"
+         clip-path="url(#clipPath1)"
+         transform="translate(70.547706,-251.54568)">retData_comm_T1(1)</text>
+      <text
+         x="200"
+         y="631"
+         style="stroke:none"
+         xml:space="preserve"
+         id="text155"
+         clip-path="url(#clipPath1)"
+         transform="translate(70.547706,-251.54568)">sec:hsmSec_comm</text>
+      <rect
+         x="150"
+         y="500"
+         width="15"
+         style="fill:#c7f369;stroke:none"
+         height="35"
+         id="rect157"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <polygon
+         style="fill:#c7f369;stroke:none"
+         points="157,540 150,535 165,535 "
+         id="polygon159"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="150"
+         x2="165"
+         y1="500"
+         style="fill:none"
+         y2="500"
+         id="line161"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="150"
+         x2="150"
+         y1="500"
+         style="fill:none"
+         y2="535"
+         id="line163"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="165"
+         x2="165"
+         y1="500"
+         style="fill:none"
+         y2="535"
+         id="line165"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="150"
+         x2="157"
+         y1="535"
+         style="fill:none"
+         y2="540"
+         id="line167"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="157"
+         x2="165"
+         y1="540"
+         style="fill:none"
+         y2="535"
+         id="line169"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="157"
+         x2="157"
+         y1="540"
+         style="fill:none"
+         y2="545"
+         id="line173"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="155"
+         x2="160"
+         y1="505"
+         style="fill:none"
+         y2="505"
+         id="line175"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="155"
+         x2="160"
+         y1="517"
+         style="fill:none"
+         y2="517"
+         id="line177"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="155"
+         x2="160"
+         y1="511"
+         style="fill:none"
+         y2="511"
+         id="line179"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="155"
+         x2="155"
+         y1="505"
+         style="fill:none"
+         y2="511"
+         id="line181"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="160"
+         x2="160"
+         y1="511"
+         style="fill:none"
+         y2="517"
+         id="line183"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="155"
+         x2="160"
+         y1="520"
+         style="fill:none"
+         y2="520"
+         id="line185"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="155"
+         x2="160"
+         y1="532"
+         style="fill:none"
+         y2="532"
+         id="line187"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="155"
+         x2="160"
+         y1="526"
+         style="fill:none"
+         y2="526"
+         id="line189"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <line
+         x1="155"
+         x2="155"
+         y1="520"
+         style="fill:none"
+         y2="532"
+         id="line191"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <text
+         x="172"
+         y="517"
+         style="stroke:none"
+         xml:space="preserve"
+         id="text193"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)">sec:hsmSec_comm</text>
+      <image
+         x="128"
+         y="517"
+         width="20"
+         xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAAZklEQVR42mNgGOyA EYn9H48cyQb+J9JSogz8T00fU9XAc/d/MTBRO1JYiLEVGRgpsmHIIYuxEGMrUAPO 1ACVg4sx4YtFdNchxzqaHCOygViTBpJ3GHEZiibHiGEQ0JD/eLw6CugEAGstHBuj 0FC+AAAAAElFTkSuQmCC"
+         height="16"
+         preserveAspectRatio="none"
+         id="image195"
+         clip-path="url(#clipPath1)"
+         transform="translate(78.803801,-208.00422)" />
+      <circle
+         style="stroke:none"
+         r="8"
+         cx="160"
+         cy="710"
+         id="circle197"
+         clip-path="url(#clipPath1)"
+         d="m 168,710 c 0,4.41828 -3.58172,8 -8,8 -4.41828,0 -8,-3.58172 -8,-8 0,-4.41828 3.58172,-8 8,-8 4.41828,0 8,3.58172 8,8 z"
+         sodipodi:cx="160"
+         sodipodi:cy="710"
+         sodipodi:rx="8"
+         sodipodi:ry="8"
+         transform="translate(77.574649,-313.44471)" />
+      <circle
+         style="fill:none"
+         r="10"
+         cx="160"
+         cy="710"
+         id="circle199"
+         clip-path="url(#clipPath1)"
+         d="m 170,710 c 0,5.52285 -4.47715,10 -10,10 -5.52285,0 -10,-4.47715 -10,-10 0,-5.52285 4.47715,-10 10,-10 5.52285,0 10,4.47715 10,10 z"
+         sodipodi:cx="160"
+         sodipodi:cy="710"
+         sodipodi:rx="10"
+         sodipodi:ry="10"
+         transform="translate(77.574649,-313.44471)" />
+      <polygon
+         transform="translate(-0.56912825,-31.303148)"
+         style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+         points="310,181 319,181 315,190 "
+         id="polygon25-8"
+         clip-path="url(#clipPath1-3)" />
+      <polygon
+         transform="translate(-0.56912825,-31.303148)"
+         style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+         points="310,181 319,181 315,190 "
+         id="polygon27-1"
+         clip-path="url(#clipPath1-3)" />
+      <line
+         x1="407"
+         x2="407"
+         y1="65"
+         style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:0.62101328;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+         y2="70"
+         id="line55-3"
+         clip-path="url(#clipPath1-1)"
+         transform="matrix(1,0,0,2.5929742,-170.05598,102.12302)" />
+      <polygon
+         transform="translate(-78.236854,100.63005)"
+         style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+         points="315,190 310,181 319,181 "
+         id="polygon25-8-8"
+         clip-path="url(#clipPath1-3-3)" />
+      <polygon
+         transform="translate(-78.236854,100.63005)"
+         style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+         points="315,190 310,181 319,181 "
+         id="polygon27-1-4"
+         clip-path="url(#clipPath1-3-3)" />
+      <polygon
+         transform="translate(-78.608441,156.82268)"
+         style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+         points="315,190 310,181 319,181 "
+         id="polygon25-8-8-0"
+         clip-path="url(#clipPath1-3-3-7)" />
+      <polygon
+         transform="translate(-78.608441,156.82268)"
+         style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+         points="315,190 310,181 319,181 "
+         id="polygon27-1-4-7"
+         clip-path="url(#clipPath1-3-3-7)" />
+      <line
+         x1="157"
+         x2="157"
+         y1="540"
+         style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+         y2="545"
+         id="line173-2"
+         clip-path="url(#clipPath1-4)"
+         transform="translate(79.841716,-169.74297)" />
+      <polygon
+         transform="translate(-77.570524,195.08393)"
+         style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+         points="315,190 310,181 319,181 "
+         id="polygon25-8-8-0-3"
+         clip-path="url(#clipPath1-3-3-7-5)" />
+      <polygon
+         transform="translate(-77.570524,195.08393)"
+         style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+         points="315,190 310,181 319,181 "
+         id="polygon27-1-4-7-3"
+         clip-path="url(#clipPath1-3-3-7-5)" />
+    </g>
+  </g>
+</svg>
diff --git a/doc/SysMLSec/fig/hsmarch.svg b/doc/SysMLSec/fig/hsmarch.svg
new file mode 100644
index 0000000000000000000000000000000000000000..add74c9f76c7ba15f8b8f1ff0ce4395cb5561994
--- /dev/null
+++ b/doc/SysMLSec/fig/hsmarch.svg
@@ -0,0 +1,2840 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:Dialog"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   width="1261.0444"
+   height="411.83667"
+   sodipodi:docname="hsmarch.svg">
+  <metadata
+     id="metadata533">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="2048"
+     inkscape:window-height="1086"
+     id="namedview531"
+     showgrid="true"
+     inkscape:snap-global="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:zoom="0.63429569"
+     inkscape:cx="484.28315"
+     inkscape:cy="158.05948"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g5"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3510"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true"
+       originx="-21.594309px"
+       originy="-503.02371px" />
+  </sodipodi:namedview>
+  <!--Generated by the Batik Graphics2D SVG Generator-->
+  <defs
+     id="genericDefs">
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath1-2">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path9-7" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3780">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3782" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3784">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3786" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3788">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3790" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3792">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3794" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3796">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3798" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3800">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3802" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3804">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3806" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3808">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3810" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3812">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3814" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3816">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3818" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3820">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3822" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3824">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3826" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3828">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3830" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3832">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3834" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3836">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3838" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3840">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3842" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3844">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3846" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3848">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3850" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3852">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3854" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3856">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3858" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3860">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3862" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3864">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3866" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3868">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3870" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3872">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3874" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3876">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3878" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3880">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3882" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3884">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3886" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3888">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3890" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3892">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3894" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3896">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3898" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3900">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3902" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3904">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3906" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3908">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3910" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3912">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3914" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3916">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3918" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3920">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3922" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3924">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3926" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3928">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3930" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3932">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3934" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3936">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3938" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3940">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3942" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3944">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3946" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3948">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3950" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3952">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3954" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3956">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3958" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3960">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3962" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3964">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3966" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3968">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3970" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3972">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3974" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3976">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3978" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3980">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3982" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3984">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3986" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3988">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path3990" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath1-8">
+      <path
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+         id="path9-3"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+  </defs>
+  <g
+     id="g5"
+     transform="translate(-27.506378,-137.50181)">
+    <defs
+       id="defs1">
+      <clipPath
+         clipPathUnits="userSpaceOnUse"
+         id="clipPath1">
+        <path
+           d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z"
+           id="path9"
+           inkscape:connector-curvature="0" />
+      </clipPath>
+    </defs>
+    <line
+       clip-path="url(#clipPath1-8)"
+       id="line25-2"
+       y2="371"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:0.97460783;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="344"
+       x2="298"
+       x1="298"
+       transform="matrix(1,0,0,1.0527863,743.02713,-27.773772)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line17"
+       y2="453"
+       style="fill:none;stroke-width:1.45667028;font-family:sans-serif"
+       y1="493"
+       x2="694"
+       x1="694"
+       transform="matrix(1,0,0,0.47127837,-28.912069,222.39044)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line19"
+       y2="381"
+       style="fill:none;font-family:sans-serif"
+       y1="344"
+       x2="569"
+       x1="423"
+       transform="translate(-23,-4.6378174)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line21"
+       y2="381"
+       style="fill:none;stroke-width:0.95481837;font-family:sans-serif"
+       y1="337"
+       x2="819"
+       x1="953"
+       transform="matrix(1.0235306,0,0,1.0716614,-45.424684,-28.787724)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line25"
+       y2="371"
+       style="fill:none;font-family:sans-serif"
+       y1="344"
+       x2="298"
+       x1="298"
+       transform="translate(-23,-4.6378174)" />
+    <line
+       transform="matrix(-0.00309774,0,0,0.37058583,213.72797,260.34555)"
+       clip-path="url(#clipPath1)"
+       id="line27"
+       y2="421"
+       style="fill:none;stroke-width:29.5143528;font-family:sans-serif"
+       y1="470"
+       x2="235"
+       x1="220" />
+    <line
+       transform="matrix(-0.00299522,0,0,0.37237817,361.90897,260.67485)"
+       clip-path="url(#clipPath1)"
+       id="line29"
+       y2="421"
+       style="fill:none;stroke-width:29.94286537;font-family:sans-serif"
+       y1="467"
+       x2="360"
+       x1="403" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect31"
+       height="201"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="1"
+       y="144"
+       x="236"
+       transform="translate(-23.278698,-2.9656317)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect33"
+       height="1"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="249"
+       y="144"
+       x="237"
+       transform="translate(-23.278698,-2.9656317)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect35"
+       height="1"
+       style="stroke:none;font-family:sans-serif"
+       width="250"
+       y="344"
+       x="237"
+       transform="translate(-23.278698,-2.9656317)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect37"
+       height="200"
+       style="stroke:none;font-family:sans-serif"
+       width="1"
+       y="144"
+       x="486"
+       transform="translate(-23.278698,-2.9656317)" />
+    <line
+       transform="matrix(0.89838631,0,0,0.94046875,1.3918744,5.5576014)"
+       clip-path="url(#clipPath1)"
+       id="line39"
+       y2="141"
+       style="fill:none;stroke-width:1.08791828;font-family:sans-serif"
+       y1="144"
+       x2="238"
+       x1="236" />
+    <line
+       transform="matrix(0.93225754,0,0,0.91378232,10.124493,9.5482483)"
+       clip-path="url(#clipPath1)"
+       id="line41"
+       y2="141"
+       style="fill:none;stroke-width:1.08345449;font-family:sans-serif"
+       y1="144"
+       x2="488"
+       x1="486" />
+    <line
+       transform="matrix(0.99769365,0,0,1,-21.868761,-2.9656317)"
+       clip-path="url(#clipPath1)"
+       id="line43"
+       y2="141"
+       style="fill:none;stroke-width:1.00115526;font-family:sans-serif"
+       y1="141"
+       x2="488"
+       x1="238" />
+    <line
+       transform="matrix(0.85194189,0,0,0.9187132,49.504926,25.388948)"
+       clip-path="url(#clipPath1)"
+       id="line45"
+       y2="341"
+       style="fill:none;stroke-width:1.13032937;font-family:sans-serif"
+       y1="344"
+       x2="488"
+       x1="486" />
+    <line
+       transform="translate(-22.57664,-2.9902653)"
+       clip-path="url(#clipPath1)"
+       id="line47"
+       y2="341"
+       style="fill:none;font-family:sans-serif"
+       y1="141"
+       x2="488"
+       x1="488" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect49"
+       height="197"
+       style="fill:#c6ebf9;stroke:none;font-family:sans-serif"
+       width="247"
+       y="146"
+       x="238"
+       transform="translate(-23.278698,-2.9656317)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect51"
+       height="199"
+       style="fill:#ffffff;stroke:none;font-family:sans-serif"
+       width="1"
+       y="145"
+       x="237"
+       transform="translate(-23.278698,-2.9656317)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect53"
+       height="1"
+       style="fill:#ffffff;stroke:none;font-family:sans-serif"
+       width="247"
+       y="145"
+       x="238"
+       transform="translate(-23.278698,-2.9656317)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect55"
+       height="1"
+       style="fill:#8aa4ae;stroke:none;font-family:sans-serif"
+       width="248"
+       y="343"
+       x="238"
+       transform="translate(-23.278698,-2.9656317)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect57"
+       height="198"
+       style="fill:#8aa4ae;stroke:none;font-family:sans-serif"
+       width="1"
+       y="145"
+       x="485"
+       transform="translate(-23.278698,-2.9656317)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text59"
+       xml:space="preserve"
+       style="font-weight:bold;stroke:none;font-family:sans-serif"
+       y="159"
+       x="320"
+       transform="translate(-23.278698,-2.9656317)">&lt;&lt;CPURR&gt;&gt;</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text61"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="174"
+       x="344"
+       transform="translate(-23.278698,-2.9656317)">CPU1</text>
+    <image
+       style="font-family:sans-serif"
+       clip-path="url(#clipPath1)"
+       id="image63"
+       preserveAspectRatio="none"
+       height="16"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAWklEQVR42mNgoCL4 D8X42HDAhM2Ec/d//SfEBgFGNFuJAYzIjP9kepGRbM1AL0CcAPKLkSIb0ZpGnT1Q zkZP22AFMMPQ2SAA5DPiTNv4AEwjNs2MSM7CxYYDAJ76RjSq+zXoAAAAAElFTkSu QmCC"
+       width="15"
+       y="148"
+       x="240"
+       transform="translate(-23.278698,-2.9656317)" />
+    <rect
+       transform="matrix(1.005941,0,0,1.0221071,-26.00564,-8.5587273)"
+       clip-path="url(#clipPath1)"
+       id="rect67"
+       height="39"
+       style="fill:#c6e3f9;stroke:none;font-family:sans-serif"
+       width="170"
+       y="214"
+       x="289" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line69"
+       y2="243"
+       style="fill:none;font-family:sans-serif"
+       y1="218"
+       x2="434"
+       x1="434"
+       transform="translate(-23.278698,-2.9656317)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line71"
+       y2="218"
+       style="fill:none;font-family:sans-serif"
+       y1="218"
+       x2="449"
+       x1="434"
+       transform="translate(-23.278698,-2.9656317)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line73"
+       y2="223"
+       style="fill:none;font-family:sans-serif"
+       y1="218"
+       x2="454"
+       x1="449"
+       transform="translate(-23.278698,-2.9656317)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line75"
+       y2="243"
+       style="fill:none;font-family:sans-serif"
+       y1="223"
+       x2="454"
+       x1="454"
+       transform="translate(-23.278698,-2.9656317)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line77"
+       y2="243"
+       style="fill:none;font-family:sans-serif"
+       y1="243"
+       x2="434"
+       x1="454"
+       transform="translate(-23.278698,-2.9656317)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line79"
+       y2="223"
+       style="fill:none;font-family:sans-serif"
+       y1="218"
+       x2="449"
+       x1="449"
+       transform="translate(-23.278698,-2.9656317)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line81"
+       y2="223"
+       style="fill:none;font-family:sans-serif"
+       y1="223"
+       x2="454"
+       x1="449"
+       transform="translate(-23.278698,-2.9656317)" />
+    <text
+       transform="translate(-21.505077,3.3405754)"
+       clip-path="url(#clipPath1)"
+       id="text83"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="228"
+       x="293">NonSecureFV_enc::T1</text>
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect85"
+       height="201"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="1"
+       y="137"
+       x="891"
+       transform="translate(-23.836092,4.0018086)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect87"
+       height="1"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="249"
+       y="137"
+       x="892"
+       transform="translate(-23.836092,4.0018086)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect89"
+       height="1"
+       style="stroke:none;font-family:sans-serif"
+       width="250"
+       y="337"
+       x="892"
+       transform="translate(-23.836092,4.0018086)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect91"
+       height="200"
+       style="stroke:none;font-family:sans-serif"
+       width="1"
+       y="137"
+       x="1141"
+       transform="translate(-23.836092,4.0018086)" />
+    <line
+       transform="matrix(0.93225754,0,0,0.8932543,37.199864,18.490483)"
+       clip-path="url(#clipPath1)"
+       id="line93"
+       y2="134"
+       style="fill:none;stroke-width:1.0958333;font-family:sans-serif"
+       y1="137"
+       x2="893"
+       x1="891" />
+    <line
+       transform="matrix(0.8829903,0,0,0.95073276,110.26319,10.94849)"
+       clip-path="url(#clipPath1)"
+       id="line95"
+       y2="134"
+       style="fill:none;stroke-width:1.0914222;font-family:sans-serif"
+       y1="137"
+       x2="1143"
+       x1="1141" />
+    <line
+       transform="matrix(0.99857691,0,0,1,-21.617582,4.0018086)"
+       clip-path="url(#clipPath1)"
+       id="line97"
+       y2="134"
+       style="fill:none;stroke-width:1.00071228;font-family:sans-serif"
+       y1="134"
+       x2="1143"
+       x1="893" />
+    <line
+       transform="matrix(0.77829741,0,0,0.81935345,230.00106,65.18762)"
+       clip-path="url(#clipPath1)"
+       id="line99"
+       y2="334"
+       style="fill:none;stroke-width:1.25225163;font-family:sans-serif"
+       y1="337"
+       x2="1143"
+       x1="1141" />
+    <line
+       transform="translate(-23.244885,4.1988776)"
+       clip-path="url(#clipPath1)"
+       id="line101"
+       y2="334"
+       style="fill:none;font-family:sans-serif"
+       y1="134"
+       x2="1143"
+       x1="1143" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect103"
+       height="197"
+       style="fill:#c6ebf9;stroke:none;font-family:sans-serif"
+       width="247"
+       y="139"
+       x="893"
+       transform="translate(-23.836092,4.0018086)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect105"
+       height="199"
+       style="fill:#ffffff;stroke:none;font-family:sans-serif"
+       width="1"
+       y="138"
+       x="892"
+       transform="translate(-23.836092,4.0018086)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect107"
+       height="1"
+       style="fill:#ffffff;stroke:none;font-family:sans-serif"
+       width="247"
+       y="138"
+       x="893"
+       transform="translate(-23.836092,4.0018086)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect109"
+       height="1"
+       style="fill:#8aa4ae;stroke:none;font-family:sans-serif"
+       width="248"
+       y="336"
+       x="893"
+       transform="translate(-23.836092,4.0018086)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect111"
+       height="198"
+       style="fill:#8aa4ae;stroke:none;font-family:sans-serif"
+       width="1"
+       y="138"
+       x="1140"
+       transform="translate(-23.836092,4.0018086)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text113"
+       xml:space="preserve"
+       style="font-weight:bold;stroke:none;font-family:sans-serif"
+       y="152"
+       x="975"
+       transform="translate(-23.836092,4.0018086)">&lt;&lt;CPURR&gt;&gt;</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text115"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="167"
+       x="999"
+       transform="translate(-23.836092,4.0018086)">CPU2</text>
+    <image
+       style="font-family:sans-serif"
+       clip-path="url(#clipPath1)"
+       id="image117"
+       preserveAspectRatio="none"
+       height="16"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAWklEQVR42mNgoCL4 D8X42HDAhM2Ec/d//SfEBgFGNFuJAYzIjP9kepGRbM1AL0CcAPKLkSIb0ZpGnT1Q zkZP22AFMMPQ2SAA5DPiTNv4AEwjNs2MSM7CxYYDAJ76RjSq+zXoAAAAAElFTkSu QmCC"
+       width="15"
+       y="141"
+       x="895"
+       transform="translate(-23.836092,4.0018086)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect119"
+       height="40"
+       style="fill:none;font-family:sans-serif"
+       width="171"
+       y="219"
+       x="933"
+       transform="translate(-23.836092,4.0018086)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect121"
+       height="39"
+       style="fill:#c6e3f9;stroke:none;font-family:sans-serif"
+       width="170"
+       y="220"
+       x="934"
+       transform="translate(-23.836092,4.0018086)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line123"
+       y2="249"
+       style="fill:none;font-family:sans-serif"
+       y1="224"
+       x2="1079"
+       x1="1079"
+       transform="translate(-23.836092,4.0018086)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line125"
+       y2="224"
+       style="fill:none;font-family:sans-serif"
+       y1="224"
+       x2="1094"
+       x1="1079"
+       transform="translate(-23.836092,4.0018086)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line127"
+       y2="229"
+       style="fill:none;font-family:sans-serif"
+       y1="224"
+       x2="1099"
+       x1="1094"
+       transform="translate(-23.836092,4.0018086)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line129"
+       y2="249"
+       style="fill:none;font-family:sans-serif"
+       y1="229"
+       x2="1099"
+       x1="1099"
+       transform="translate(-23.836092,4.0018086)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line131"
+       y2="249"
+       style="fill:none;font-family:sans-serif"
+       y1="249"
+       x2="1079"
+       x1="1099"
+       transform="translate(-23.836092,4.0018086)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line133"
+       y2="229"
+       style="fill:none;font-family:sans-serif"
+       y1="224"
+       x2="1094"
+       x1="1094"
+       transform="translate(-23.836092,4.0018086)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line135"
+       y2="229"
+       style="fill:none;font-family:sans-serif"
+       y1="229"
+       x2="1099"
+       x1="1094"
+       transform="translate(-23.836092,4.0018086)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text137"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="234"
+       x="938"
+       transform="translate(-23.836092,4.0018086)">NonSecureFV_enc::T2</text>
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect139"
+       height="97"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="1"
+       y="357"
+       x="569"
+       transform="translate(-28.912069,-16.856094)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect141"
+       height="1"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="249"
+       y="357"
+       x="570"
+       transform="translate(-28.912069,-16.856094)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect143"
+       height="1"
+       style="stroke:none;font-family:sans-serif"
+       width="250"
+       y="453"
+       x="570"
+       transform="translate(-28.912069,-16.856094)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect145"
+       height="96"
+       style="stroke:none;font-family:sans-serif"
+       width="1"
+       y="357"
+       x="819"
+       transform="translate(-28.912069,-16.856094)" />
+    <line
+       transform="matrix(0.94457436,0,0,0.90146552,3.3087079,18.216026)"
+       clip-path="url(#clipPath1)"
+       id="line147"
+       y2="354"
+       style="fill:none;stroke-width:1.08369577;font-family:sans-serif"
+       y1="357"
+       x2="571"
+       x1="569" />
+    <line
+       transform="matrix(0.87806979,0,0,0.9651628,71.541001,-4.1927706)"
+       clip-path="url(#clipPath1)"
+       id="line149"
+       y2="354"
+       style="fill:none;stroke-width:1.08626354;font-family:sans-serif"
+       y1="357"
+       x2="821"
+       x1="819" />
+    <line
+       transform="matrix(0.99853193,0,0,1,-27.113814,-16.856094)"
+       clip-path="url(#clipPath1)"
+       id="line151"
+       y2="354"
+       style="fill:none;stroke-width:1.00073481;font-family:sans-serif"
+       y1="354"
+       x2="821"
+       x1="571" />
+    <line
+       transform="matrix(0.85194189,0,0,0.81420159,93.201031,67.571865)"
+       clip-path="url(#clipPath1)"
+       id="line153"
+       y2="450"
+       style="fill:none;stroke-width:1.20068491;font-family:sans-serif"
+       y1="453"
+       x2="821"
+       x1="819" />
+    <line
+       transform="translate(-28.319837,-16.629652)"
+       clip-path="url(#clipPath1)"
+       id="line155"
+       y2="450"
+       style="fill:none;font-family:sans-serif"
+       y1="354"
+       x2="821"
+       x1="821" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect157"
+       height="93"
+       style="fill:#d7bc80;stroke:none;font-family:sans-serif"
+       width="247"
+       y="359"
+       x="571"
+       transform="translate(-28.912069,-16.856094)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect159"
+       height="95"
+       style="fill:#ffffb6;stroke:none;font-family:sans-serif"
+       width="1"
+       y="358"
+       x="570"
+       transform="translate(-28.912069,-16.856094)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect161"
+       height="1"
+       style="fill:#ffffb6;stroke:none;font-family:sans-serif"
+       width="247"
+       y="358"
+       x="571"
+       transform="translate(-28.912069,-16.856094)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect163"
+       height="1"
+       style="fill:#968359;stroke:none;font-family:sans-serif"
+       width="248"
+       y="452"
+       x="571"
+       transform="translate(-28.912069,-16.856094)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect165"
+       height="94"
+       style="fill:#968359;stroke:none;font-family:sans-serif"
+       width="1"
+       y="358"
+       x="818"
+       transform="translate(-28.912069,-16.856094)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text167"
+       xml:space="preserve"
+       style="font-weight:bold;stroke:none;font-family:sans-serif"
+       y="372"
+       x="651"
+       transform="translate(-28.912069,-16.856094)">&lt;&lt;BUS-RR&gt;&gt;</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text169"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="387"
+       x="668"
+       transform="translate(-28.912069,-16.856094)">MainBus</text>
+    <image
+       style="font-family:sans-serif"
+       clip-path="url(#clipPath1)"
+       id="image171"
+       preserveAspectRatio="none"
+       height="16"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAR0lEQVR42mNgGNng P6lqmJAFz93/RZIBjETaiA0wkq0Z6Eq4s8mzGs3PeBUbKbIx4FL3n4gAA6uBqWPC 4gqCLgW6gHGkpmcArSwgRFOuG2IAAAAASUVORK5CYII="
+       width="15"
+       y="361"
+       x="573"
+       transform="translate(-28.912069,-16.856094)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect173"
+       height="40"
+       style="fill:none;font-family:sans-serif"
+       width="193"
+       y="398"
+       x="609"
+       transform="translate(-28.912069,-16.856094)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line175"
+       y2="428"
+       style="fill:none;font-family:sans-serif"
+       y1="403"
+       x2="777"
+       x1="777"
+       transform="translate(-28.912069,-16.856094)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line177"
+       y2="403"
+       style="fill:none;font-family:sans-serif"
+       y1="403"
+       x2="792"
+       x1="777"
+       transform="translate(-28.912069,-16.856094)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line179"
+       y2="408"
+       style="fill:none;font-family:sans-serif"
+       y1="403"
+       x2="797"
+       x1="792"
+       transform="translate(-28.912069,-16.856094)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line181"
+       y2="428"
+       style="fill:none;font-family:sans-serif"
+       y1="408"
+       x2="797"
+       x1="797"
+       transform="translate(-28.912069,-16.856094)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line183"
+       y2="428"
+       style="fill:none;font-family:sans-serif"
+       y1="428"
+       x2="777"
+       x1="797"
+       transform="translate(-28.912069,-16.856094)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line185"
+       y2="408"
+       style="fill:none;font-family:sans-serif"
+       y1="403"
+       x2="792"
+       x1="792"
+       transform="translate(-28.912069,-16.856094)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line187"
+       y2="408"
+       style="fill:none;font-family:sans-serif"
+       y1="408"
+       x2="797"
+       x1="792"
+       transform="translate(-28.912069,-16.856094)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text189"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="413"
+       x="614"
+       transform="translate(-28.912069,-16.856094)">NonSecureFV_enc::comm</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text191"
+       xml:space="preserve"
+       style="font-style:italic;stroke:none;font-family:sans-serif"
+       y="433"
+       x="614"
+       transform="translate(-28.912069,-16.856094)">channel</text>
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect193"
+       height="140"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="1"
+       y="493"
+       x="592"
+       transform="matrix(1,0,0,0.64864194,-27.729655,138.62722)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect195"
+       height="1"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="204"
+       y="493"
+       x="593"
+       transform="translate(-27.729655,-34.592301)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line201"
+       y2="490"
+       style="fill:none;stroke-width:1.07604694;font-family:sans-serif"
+       y1="493"
+       x2="594"
+       x1="592"
+       transform="matrix(0.95209885,0,0,0.9071008,1.3071518,11.093786)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line203"
+       y2="490"
+       style="fill:none;font-family:sans-serif"
+       y1="493"
+       x2="799"
+       x1="797"
+       transform="translate(-27.089181,-34.370598)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line205"
+       y2="490"
+       style="fill:none;stroke-width:1.00027144;font-family:sans-serif"
+       y1="490"
+       x2="799"
+       x1="594"
+       transform="matrix(0.99945733,0,0,1,-26.458259,-34.592301)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line207"
+       y2="629"
+       style="fill:none;font-family:sans-serif"
+       y1="632"
+       x2="799"
+       x1="797"
+       transform="translate(-27.022044,-83.508321)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line209"
+       y2="629"
+       style="fill:none;stroke-width:1.24571478;font-family:sans-serif"
+       y1="490"
+       x2="799"
+       x1="799"
+       transform="matrix(1,0,0,0.64441072,-26.867478,139.63666)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect211"
+       height="136"
+       style="fill:#acead3;stroke:none;font-family:sans-serif"
+       width="202"
+       y="495"
+       x="594"
+       transform="matrix(1.0005347,0,0,0.64771399,-27.91143,139.27847)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect213"
+       height="138"
+       style="fill:#f5ffff;stroke:none;font-family:sans-serif"
+       width="1"
+       y="494"
+       x="593"
+       transform="matrix(1,0,0,0.62854625,-27.729655,148.90585)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect215"
+       height="1"
+       style="fill:#f5ffff;stroke:none;font-family:sans-serif"
+       width="202"
+       y="494"
+       x="594"
+       transform="translate(-27.729655,-34.592301)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect217"
+       height="1"
+       style="fill:#78a393;stroke:none;font-family:sans-serif"
+       width="203"
+       y="631"
+       x="594"
+       transform="matrix(0.99948516,0,0,1,-27.304901,-83.315116)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect219"
+       height="137"
+       style="fill:#78a393;stroke:none;font-family:sans-serif"
+       width="1"
+       y="494"
+       x="796"
+       transform="matrix(1,0,0,0.647872,-27.729655,139.35893)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text221"
+       xml:space="preserve"
+       style="font-weight:bold;stroke:none;font-family:sans-serif"
+       y="508"
+       x="648"
+       transform="translate(-27.729655,-34.592301)">&lt;&lt;MEMORY&gt;&gt;</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text223"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="523"
+       x="649"
+       transform="translate(-27.729655,-34.592301)">MainMemory</text>
+    <image
+       style="font-family:sans-serif"
+       clip-path="url(#clipPath1)"
+       id="image225"
+       preserveAspectRatio="none"
+       height="16"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAN0lEQVR42mNgGJKA EUr/J0cv2ZrP3f/FwESJs0c1k6mZETkKiGWTbbORIhsjsmZGJNOJYQ8gAACyshpS N3IeWgAAAABJRU5ErkJggg=="
+       width="15"
+       y="497"
+       x="596"
+       transform="translate(-27.729655,-34.592301)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect227"
+       height="40"
+       style="fill:none;font-family:sans-serif"
+       width="193"
+       y="548"
+       x="600"
+       transform="translate(-28.565748,-53.543738)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line229"
+       y2="578"
+       style="fill:none;font-family:sans-serif"
+       y1="553"
+       x2="768"
+       x1="768"
+       transform="translate(-28.565748,-53.543738)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line231"
+       y2="553"
+       style="fill:none;font-family:sans-serif"
+       y1="553"
+       x2="783"
+       x1="768"
+       transform="translate(-28.565748,-53.543738)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line233"
+       y2="558"
+       style="fill:none;font-family:sans-serif"
+       y1="553"
+       x2="788"
+       x1="783"
+       transform="translate(-28.565748,-53.543738)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line235"
+       y2="578"
+       style="fill:none;font-family:sans-serif"
+       y1="558"
+       x2="788"
+       x1="788"
+       transform="translate(-28.565748,-53.543738)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line237"
+       y2="578"
+       style="fill:none;font-family:sans-serif"
+       y1="578"
+       x2="768"
+       x1="788"
+       transform="translate(-28.565748,-53.543738)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line239"
+       y2="558"
+       style="fill:none;font-family:sans-serif"
+       y1="553"
+       x2="783"
+       x1="783"
+       transform="translate(-28.565748,-53.543738)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line241"
+       y2="558"
+       style="fill:none;font-family:sans-serif"
+       y1="558"
+       x2="788"
+       x1="783"
+       transform="translate(-28.565748,-53.543738)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text243"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="563"
+       x="605"
+       transform="translate(-28.565748,-53.543738)">NonSecureFV_enc::comm</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text245"
+       xml:space="preserve"
+       style="font-style:italic;stroke:none;font-family:sans-serif"
+       y="583"
+       x="605"
+       transform="translate(-28.565748,-53.543738)">channel</text>
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect351"
+       height="51"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="1"
+       y="381"
+       x="971"
+       transform="translate(-53.099342,-15.228327)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect353"
+       height="1"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="249"
+       y="381"
+       x="972"
+       transform="translate(-53.099342,-15.228327)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect355"
+       height="1"
+       style="stroke:none;font-family:sans-serif"
+       width="250"
+       y="431"
+       x="972"
+       transform="translate(-53.099342,-15.228327)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect357"
+       height="50"
+       style="stroke:none;font-family:sans-serif"
+       width="1"
+       y="381"
+       x="1221"
+       transform="translate(-53.099342,-15.228327)" />
+    <line
+       transform="matrix(0.87806979,0,0,0.9187132,65.974218,15.637435)"
+       clip-path="url(#clipPath1)"
+       id="line359"
+       y2="378"
+       style="fill:none;stroke-width:1.11338532;font-family:sans-serif"
+       y1="381"
+       x2="973"
+       x1="971" />
+    <line
+       transform="matrix(0.86936049,0,0,0.9593566,107.02115,0.44841473)"
+       clip-path="url(#clipPath1)"
+       id="line361"
+       y2="378"
+       style="fill:none;stroke-width:1.09498966;font-family:sans-serif"
+       y1="381"
+       x2="1223"
+       x1="1221" />
+    <line
+       transform="matrix(0.99923661,0,0,1,-51.55568,-15.228327)"
+       clip-path="url(#clipPath1)"
+       id="line363"
+       y2="378"
+       style="fill:none;stroke-width:1.00038183;font-family:sans-serif"
+       y1="378"
+       x2="1223"
+       x1="973" />
+    <line
+       transform="matrix(0.83887794,0,0,0.83742639,144.46679,55.154434)"
+       clip-path="url(#clipPath1)"
+       id="line365"
+       y2="428"
+       style="fill:none;stroke-width:1.19310117;font-family:sans-serif"
+       y1="431"
+       x2="1223"
+       x1="1221" />
+    <line
+       transform="translate(-52.489691,-15.036722)"
+       clip-path="url(#clipPath1)"
+       id="line367"
+       y2="428"
+       style="fill:none;font-family:sans-serif"
+       y1="378"
+       x2="1223"
+       x1="1223" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect369"
+       height="47"
+       style="fill:#d7bc80;stroke:none;font-family:sans-serif"
+       width="247"
+       y="383"
+       x="973"
+       transform="translate(-53.099342,-15.228327)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect371"
+       height="49"
+       style="fill:#ffffb6;stroke:none;font-family:sans-serif"
+       width="1"
+       y="382"
+       x="972"
+       transform="translate(-53.099342,-15.228327)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect373"
+       height="1"
+       style="fill:#ffffb6;stroke:none;font-family:sans-serif"
+       width="247"
+       y="382"
+       x="973"
+       transform="translate(-53.099342,-15.228327)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect375"
+       height="1"
+       style="fill:#968359;stroke:none;font-family:sans-serif"
+       width="248"
+       y="430"
+       x="973"
+       transform="translate(-53.099342,-15.228327)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect377"
+       height="48"
+       style="fill:#968359;stroke:none;font-family:sans-serif"
+       width="1"
+       y="382"
+       x="1220"
+       transform="translate(-53.099342,-15.228327)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text379"
+       xml:space="preserve"
+       style="font-weight:bold;stroke:none;font-family:sans-serif"
+       y="396"
+       x="1053"
+       transform="translate(-53.099342,-15.228327)">&lt;&lt;BUS-RR&gt;&gt;</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text381"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="411"
+       x="1051"
+       transform="translate(-53.099342,-15.228327)">HSMBus_CPU2</text>
+    <image
+       style="font-family:sans-serif"
+       clip-path="url(#clipPath1)"
+       id="image383"
+       preserveAspectRatio="none"
+       height="16"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAR0lEQVR42mNgGNng P6lqmJAFz93/RZIBjETaiA0wkq0Z6Eq4s8mzGs3PeBUbKbIx4FL3n4gAA6uBqWPC 4gqCLgW6gHGkpmcArSwgRFOuG2IAAAAASUVORK5CYII="
+       width="15"
+       y="385"
+       x="975"
+       transform="translate(-53.099342,-15.228327)" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon385"
+       points="975,416 975,399 978,403 981,403 984,399 987,403 990,403 993,399 993,416 984,424 "
+       style="fill:#00ff00;stroke:none;font-family:sans-serif"
+       transform="translate(-53.099342,-15.228327)" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon387"
+       points="975,416 975,399 978,403 981,403 984,399 987,403 990,403 993,399 993,416 984,424 "
+       style="fill:none;font-family:sans-serif"
+       transform="translate(-53.099342,-15.228327)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect389"
+       height="114"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="1"
+       y="467"
+       x="353"
+       transform="matrix(1,0,0,0.98141674,-65.763967,-20.913919)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect391"
+       height="1"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="199"
+       y="467"
+       x="354"
+       transform="translate(-65.763967,-29.592301)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect393"
+       height="1"
+       style="stroke:none;font-family:sans-serif"
+       width="200"
+       y="580"
+       x="354"
+       transform="translate(-66.256639,-31.661525)" />
+    <line
+       transform="matrix(0.86451508,0,0,0.90967672,-17.248049,12.465502)"
+       clip-path="url(#clipPath1)"
+       id="line397"
+       y2="464"
+       style="fill:none;stroke-width:1.12763917;font-family:sans-serif"
+       y1="467"
+       x2="355"
+       x1="353" />
+    <line
+       transform="matrix(0.84911907,0,0,0.93020474,18.265421,3.141435)"
+       clip-path="url(#clipPath1)"
+       id="line399"
+       y2="464"
+       style="fill:none;stroke-width:1.12519145;font-family:sans-serif"
+       y1="467"
+       x2="555"
+       x1="553" />
+    <line
+       transform="matrix(0.99941781,0,0,1,-64.8432,-29.592301)"
+       clip-path="url(#clipPath1)"
+       id="line401"
+       y2="464"
+       style="fill:none;stroke-width:1.00029123;font-family:sans-serif"
+       y1="464"
+       x2="555"
+       x1="355" />
+    <line
+       transform="matrix(0.7782974,0,0,0.84603987,57.630068,57.933526)"
+       clip-path="url(#clipPath1)"
+       id="line403"
+       y2="577"
+       style="fill:none;stroke-width:1.23234355;font-family:sans-serif"
+       y1="580"
+       x2="555"
+       x1="553" />
+    <line
+       transform="matrix(1,0,0,0.98181743,-65.171735,-21.025329)"
+       clip-path="url(#clipPath1)"
+       id="line405"
+       y2="577"
+       style="fill:none;stroke-width:1.00921714;font-family:sans-serif"
+       y1="464"
+       x2="555"
+       x1="555" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect407"
+       height="110"
+       style="fill:#acead3;stroke:none;font-family:sans-serif"
+       width="197"
+       y="469"
+       x="355"
+       transform="matrix(1,0,0,0.98768319,-65.763967,-23.828034)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect409"
+       height="112"
+       style="fill:#f5ffff;stroke:none;font-family:sans-serif"
+       width="1"
+       y="468"
+       x="354"
+       transform="matrix(1,0,0,0.98141481,-65.72913,-20.889119)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect411"
+       height="1"
+       style="fill:#f5ffff;stroke:none;font-family:sans-serif"
+       width="197"
+       y="468"
+       x="355"
+       transform="translate(-65.763967,-29.592301)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect413"
+       height="1"
+       style="fill:#78a393;stroke:none;font-family:sans-serif"
+       width="198"
+       y="579"
+       x="355"
+       transform="matrix(1,0,0,0.98768319,-65.72913,-24.524778)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect415"
+       height="111"
+       style="fill:#78a393;stroke:none;font-family:sans-serif"
+       width="1"
+       y="468"
+       x="552"
+       transform="matrix(1,0,0,0.9898263,-65.746548,-24.788929)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text417"
+       xml:space="preserve"
+       style="font-weight:bold;stroke:none;font-family:sans-serif"
+       y="482"
+       x="407"
+       transform="translate(-65.763967,-29.592301)">&lt;&lt;MEMORY&gt;&gt;</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text419"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="497"
+       x="388"
+       transform="translate(-65.763967,-29.592301)">HSMMemory_CPU1</text>
+    <image
+       style="font-family:sans-serif"
+       clip-path="url(#clipPath1)"
+       id="image421"
+       preserveAspectRatio="none"
+       height="16"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAN0lEQVR42mNgGJKA EUr/J0cv2ZrP3f/FwESJs0c1k6mZETkKiGWTbbORIhsjsmZGJNOJYQ8gAACyshpS N3IeWgAAAABJRU5ErkJggg=="
+       width="15"
+       y="471"
+       x="357"
+       transform="translate(-65.763967,-29.592301)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect423"
+       height="40"
+       style="fill:none;font-family:sans-serif"
+       width="144"
+       y="515"
+       x="377"
+       transform="translate(-65.763967,-29.592301)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect425"
+       height="39"
+       style="fill:#ace2d3;stroke:none;font-family:sans-serif"
+       width="143"
+       y="516"
+       x="378"
+       transform="translate(-65.763967,-29.592301)" />
+    <circle
+       sodipodi:ry="6.5"
+       sodipodi:rx="6.5"
+       sodipodi:cy="526.5"
+       sodipodi:cx="507.5"
+       d="m 514,526.5 c 0,3.58985 -2.91015,6.5 -6.5,6.5 -3.58985,0 -6.5,-2.91015 -6.5,-6.5 0,-3.58985 2.91015,-6.5 6.5,-6.5 3.58985,0 6.5,2.91015 6.5,6.5 z"
+       clip-path="url(#clipPath1)"
+       id="circle427"
+       cy="526.5"
+       cx="507.5"
+       r="6.5"
+       style="stroke:none;font-family:sans-serif"
+       transform="translate(-65.763967,-29.592301)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect429"
+       height="25"
+       style="stroke:none;font-family:sans-serif"
+       width="3"
+       y="520"
+       x="506"
+       transform="translate(-65.763967,-29.592301)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect431"
+       height="3"
+       style="stroke:none;font-family:sans-serif"
+       width="8"
+       y="545"
+       x="506"
+       transform="translate(-65.763967,-29.592301)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect433"
+       height="3"
+       style="stroke:none;font-family:sans-serif"
+       width="8"
+       y="541"
+       x="506"
+       transform="translate(-65.763967,-29.592301)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text435"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="530"
+       x="382"
+       transform="translate(-65.763967,-29.592301)">autoEncrypt_comm</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text437"
+       xml:space="preserve"
+       style="font-style:italic;stroke:none;font-family:sans-serif"
+       y="550"
+       x="382"
+       transform="translate(-65.763967,-29.592301)">key</text>
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect439"
+       height="112"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="1"
+       y="470"
+       x="98"
+       transform="translate(-70.493622,-32.720146)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect441"
+       height="1"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="244"
+       y="470"
+       x="99"
+       transform="translate(-70.493622,-32.720146)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect443"
+       height="1"
+       style="stroke:none;font-family:sans-serif"
+       width="245"
+       y="581"
+       x="99"
+       transform="translate(-70.493622,-32.720146)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect445"
+       height="111"
+       style="stroke:none;font-family:sans-serif"
+       width="1"
+       y="470"
+       x="343"
+       transform="translate(-70.493622,-32.720146)" />
+    <line
+       transform="matrix(0.86936049,0,0,0.9245194,-57.011625,2.6512265)"
+       clip-path="url(#clipPath1)"
+       id="line447"
+       y2="467"
+       style="fill:none;stroke-width:1.11542928;font-family:sans-serif"
+       y1="470"
+       x2="100"
+       x1="98" />
+    <line
+       transform="matrix(0.82581399,0,0,0.9651628,-10.225263,-16.172474)"
+       clip-path="url(#clipPath1)"
+       id="line449"
+       y2="467"
+       style="fill:none;stroke-width:1.12010467;font-family:sans-serif"
+       y1="470"
+       x2="345"
+       x1="343" />
+    <line
+       transform="matrix(0.99865463,0,0,1,-69.523662,-32.720146)"
+       clip-path="url(#clipPath1)"
+       id="line451"
+       y2="467"
+       style="fill:none;stroke-width:1.00067341;font-family:sans-serif"
+       y1="467"
+       x2="345"
+       x1="100" />
+    <line
+       transform="matrix(0.78041064,0,0,0.84158206,5.6138053,59.640917)"
+       clip-path="url(#clipPath1)"
+       id="line453"
+       y2="578"
+       style="fill:none;stroke-width:1.23392904;font-family:sans-serif"
+       y1="581"
+       x2="345"
+       x1="343" />
+    <line
+       transform="translate(-69.971064,-32.54596)"
+       clip-path="url(#clipPath1)"
+       id="line455"
+       y2="578"
+       style="fill:none;font-family:sans-serif"
+       y1="467"
+       x2="345"
+       x1="345" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect457"
+       height="108"
+       style="fill:#90c9d3;stroke:none;font-family:sans-serif"
+       width="242"
+       y="472"
+       x="100"
+       transform="translate(-70.493622,-32.720146)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect459"
+       height="110"
+       style="fill:#cdffff;stroke:none;font-family:sans-serif"
+       width="1"
+       y="471"
+       x="99"
+       transform="translate(-70.493622,-32.720146)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect461"
+       height="1"
+       style="fill:#cdffff;stroke:none;font-family:sans-serif"
+       width="242"
+       y="471"
+       x="100"
+       transform="translate(-70.493622,-32.720146)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect463"
+       height="1"
+       style="fill:#648c93;stroke:none;font-family:sans-serif"
+       width="243"
+       y="580"
+       x="100"
+       transform="translate(-70.493622,-32.720146)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect465"
+       height="109"
+       style="fill:#648c93;stroke:none;font-family:sans-serif"
+       width="1"
+       y="471"
+       x="342"
+       transform="translate(-70.493622,-32.720146)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text467"
+       xml:space="preserve"
+       style="font-weight:bold;stroke:none;font-family:sans-serif"
+       y="485"
+       x="186"
+       transform="translate(-70.493622,-32.720146)">&lt;&lt;HWA&gt;&gt;</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text469"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="500"
+       x="187"
+       transform="translate(-70.493622,-32.720146)">HSM_CPU1</text>
+    <image
+       style="font-family:sans-serif"
+       clip-path="url(#clipPath1)"
+       id="image471"
+       preserveAspectRatio="none"
+       height="16"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAARElEQVR42mNgoBL4 D8XEshmY0E04d//Xf2LZjEgmkgoYydYMtB3T2aSAUc1kamZEjgJi2WTbbKTIxois mRHJdGLYAwgA0yQw5H1+PIsAAAAASUVORK5CYII="
+       width="15"
+       y="474"
+       x="102"
+       transform="translate(-70.493622,-32.720146)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect473"
+       height="40"
+       style="fill:none;font-family:sans-serif"
+       width="222"
+       y="523"
+       x="105"
+       transform="translate(-70.493622,-32.720146)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect475"
+       height="39"
+       style="fill:#c6e3f9;stroke:none;font-family:sans-serif"
+       width="221"
+       y="524"
+       x="106"
+       transform="translate(-70.493622,-32.720146)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line477"
+       y2="553"
+       style="fill:none;font-family:sans-serif"
+       y1="528"
+       x2="302"
+       x1="302"
+       transform="translate(-70.493622,-32.720146)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line479"
+       y2="528"
+       style="fill:none;font-family:sans-serif"
+       y1="528"
+       x2="317"
+       x1="302"
+       transform="translate(-70.493622,-32.720146)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line481"
+       y2="533"
+       style="fill:none;font-family:sans-serif"
+       y1="528"
+       x2="322"
+       x1="317"
+       transform="translate(-70.493622,-32.720146)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line483"
+       y2="553"
+       style="fill:none;font-family:sans-serif"
+       y1="533"
+       x2="322"
+       x1="322"
+       transform="translate(-70.493622,-32.720146)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line485"
+       y2="553"
+       style="fill:none;font-family:sans-serif"
+       y1="553"
+       x2="302"
+       x1="322"
+       transform="translate(-70.493622,-32.720146)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line487"
+       y2="533"
+       style="fill:none;font-family:sans-serif"
+       y1="528"
+       x2="317"
+       x1="317"
+       transform="translate(-70.493622,-32.720146)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line489"
+       y2="533"
+       style="fill:none;font-family:sans-serif"
+       y1="533"
+       x2="322"
+       x1="317"
+       transform="translate(-70.493622,-32.720146)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text491"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="538"
+       x="110"
+       transform="translate(-70.493622,-32.720146)">NonSecureFV_enc::HSM_CPU1</text>
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect493"
+       height="51"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="1"
+       y="371"
+       x="173"
+       transform="translate(-23,-4.6378174)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect495"
+       height="1"
+       style="fill:#030303;stroke:none;font-family:sans-serif"
+       width="249"
+       y="371"
+       x="174"
+       transform="translate(-23,-4.6378174)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect497"
+       height="1"
+       style="stroke:none;font-family:sans-serif"
+       width="250"
+       y="421"
+       x="174"
+       transform="translate(-23,-4.6378174)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect499"
+       height="50"
+       style="stroke:none;font-family:sans-serif"
+       width="1"
+       y="371"
+       x="423"
+       transform="translate(-23,-4.6378174)" />
+    <line
+       transform="matrix(1.0261279,0,0,0.9303256,-26.875639,21.176549)"
+       clip-path="url(#clipPath1)"
+       id="line501"
+       y2="368"
+       style="fill:none;stroke-width:1.02348566;font-family:sans-serif"
+       y1="371"
+       x2="175"
+       x1="173" />
+    <line
+       transform="translate(-22.512279,-4.4287942)"
+       clip-path="url(#clipPath1)"
+       id="line503"
+       y2="368"
+       style="fill:none;font-family:sans-serif"
+       y1="371"
+       x2="425"
+       x1="423" />
+    <line
+       transform="matrix(0.9956974,0,0,1,-21.169243,-4.6378174)"
+       clip-path="url(#clipPath1)"
+       id="line505"
+       y2="368"
+       style="fill:none;stroke-width:1.00215828;font-family:sans-serif"
+       y1="368"
+       x2="425"
+       x1="175" />
+    <line
+       transform="matrix(0.88299029,0,0,0.81730064,27.435709,72.557311)"
+       clip-path="url(#clipPath1)"
+       id="line507"
+       y2="418"
+       style="fill:none;stroke-width:1.17714822;font-family:sans-serif"
+       y1="421"
+       x2="425"
+       x1="423" />
+    <line
+       transform="translate(-22.059396,-4.3591198)"
+       clip-path="url(#clipPath1)"
+       id="line509"
+       y2="418"
+       style="fill:none;font-family:sans-serif"
+       y1="368"
+       x2="425"
+       x1="425" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect511"
+       height="47"
+       style="fill:#d7bc80;stroke:none;font-family:sans-serif"
+       width="247"
+       y="373"
+       x="175"
+       transform="translate(-23,-4.6378174)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect513"
+       height="49"
+       style="fill:#ffffb6;stroke:none;font-family:sans-serif"
+       width="1"
+       y="372"
+       x="174"
+       transform="translate(-23,-4.6378174)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect515"
+       height="1"
+       style="fill:#ffffb6;stroke:none;font-family:sans-serif"
+       width="247"
+       y="372"
+       x="175"
+       transform="translate(-23,-4.6378174)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect517"
+       height="1"
+       style="fill:#968359;stroke:none;font-family:sans-serif"
+       width="248"
+       y="420"
+       x="175"
+       transform="translate(-23,-4.6378174)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect519"
+       height="48"
+       style="fill:#968359;stroke:none;font-family:sans-serif"
+       width="1"
+       y="372"
+       x="422"
+       transform="translate(-23,-4.6378174)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text521"
+       xml:space="preserve"
+       style="font-weight:bold;stroke:none;font-family:sans-serif"
+       y="386"
+       x="255"
+       transform="translate(-23,-4.6378174)">&lt;&lt;BUS-RR&gt;&gt;</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text523"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="401"
+       x="253"
+       transform="translate(-23,-4.6378174)">HSMBus_CPU1</text>
+    <image
+       style="font-family:sans-serif"
+       clip-path="url(#clipPath1)"
+       id="image525"
+       preserveAspectRatio="none"
+       height="16"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAR0lEQVR42mNgGNng P6lqmJAFz93/RZIBjETaiA0wkq0Z6Eq4s8mzGs3PeBUbKbIx4FL3n4gAA6uBqWPC 4gqCLgW6gHGkpmcArSwgRFOuG2IAAAAASUVORK5CYII="
+       width="15"
+       y="375"
+       x="177"
+       transform="translate(-23,-4.6378174)" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon527"
+       points="186,414 177,406 177,389 180,393 183,393 186,389 189,393 192,393 195,389 195,406 "
+       style="fill:#00ff00;stroke:none;font-family:sans-serif"
+       transform="translate(-23,-4.6378174)" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon529"
+       points="186,414 177,406 177,389 180,393 183,393 186,389 189,393 192,393 195,389 195,406 "
+       style="fill:none;font-family:sans-serif"
+       transform="translate(-23,-4.6378174)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect65"
+       height="40"
+       style="fill:none;font-family:sans-serif"
+       width="171"
+       y="213"
+       x="288"
+       transform="translate(-23.278698,-2.9656317)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect395"
+       height="113"
+       style="stroke:none;font-family:sans-serif"
+       width="1"
+       y="467"
+       x="553"
+       transform="matrix(1,0,0,0.99044289,-65.763967,-25.129131)" />
+    <line
+       transform="matrix(-0.00309774,0,0,0.34378446,968.19577,271.97457)"
+       clip-path="url(#clipPath1-2)"
+       id="line27-2"
+       y2="421"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:30.64323044;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="470"
+       x2="235"
+       x1="220" />
+    <line
+       transform="matrix(-0.00299522,0,0,0.35738379,1135.591,266.15073)"
+       clip-path="url(#clipPath1-2)"
+       id="line29-5"
+       y2="421"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:30.56455231;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="467"
+       x2="360"
+       x1="403" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect389-1"
+       height="114"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#030303;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="1"
+       y="467"
+       x="353"
+       transform="matrix(1,0,0,0.98141674,732.45315,-21.750679)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect391-0"
+       height="1"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#030303;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="199"
+       y="467"
+       x="354"
+       transform="translate(732.45315,-30.429069)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect393-6"
+       height="1"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="200"
+       y="580"
+       x="354"
+       transform="translate(731.96047,-32.498289)" />
+    <line
+       transform="matrix(0.86451508,0,0,0.90967672,780.96906,11.628741)"
+       clip-path="url(#clipPath1-2)"
+       id="line397-2"
+       y2="464"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.12763917;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="467"
+       x2="355"
+       x1="353" />
+    <line
+       transform="matrix(0.84911907,0,0,0.93020474,816.48253,2.3046707)"
+       clip-path="url(#clipPath1-2)"
+       id="line399-1"
+       y2="464"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.12519145;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="467"
+       x2="555"
+       x1="553" />
+    <line
+       transform="matrix(0.99941781,0,0,1,733.37391,-30.429069)"
+       clip-path="url(#clipPath1-2)"
+       id="line401-8"
+       y2="464"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.00029123;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="464"
+       x2="555"
+       x1="355" />
+    <line
+       transform="matrix(0.7782974,0,0,0.84603987,855.84717,57.096759)"
+       clip-path="url(#clipPath1-2)"
+       id="line403-6"
+       y2="577"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.23234355;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="580"
+       x2="555"
+       x1="553" />
+    <line
+       transform="matrix(1,0,0,0.98181743,733.04538,-21.862089)"
+       clip-path="url(#clipPath1-2)"
+       id="line405-6"
+       y2="577"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.00921714;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="464"
+       x2="555"
+       x1="555" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect407-9"
+       height="110"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#acead3;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="197"
+       y="469"
+       x="355"
+       transform="matrix(1,0,0,0.98768319,732.45315,-24.664799)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect409-4"
+       height="112"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#f5ffff;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="1"
+       y="468"
+       x="354"
+       transform="matrix(1,0,0,0.98141481,732.48798,-21.725879)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect411-3"
+       height="1"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#f5ffff;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="197"
+       y="468"
+       x="355"
+       transform="translate(732.45315,-30.429069)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect413-3"
+       height="1"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#78a393;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="198"
+       y="579"
+       x="355"
+       transform="matrix(1,0,0,0.98768319,732.48798,-25.361539)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect415-6"
+       height="111"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#78a393;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="1"
+       y="468"
+       x="552"
+       transform="matrix(1,0,0,0.9898263,732.47056,-25.625689)" />
+    <text
+       clip-path="url(#clipPath1-2)"
+       id="text417-0"
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:bold;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       y="482"
+       x="407"
+       transform="translate(732.45315,-30.429069)">&lt;&lt;MEMORY&gt;&gt;</text>
+    <text
+       clip-path="url(#clipPath1-2)"
+       id="text419-6"
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       y="497"
+       x="388"
+       transform="translate(732.45315,-30.429069)">HSMMemory_CPU2</text>
+    <image
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       clip-path="url(#clipPath1-2)"
+       id="image421-5"
+       preserveAspectRatio="none"
+       height="16"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAN0lEQVR42mNgGJKA EUr/J0cv2ZrP3f/FwESJs0c1k6mZETkKiGWTbbORIhsjsmZGJNOJYQ8gAACyshpS N3IeWgAAAABJRU5ErkJggg=="
+       width="15"
+       y="471"
+       x="357"
+       transform="translate(732.45315,-30.429069)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect423-9"
+       height="40"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       width="144"
+       y="515"
+       x="377"
+       transform="translate(732.45315,-30.429069)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect425-9"
+       height="39"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#ace2d3;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="143"
+       y="516"
+       x="378"
+       transform="translate(732.45315,-30.429069)" />
+    <circle
+       sodipodi:ry="6.5"
+       sodipodi:rx="6.5"
+       sodipodi:cy="526.5"
+       sodipodi:cx="507.5"
+       d="m 514,526.5 c 0,3.58985 -2.91015,6.5 -6.5,6.5 -3.58985,0 -6.5,-2.91015 -6.5,-6.5 0,-3.58985 2.91015,-6.5 6.5,-6.5 3.58985,0 6.5,2.91015 6.5,6.5 z"
+       clip-path="url(#clipPath1-2)"
+       id="circle427-8"
+       cy="526.5"
+       cx="507.5"
+       r="6.5"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       transform="translate(732.45315,-30.429069)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect429-4"
+       height="25"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="3"
+       y="520"
+       x="506"
+       transform="translate(732.45315,-30.429069)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect431-3"
+       height="3"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="8"
+       y="545"
+       x="506"
+       transform="translate(732.45315,-30.429069)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect433-5"
+       height="3"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="8"
+       y="541"
+       x="506"
+       transform="translate(732.45315,-30.429069)" />
+    <text
+       clip-path="url(#clipPath1-2)"
+       id="text435-9"
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       y="530"
+       x="382"
+       transform="translate(732.45315,-30.429069)">autoEncrypt_comm</text>
+    <text
+       clip-path="url(#clipPath1-2)"
+       id="text437-5"
+       xml:space="preserve"
+       style="font-size:12px;font-style:italic;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       y="550"
+       x="382"
+       transform="translate(732.45315,-30.429069)">key</text>
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect439-3"
+       height="112"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#030303;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="1"
+       y="470"
+       x="98"
+       transform="translate(727.72349,-33.556909)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect441-3"
+       height="1"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#030303;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="244"
+       y="470"
+       x="99"
+       transform="translate(727.72349,-33.556909)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect443-6"
+       height="1"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="245"
+       y="581"
+       x="99"
+       transform="translate(727.72349,-33.556909)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect445-7"
+       height="111"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="1"
+       y="470"
+       x="343"
+       transform="translate(727.72349,-33.556909)" />
+    <line
+       transform="matrix(0.86936049,0,0,0.9245194,741.20549,1.8144607)"
+       clip-path="url(#clipPath1-2)"
+       id="line447-3"
+       y2="467"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.11542928;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="470"
+       x2="100"
+       x1="98" />
+    <line
+       transform="matrix(0.82581399,0,0,0.9651628,787.99185,-17.009239)"
+       clip-path="url(#clipPath1-2)"
+       id="line449-8"
+       y2="467"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.12010467;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="470"
+       x2="345"
+       x1="343" />
+    <line
+       transform="matrix(0.99865463,0,0,1,728.69345,-33.556909)"
+       clip-path="url(#clipPath1-2)"
+       id="line451-2"
+       y2="467"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.00067341;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="467"
+       x2="345"
+       x1="100" />
+    <line
+       transform="matrix(0.78041064,0,0,0.84158206,803.83092,58.804149)"
+       clip-path="url(#clipPath1-2)"
+       id="line453-6"
+       y2="578"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.23392904;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="581"
+       x2="345"
+       x1="343" />
+    <line
+       transform="translate(728.24605,-33.382729)"
+       clip-path="url(#clipPath1-2)"
+       id="line455-0"
+       y2="578"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="467"
+       x2="345"
+       x1="345" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect457-0"
+       height="108"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#90c9d3;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="242"
+       y="472"
+       x="100"
+       transform="translate(727.72349,-33.556909)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect459-0"
+       height="110"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#cdffff;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="1"
+       y="471"
+       x="99"
+       transform="translate(727.72349,-33.556909)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect461-4"
+       height="1"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#cdffff;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="242"
+       y="471"
+       x="100"
+       transform="translate(727.72349,-33.556909)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect463-8"
+       height="1"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#648c93;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="243"
+       y="580"
+       x="100"
+       transform="translate(727.72349,-33.556909)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect465-6"
+       height="109"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#648c93;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="1"
+       y="471"
+       x="342"
+       transform="translate(727.72349,-33.556909)" />
+    <text
+       clip-path="url(#clipPath1-2)"
+       id="text467-0"
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:bold;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       y="485"
+       x="186"
+       transform="translate(727.72349,-33.556909)">&lt;&lt;HWA&gt;&gt;</text>
+    <text
+       clip-path="url(#clipPath1-2)"
+       id="text469-8"
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       y="500"
+       x="187"
+       transform="translate(727.72349,-33.556909)">HSM_CPU2</text>
+    <image
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       clip-path="url(#clipPath1-2)"
+       id="image471-0"
+       preserveAspectRatio="none"
+       height="16"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAARElEQVR42mNgoBL4 D8XEshmY0E04d//Xf2LZjEgmkgoYydYMtB3T2aSAUc1kamZEjgJi2WTbbKTIxois mRHJdGLYAwgA0yQw5H1+PIsAAAAASUVORK5CYII="
+       width="15"
+       y="474"
+       x="102"
+       transform="translate(727.72349,-33.556909)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect473-5"
+       height="40"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       width="222"
+       y="523"
+       x="105"
+       transform="translate(727.72349,-33.556909)" />
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect475-3"
+       height="39"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#c6e3f9;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="221"
+       y="524"
+       x="106"
+       transform="translate(727.72349,-33.556909)" />
+    <line
+       clip-path="url(#clipPath1-2)"
+       id="line477-7"
+       y2="553"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="528"
+       x2="302"
+       x1="302"
+       transform="translate(727.72349,-33.556909)" />
+    <line
+       clip-path="url(#clipPath1-2)"
+       id="line479-8"
+       y2="528"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="528"
+       x2="317"
+       x1="302"
+       transform="translate(727.72349,-33.556909)" />
+    <line
+       clip-path="url(#clipPath1-2)"
+       id="line481-9"
+       y2="533"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="528"
+       x2="322"
+       x1="317"
+       transform="translate(727.72349,-33.556909)" />
+    <line
+       clip-path="url(#clipPath1-2)"
+       id="line483-4"
+       y2="553"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="533"
+       x2="322"
+       x1="322"
+       transform="translate(727.72349,-33.556909)" />
+    <line
+       clip-path="url(#clipPath1-2)"
+       id="line485-7"
+       y2="553"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="553"
+       x2="302"
+       x1="322"
+       transform="translate(727.72349,-33.556909)" />
+    <line
+       clip-path="url(#clipPath1-2)"
+       id="line487-1"
+       y2="533"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="528"
+       x2="317"
+       x1="317"
+       transform="translate(727.72349,-33.556909)" />
+    <line
+       clip-path="url(#clipPath1-2)"
+       id="line489-2"
+       y2="533"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="533"
+       x2="322"
+       x1="317"
+       transform="translate(727.72349,-33.556909)" />
+    <text
+       clip-path="url(#clipPath1-2)"
+       id="text491-4"
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       y="538"
+       x="110"
+       transform="translate(727.72349,-33.556909)">NonSecureFV_enc::HSM_CPU2</text>
+    <rect
+       clip-path="url(#clipPath1-2)"
+       id="rect395-6"
+       height="113"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       width="1"
+       y="467"
+       x="553"
+       transform="matrix(1,0,0,0.99044289,732.45315,-25.965899)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect197"
+       height="1"
+       style="stroke:none;font-family:sans-serif"
+       width="205"
+       y="632"
+       x="593"
+       transform="matrix(1,0,0,0.62854625,-27.889411,151.32405)" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect199"
+       height="139"
+       style="stroke:none;font-family:sans-serif"
+       width="1"
+       y="493"
+       x="797"
+       transform="matrix(1,0,0,0.65729539,-27.729655,133.33297)" />
+  </g>
+</svg>
diff --git a/doc/SysMLSec/fig/hsmfunc.svg b/doc/SysMLSec/fig/hsmfunc.svg
new file mode 100644
index 0000000000000000000000000000000000000000..361bd8de07fc3d58c29fba8b411e8bcf3f87aa29
--- /dev/null
+++ b/doc/SysMLSec/fig/hsmfunc.svg
@@ -0,0 +1,891 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:Dialog"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   width="1269.9756"
+   height="151.32782"
+   sodipodi:docname="hsmfunc.svg">
+  <rect
+     x="1297"
+     y="209"
+     width="226"
+     style="fill:#c9f3bc;fill-opacity:0.78430002;stroke:none;font-family:sans-serif"
+     height="149"
+     id="rect141"
+     clip-path="url(#clipPath1)"
+     transform="matrix(0.89839999,0,0,0.97749685,-98.42336,-200.95206)" />
+  <g
+     id="g19"
+     style="fill:#c9f3bc;fill-opacity:0.78430002;stroke:#c9f3bc;stroke-width:0.99780333;stroke-opacity:0.78430002;font-family:sans-serif"
+     transform="matrix(0.99875588,0,0,1.0056591,-228.31388,-218.57405)">
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect21"
+       height="149"
+       style="stroke:none"
+       width="199"
+       y="218"
+       x="604" />
+  </g>
+  <rect
+     x="932"
+     y="220"
+     width="199"
+     style="fill:#c9f3bc;fill-opacity:0.78430002;stroke:none;font-family:sans-serif"
+     height="149"
+     id="rect77"
+     clip-path="url(#clipPath1)"
+     transform="matrix(1.0049765,0,0,0.99444811,-234.69187,-216.12073)" />
+  <metadata
+     id="metadata243">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="2048"
+     inkscape:window-height="1086"
+     id="namedview241"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="0.63429569"
+     inkscape:cx="977.94468"
+     inkscape:cy="245.32161"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <!--Generated by the Batik Graphics2D SVG Generator-->
+  <g
+     id="g177"
+     style="fill:#c9f3bc;fill-opacity:0.78430002;stroke:#c9f3bc;stroke-width:0.9995057;stroke-opacity:0.78430002;font-family:sans-serif"
+     transform="matrix(0.9966762,0,0,1.0043275,-218.05333,-218.08604)">
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect179"
+       height="149"
+       style="stroke:none"
+       width="226"
+       y="218"
+       x="219" />
+  </g>
+  <defs
+     id="genericDefs">
+    <defs
+       id="defs1">
+      <clipPath
+         id="clipPath1"
+         clipPathUnits="userSpaceOnUse">
+        <path
+           inkscape:connector-curvature="0"
+           id="path9"
+           d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" />
+      </clipPath>
+    </defs>
+    <clipPath
+       id="clipPath1-8"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         inkscape:connector-curvature="0"
+         id="path9-6"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" />
+    </clipPath>
+    <clipPath
+       id="clipPath1-9"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         inkscape:connector-curvature="0"
+         id="path9-9"
+         d="m 0,0 2510,0 0,1510 L 0,1510 0,0 z" />
+    </clipPath>
+  </defs>
+  <g
+     id="g15"
+     style="font-family:sans-serif"
+     transform="translate(-229.06595,-216.5)">
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect17"
+       height="150"
+       style="fill:none"
+       width="200"
+       y="217"
+       x="603" />
+  </g>
+  <text
+     x="694"
+     y="246"
+     style="font-size:14px;stroke:none;font-family:sans-serif"
+     xml:space="preserve"
+     id="text25"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)">T1</text>
+  <image
+     style="font-size:14px;font-family:sans-serif"
+     x="773"
+     y="232"
+     width="15"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAdklEQVR42mNgGCjA iMb/T4peDM3n7v8iqMtIkY0BpI4Rj42MePSDLWGC8WA2ItH/oYaiYzhgQnYKMo1s KAwjGQoGLDAnggRhfsHiR6zeg2n+j8VmRkKhT8jPeAELIT9D+f/xacbqZ0JxTnYK Q04kyIL/GQY9AAAW0Uztnea6vQAAAABJRU5ErkJggg=="
+     height="16"
+     preserveAspectRatio="none"
+     id="image27"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="790"
+     y="272"
+     width="26"
+     style="font-size:14px;fill:#68e5ff;stroke:none;font-family:sans-serif"
+     height="26"
+     id="rect29"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="790"
+     y="272"
+     width="26"
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     height="26"
+     id="rect31"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     points="793,275 793,295 813,285 "
+     id="polygon33"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;stroke:none;font-family:sans-serif"
+     points="793,275 793,295 813,285 "
+     id="polygon35"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <line
+     transform="translate(-228.22986,-216.56967)"
+     x1="813"
+     x2="813"
+     y1="295"
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     y2="275"
+     id="line37"
+     clip-path="url(#clipPath1)" />
+  <text
+     x="772"
+     y="265"
+     style="font-size:8px;stroke:none;font-family:sans-serif"
+     xml:space="preserve"
+     id="text41"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)">???</text>
+  <ellipse
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     rx="3"
+     cx="781"
+     ry="4.5"
+     cy="276.5"
+     id="ellipse43"
+     clip-path="url(#clipPath1)"
+     d="m 784,276.5 c 0,2.48528 -1.34315,4.5 -3,4.5 -1.65685,0 -3,-2.01472 -3,-4.5 0,-2.48528 1.34315,-4.5 3,-4.5 1.65685,0 3,2.01472 3,4.5 z"
+     sodipodi:cx="781"
+     sodipodi:cy="276.5"
+     sodipodi:rx="3"
+     sodipodi:ry="4.5"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="777"
+     y="275"
+     width="9"
+     style="font-size:14px;fill:#808080;stroke:none;font-family:sans-serif"
+     height="7"
+     id="rect45"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="777"
+     y="275"
+     width="9"
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     height="7"
+     id="rect47"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="590"
+     y="311"
+     width="26"
+     style="font-size:14px;fill:#c4a67a;stroke:none;font-family:sans-serif"
+     height="26"
+     id="rect49"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="590"
+     y="311"
+     width="26"
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     height="26"
+     id="rect51"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     points="613,314 613,334 593,324 "
+     id="polygon53"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;stroke:none;font-family:sans-serif"
+     points="613,314 613,334 593,324 "
+     id="polygon55"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="590"
+     y="266"
+     width="26"
+     style="font-size:14px;fill:#68e5ff;stroke:none;font-family:sans-serif"
+     height="26"
+     id="rect57"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="590"
+     y="266"
+     width="26"
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     height="26"
+     id="rect59"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     points="613,269 613,289 593,279 "
+     id="polygon61"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;stroke:none;font-family:sans-serif"
+     points="613,269 613,289 593,279 "
+     id="polygon63"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="590"
+     y="226"
+     width="26"
+     style="font-size:14px;fill:#68e5ff;stroke:none;font-family:sans-serif"
+     height="26"
+     id="rect65"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="590"
+     y="226"
+     width="26"
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     height="26"
+     id="rect67"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     points="593,229 593,249 613,239 "
+     id="polygon69"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;stroke:none;font-family:sans-serif"
+     points="593,229 593,249 613,239 "
+     id="polygon71"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="931"
+     y="219"
+     width="200"
+     style="font-size:14px;fill:none;stroke-width:1.00562096;font-family:sans-serif"
+     height="150"
+     id="rect73"
+     clip-path="url(#clipPath1)"
+     transform="matrix(1,0,0,0.9888521,-229.06595,-214.05861)" />
+  <text
+     x="1022"
+     y="248"
+     style="font-size:14px;stroke:none;font-family:sans-serif"
+     xml:space="preserve"
+     id="text81"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)">T2</text>
+  <image
+     style="font-size:14px;font-family:sans-serif"
+     x="1101"
+     y="234"
+     width="15"
+     xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAdklEQVR42mNgGCjA iMb/T4peDM3n7v8iqMtIkY0BpI4Rj42MePSDLWGC8WA2ItH/oYaiYzhgQnYKMo1s KAwjGQoGLDAnggRhfsHiR6zeg2n+j8VmRkKhT8jPeAELIT9D+f/xacbqZ0JxTnYK Q04kyIL/GQY9AAAW0Uztnea6vQAAAABJRU5ErkJggg=="
+     height="16"
+     preserveAspectRatio="none"
+     id="image83"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="918"
+     y="272"
+     width="26"
+     style="font-size:14px;fill:#68e5ff;stroke:none;font-family:sans-serif"
+     height="26"
+     id="rect85"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="918"
+     y="272"
+     width="26"
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     height="26"
+     id="rect87"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     points="921,275 921,295 941,285 "
+     id="polygon89"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;stroke:none;font-family:sans-serif"
+     points="921,275 921,295 941,285 "
+     id="polygon91"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <line
+     transform="translate(-228.09051,-216.43033)"
+     x1="941"
+     x2="941"
+     y1="295"
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     y2="275"
+     id="line93"
+     clip-path="url(#clipPath1)" />
+  <text
+     x="906"
+     y="280"
+     style="font-size:8px;stroke:none;font-family:sans-serif"
+     xml:space="preserve"
+     id="text97"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <ellipse
+     transform="translate(-227.53311,-210.64735)"
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     rx="5"
+     cx="905"
+     ry="7.5"
+     cy="291.5"
+     id="ellipse99"
+     clip-path="url(#clipPath1)"
+     d="m 910,291.5 c 0,4.14214 -2.23858,7.5 -5,7.5 -2.76142,0 -5,-3.35786 -5,-7.5 0,-4.14214 2.23858,-7.5 5,-7.5 2.76142,0 5,3.35786 5,7.5 z"
+     sodipodi:cx="905"
+     sodipodi:cy="291.5"
+     sodipodi:rx="5"
+     sodipodi:ry="7.5" />
+  <polygon
+     transform="translate(-227.53311,-210.64735)"
+     style="font-size:14px;fill:#808080;stroke:none;font-family:sans-serif"
+     points="898,306 914,306 898,290 "
+     id="polygon101"
+     clip-path="url(#clipPath1)" />
+  <polygon
+     transform="translate(-227.53311,-210.64735)"
+     style="font-size:14px;fill:#808080;stroke:none;font-family:sans-serif"
+     points="914,290 898,290 914,306 "
+     id="polygon103"
+     clip-path="url(#clipPath1)" />
+  <text
+     transform="translate(-227.4286,-209.67191)"
+     x="899"
+     y="302"
+     style="font-size:8px;stroke:none;font-family:sans-serif"
+     xml:space="preserve"
+     id="text109"
+     clip-path="url(#clipPath1)">S</text>
+  <text
+     transform="translate(-228.6479,-212.31954)"
+     x="906"
+     y="299"
+     style="font-size:8px;stroke:none;font-family:sans-serif"
+     xml:space="preserve"
+     id="text111"
+     clip-path="url(#clipPath1)">W</text>
+  <rect
+     x="1118"
+     y="323"
+     width="26"
+     style="font-size:14px;fill:#c4a67a;stroke:none;font-family:sans-serif"
+     height="26"
+     id="rect113"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="1118"
+     y="323"
+     width="26"
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     height="26"
+     id="rect115"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     points="1121,326 1121,346 1141,336 "
+     id="polygon117"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;stroke:none;font-family:sans-serif"
+     points="1121,326 1121,346 1141,336 "
+     id="polygon119"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="1118"
+     y="281"
+     width="26"
+     style="font-size:14px;fill:#68e5ff;stroke:none;font-family:sans-serif"
+     height="26"
+     id="rect121"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="1118"
+     y="281"
+     width="26"
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     height="26"
+     id="rect123"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     points="1121,284 1121,304 1141,294 "
+     id="polygon125"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;stroke:none;font-family:sans-serif"
+     points="1121,284 1121,304 1141,294 "
+     id="polygon127"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="1118"
+     y="239"
+     width="26"
+     style="font-size:14px;fill:#68e5ff;stroke:none;font-family:sans-serif"
+     height="26"
+     id="rect129"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     x="1118"
+     y="239"
+     width="26"
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     height="26"
+     id="rect131"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;fill:none;font-family:sans-serif"
+     points="1141,242 1141,262 1121,252 "
+     id="polygon133"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <polygon
+     style="font-size:14px;stroke:none;font-family:sans-serif"
+     points="1141,242 1141,262 1121,252 "
+     id="polygon135"
+     clip-path="url(#clipPath1)"
+     transform="translate(-229.06595,-216.5)" />
+  <rect
+     transform="matrix(0.8922537,0,0,0.97109655,-89.426755,-198.66394)"
+     x="1296"
+     y="208"
+     width="227"
+     style="font-size:14px;fill:none;stroke-width:1.07429767;font-family:sans-serif"
+     height="150"
+     id="rect137"
+     clip-path="url(#clipPath1)" />
+  <rect
+     x="918"
+     y="272"
+     width="26"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.63913441;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+     height="26"
+     id="rect87-1"
+     clip-path="url(#clipPath1-8)"
+     transform="matrix(0.614111,0,0,0.60607164,106.45932,-85.48902)" />
+  <line
+     transform="matrix(0.72825359,-0.74173869,0.73115565,0.73879463,-215.59126,574.46944)"
+     x1="941"
+     x2="941"
+     y1="295"
+     style="font-size:14px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:0.96209174;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+     y2="275"
+     id="line93-3"
+     clip-path="url(#clipPath1-9)" />
+  <g
+     id="g143"
+     style="font-size:14px;stroke-width:1.00451326;font-family:sans-serif"
+     transform="matrix(0.99103415,0,0,1,-215.54544,-216.5)">
+    <text
+       clip-path="url(#clipPath1)"
+       id="text145"
+       xml:space="preserve"
+       style="stroke:none"
+       y="237"
+       x="1371"
+       transform="translate(-6.7609628,4.1384484)">HSM_CPU2</text>
+    <image
+       clip-path="url(#clipPath1)"
+       id="image147"
+       preserveAspectRatio="none"
+       height="16"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAdklEQVR42mNgGCjA iMb/T4peDM3n7v8iqMtIkY0BpI4Rj42MePSDLWGC8WA2ItH/oYaiYzhgQnYKMo1s KAwjGQoGLDAnggRhfsHiR6zeg2n+j8VmRkKhT8jPeAELIT9D+f/xacbqZ0JxTnYK Q04kyIL/GQY9AAAW0Uztnea6vQAAAABJRU5ErkJggg=="
+       width="15"
+       y="223"
+       x="1493"
+       style="stroke-width:1.00451326"
+       transform="translate(-15.510444,-0.98534486)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text149"
+       xml:space="preserve"
+       style="font-size:12px;stroke:none"
+       y="266"
+       x="1311">+ channelIndex = 0 : Natural;</text>
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect151"
+       height="26"
+       style="fill:#c4a67a;stroke:none"
+       width="26"
+       y="323"
+       x="1283" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect153"
+       height="26"
+       style="fill:none;stroke-width:1.00451326"
+       width="26"
+       y="323"
+       x="1283" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon155"
+       points="1306,336 1286,326 1286,346 "
+       style="fill:none;stroke-width:1.00451326" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon157"
+       points="1306,336 1286,326 1286,346 "
+       style="stroke:none" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect159"
+       height="26"
+       style="fill:#68e5ff;stroke:none"
+       width="26"
+       y="281"
+       x="1283" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect161"
+       height="26"
+       style="fill:none;stroke-width:1.00451326"
+       width="26"
+       y="281"
+       x="1283" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon163"
+       points="1306,294 1286,284 1286,304 "
+       style="fill:none;stroke-width:1.00451326" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon165"
+       points="1306,294 1286,284 1286,304 "
+       style="stroke:none" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect167"
+       height="26"
+       style="fill:#68e5ff;stroke:none"
+       width="26"
+       y="238"
+       x="1283" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect169"
+       height="26"
+       style="fill:none;stroke-width:1.00451326"
+       width="26"
+       y="238"
+       x="1283" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon171"
+       points="1286,251 1306,241 1306,261 "
+       style="fill:none;stroke-width:1.00451326" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon173"
+       points="1286,251 1306,241 1306,261 "
+       style="stroke:none" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect175"
+       height="150"
+       style="fill:none;stroke-width:1.00451326"
+       width="227"
+       y="217"
+       x="218" />
+  </g>
+  <g
+     id="g181"
+     style="font-size:14px;font-family:sans-serif"
+     transform="translate(-229.06595,-216.5)">
+    <text
+       clip-path="url(#clipPath1)"
+       id="text183"
+       xml:space="preserve"
+       style="stroke:none"
+       y="246"
+       x="293">HSM_CPU1</text>
+    <image
+       clip-path="url(#clipPath1)"
+       id="image185"
+       preserveAspectRatio="none"
+       height="16"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAdklEQVR42mNgGCjA iMb/T4peDM3n7v8iqMtIkY0BpI4Rj42MePSDLWGC8WA2ItH/oYaiYzhgQnYKMo1s KAwjGQoGLDAnggRhfsHiR6zeg2n+j8VmRkKhT8jPeAELIT9D+f/xacbqZ0JxTnYK Q04kyIL/GQY9AAAW0Uztnea6vQAAAABJRU5ErkJggg=="
+       width="15"
+       y="232"
+       x="415" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text187"
+       xml:space="preserve"
+       style="font-size:12px;stroke:none"
+       y="275"
+       x="233">+ channelIndex = 0 : Natural;</text>
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect189"
+       height="26"
+       style="fill:#c4a67a;stroke:none"
+       width="26"
+       y="311"
+       x="432" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect191"
+       height="26"
+       style="fill:none"
+       width="26"
+       y="311"
+       x="432" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon193"
+       points="455,334 435,324 455,314 "
+       style="fill:none" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon195"
+       points="455,334 435,324 455,314 "
+       style="stroke:none" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect197"
+       height="26"
+       style="fill:#68e5ff;stroke:none"
+       width="26"
+       y="266"
+       x="432" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect199"
+       height="26"
+       style="fill:none"
+       width="26"
+       y="266"
+       x="432" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon201"
+       points="455,289 435,279 455,269 "
+       style="fill:none" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon203"
+       points="455,289 435,279 455,269 "
+       style="stroke:none" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect205"
+       height="26"
+       style="fill:#68e5ff;stroke:none"
+       width="26"
+       y="227"
+       x="432" />
+    <rect
+       clip-path="url(#clipPath1)"
+       id="rect207"
+       height="26"
+       style="fill:none"
+       width="26"
+       y="227"
+       x="432" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon209"
+       points="435,250 455,240 435,230 "
+       style="fill:none" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon211"
+       points="435,250 455,240 435,230 "
+       style="stroke:none" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text213"
+       xml:space="preserve"
+       style="font-size:12px;font-style:italic;stroke:none"
+       y="285"
+       x="848">comm</text>
+    <line
+       clip-path="url(#clipPath1)"
+       id="line215"
+       y2="285"
+       style="fill:none"
+       y1="285"
+       x2="918"
+       x1="816" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text217"
+       xml:space="preserve"
+       style="font-size:12px;font-style:italic;stroke:none"
+       y="336"
+       x="1165">startHSM_CPU2</text>
+    <line
+       clip-path="url(#clipPath1)"
+       id="line219"
+       y2="336"
+       style="fill:none"
+       y1="336"
+       x2="1144"
+       x1="1283" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text221"
+       xml:space="preserve"
+       style="font-size:12px;font-style:italic;stroke:none"
+       y="294"
+       x="1167">data_comm_T2</text>
+    <line
+       clip-path="url(#clipPath1)"
+       id="line223"
+       y2="294"
+       style="fill:none"
+       y1="294"
+       x2="1144"
+       x1="1283" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text225"
+       xml:space="preserve"
+       style="font-size:12px;font-style:italic;stroke:none"
+       y="251"
+       x="1157">retData_comm_T2</text>
+    <line
+       clip-path="url(#clipPath1)"
+       id="line227"
+       y2="252"
+       style="fill:none"
+       y1="251"
+       x2="1144"
+       x1="1283" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text229"
+       xml:space="preserve"
+       style="font-size:12px;font-style:italic;stroke:none"
+       y="324"
+       x="476">startHSM_CPU1</text>
+    <line
+       clip-path="url(#clipPath1)"
+       id="line231"
+       y2="324"
+       style="fill:none"
+       y1="324"
+       x2="590"
+       x1="458" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text233"
+       xml:space="preserve"
+       style="font-size:12px;font-style:italic;stroke:none"
+       y="279"
+       x="477">data_comm_T1</text>
+    <line
+       clip-path="url(#clipPath1)"
+       id="line235"
+       y2="279"
+       style="fill:none"
+       y1="279"
+       x2="590"
+       x1="458" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text237"
+       xml:space="preserve"
+       style="font-size:12px;font-style:italic;stroke:none"
+       y="239"
+       x="468">retData_comm_T1</text>
+    <line
+       clip-path="url(#clipPath1)"
+       id="line239"
+       y2="239"
+       style="fill:none"
+       y1="240"
+       x2="590"
+       x1="458" />
+  </g>
+</svg>
diff --git a/doc/SysMLSec/fig/hsmt1.svg b/doc/SysMLSec/fig/hsmt1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4441bc0347129704ecbb52a23add798dc01bb330
--- /dev/null
+++ b/doc/SysMLSec/fig/hsmt1.svg
@@ -0,0 +1,724 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:Dialog"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   width="222.29492"
+   height="242.82289"
+   sodipodi:docname="hsmt1.svg">
+  <metadata
+     id="metadata191">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="2048"
+     inkscape:window-height="1086"
+     id="namedview189"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="1.7940591"
+     inkscape:cx="272.56063"
+     inkscape:cy="191.07921"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g5" />
+  <!--Generated by the Batik Graphics2D SVG Generator-->
+  <defs
+     id="genericDefs">
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath1-5">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1770 L 0,1770 0,0 z"
+         id="path9-4" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3266">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1770 L 0,1770 0,0 z"
+         id="path3268" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3270">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1770 L 0,1770 0,0 z"
+         id="path3272" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath1-9">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1770 L 0,1770 0,0 z"
+         id="path9-5" />
+    </clipPath>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3312">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 0,0 2510,0 0,1770 L 0,1770 0,0 z"
+         id="path3314" />
+    </clipPath>
+  </defs>
+  <g
+     id="g5"
+     transform="translate(-323.31759,-127.64184)">
+    <defs
+       id="defs1">
+      <clipPath
+         clipPathUnits="userSpaceOnUse"
+         id="clipPath1">
+        <path
+           d="m 0,0 2510,0 0,1770 L 0,1770 0,0 z"
+           id="path9"
+           inkscape:connector-curvature="0" />
+      </clipPath>
+    </defs>
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon19"
+       points="418,421 414,430 409,421 "
+       style="stroke:none;font-family:sans-serif"
+       transform="translate(-19.567548,-82.055525)" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon21"
+       points="418,421 414,430 409,421 "
+       style="fill:none;font-family:sans-serif"
+       transform="translate(-19.567548,-82.055525)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line35"
+       y2="206"
+       style="fill:none;stroke-width:1.07584798;font-family:sans-serif"
+       y1="186"
+       x2="397"
+       x1="397"
+       transform="matrix(1,0,0,0.86396902,0,25.233746)" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon37"
+       points="401,197 397,206 392,197 "
+       style="stroke:none;font-family:sans-serif" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon39"
+       points="401,197 397,206 392,197 "
+       style="fill:none;font-family:sans-serif" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon43"
+       points="397,266 392,257 401,257 "
+       style="stroke:none;font-family:sans-serif"
+       transform="translate(0.19706897,-5.0252588)" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon45"
+       points="397,266 392,257 401,257 "
+       style="fill:none;font-family:sans-serif"
+       transform="translate(0.19706897,-5.0252588)" />
+    <circle
+       sodipodi:ry="7.5"
+       sodipodi:rx="7.5"
+       sodipodi:cy="58.5"
+       sodipodi:cx="414.5"
+       d="m 422,58.5 c 0,4.142136 -3.35786,7.5 -7.5,7.5 -4.14214,0 -7.5,-3.357864 -7.5,-7.5 0,-4.142136 3.35786,-7.5 7.5,-7.5 4.14214,0 7.5,3.357864 7.5,7.5 z"
+       clip-path="url(#clipPath1)"
+       id="circle53"
+       cy="58.5"
+       cx="414.5"
+       r="7.5"
+       style="stroke:none;font-family:sans-serif"
+       transform="translate(-18.67274,76.641843)" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon57"
+       points="437,371 447,381 437,391 382,391 382,371 "
+       style="fill:#68e5ff;stroke:none;font-family:sans-serif"
+       transform="translate(-19.706897,-58.923623)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line61"
+       y2="396"
+       style="fill:none;stroke-width:0.79833925;font-family:sans-serif"
+       y1="391"
+       x2="414"
+       x1="414"
+       transform="matrix(1,0,0,1.5690076,-19.706897,-281.1211)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line63"
+       y2="372"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="372"
+       x2="438"
+       x1="383"
+       transform="translate(-19.706897,-58.923623)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line65"
+       y2="392"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="392"
+       x2="438"
+       x1="383"
+       transform="translate(-19.706897,-58.923623)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line67"
+       y2="392"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="372"
+       x2="383"
+       x1="383"
+       transform="translate(-19.706897,-58.923623)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line69"
+       y2="382"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="372"
+       x2="448"
+       x1="438"
+       transform="translate(-19.706897,-58.923623)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line71"
+       y2="382"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="392"
+       x2="448"
+       x1="438"
+       transform="translate(-19.706897,-58.923623)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line73"
+       y2="371"
+       style="fill:none;font-family:sans-serif"
+       y1="371"
+       x2="437"
+       x1="382"
+       transform="translate(-19.706897,-58.923623)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line75"
+       y2="391"
+       style="fill:none;font-family:sans-serif"
+       y1="391"
+       x2="437"
+       x1="382"
+       transform="translate(-19.706897,-58.923623)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line77"
+       y2="391"
+       style="fill:none;font-family:sans-serif"
+       y1="371"
+       x2="382"
+       x1="382"
+       transform="translate(-19.706897,-58.923623)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line79"
+       y2="381"
+       style="fill:none;font-family:sans-serif"
+       y1="371"
+       x2="447"
+       x1="437"
+       transform="translate(-19.706897,-58.923623)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line81"
+       y2="381"
+       style="fill:none;font-family:sans-serif"
+       y1="391"
+       x2="447"
+       x1="437"
+       transform="translate(-19.706897,-58.923623)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text83"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="371"
+       x="387"
+       transform="translate(-24.83069,-60.40164)">chl</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text85"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="386"
+       x="387"
+       transform="translate(-19.706897,-58.923623)">comm(1)</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text87"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="402"
+       x="430"
+       transform="translate(-19.706897,-58.923623)">sec:hsmSec_comm</text>
+    <circle
+       sodipodi:ry="8"
+       sodipodi:rx="8"
+       sodipodi:cy="445"
+       sodipodi:cx="414"
+       d="m 422,445 c 0,4.41828 -3.58172,8 -8,8 -4.41828,0 -8,-3.58172 -8,-8 0,-4.41828 3.58172,-8 8,-8 4.41828,0 8,3.58172 8,8 z"
+       clip-path="url(#clipPath1)"
+       id="circle89"
+       cy="445"
+       cx="414"
+       r="8"
+       style="stroke:none;font-family:sans-serif"
+       transform="translate(-19.903966,-85.035262)" />
+    <circle
+       sodipodi:ry="10"
+       sodipodi:rx="10"
+       sodipodi:cy="445"
+       sodipodi:cx="414"
+       d="m 424,445 c 0,5.52285 -4.47715,10 -10,10 -5.52285,0 -10,-4.47715 -10,-10 0,-5.52285 4.47715,-10 10,-10 5.52285,0 10,4.47715 10,10 z"
+       clip-path="url(#clipPath1)"
+       id="circle91"
+       cy="445"
+       cx="414"
+       r="10"
+       style="fill:none;font-family:sans-serif"
+       transform="translate(-19.903966,-85.035262)" />
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon95"
+       points="335,161 449,161 459,171 449,181 335,181 "
+       style="fill:#c4a67a;stroke:none;font-family:sans-serif" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line97"
+       y2="162"
+       style="fill:none;stroke:#c4a67a;font-family:sans-serif"
+       y1="162"
+       x2="450"
+       x1="336" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line99"
+       y2="182"
+       style="fill:none;stroke:#c4a67a;stroke-width:1.00365508;font-family:sans-serif"
+       y1="182"
+       x2="450"
+       x1="336"
+       transform="matrix(0.99272963,0,0,1,2.43921,0)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line101"
+       y2="182"
+       style="fill:none;stroke:#c4a67a;font-family:sans-serif"
+       y1="162"
+       x2="336"
+       x1="336" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line103"
+       y2="172"
+       style="fill:none;stroke:#c4a67a;stroke-width:1.03987527;font-family:sans-serif"
+       y1="162"
+       x2="460"
+       x1="450"
+       transform="matrix(0.96864652,0,0,0.95471164,14.109067,7.3367147)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line105"
+       y2="172"
+       style="fill:none;stroke:#c4a67a;font-family:sans-serif"
+       y1="182"
+       x2="460"
+       x1="450"
+       transform="translate(-0.24386041,-0.38320922)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line109"
+       y2="186"
+       style="fill:none;font-family:sans-serif"
+       y1="181"
+       x2="397"
+       x1="397" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line111"
+       y2="161"
+       style="fill:none;font-family:sans-serif"
+       y1="161"
+       x2="449"
+       x1="335" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line113"
+       y2="181"
+       style="fill:none;font-family:sans-serif"
+       y1="181"
+       x2="449"
+       x1="335" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line115"
+       y2="181"
+       style="fill:none;font-family:sans-serif"
+       y1="161"
+       x2="335"
+       x1="335" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line117"
+       y2="171"
+       style="fill:none;font-family:sans-serif"
+       y1="161"
+       x2="459"
+       x1="449" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line119"
+       y2="171"
+       style="fill:none;font-family:sans-serif"
+       y1="181"
+       x2="459"
+       x1="449" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text121"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="161"
+       x="340"
+       transform="translate(-4.1384484,-1.9706897)">req</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text123"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="176"
+       x="340">startHSM_CPU1(0)</text>
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon125"
+       points="458,221 448,231 337,231 337,211 448,211 "
+       style="fill:#68e5ff;stroke:none;font-family:sans-serif"
+       transform="translate(-0.19911999,-3.6288701)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line129"
+       y2="236"
+       style="fill:none;stroke-width:0.46477187;font-family:sans-serif"
+       y1="231"
+       x2="397"
+       x1="397"
+       transform="matrix(1,0,0,4.6293536,-0.19911999,-840.19487)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line131"
+       y2="212"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="212"
+       x2="449"
+       x1="338"
+       transform="translate(-0.19911999,-3.6288701)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line133"
+       y2="232"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="232"
+       x2="449"
+       x1="338"
+       transform="translate(-0.19911999,-3.6288701)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line135"
+       y2="232"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="212"
+       x2="338"
+       x1="338"
+       transform="translate(-0.19911999,-3.6288701)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line137"
+       y2="222"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="212"
+       x2="459"
+       x1="449"
+       transform="translate(-0.19911999,-3.6288701)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line139"
+       y2="222"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="232"
+       x2="459"
+       x1="449"
+       transform="translate(-0.19911999,-3.6288701)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line141"
+       y2="211"
+       style="fill:none;font-family:sans-serif"
+       y1="211"
+       x2="448"
+       x1="337"
+       transform="translate(-0.19911999,-3.6288701)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line143"
+       y2="231"
+       style="fill:none;font-family:sans-serif"
+       y1="231"
+       x2="448"
+       x1="337"
+       transform="translate(-0.19911999,-3.6288701)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line145"
+       y2="231"
+       style="fill:none;font-family:sans-serif"
+       y1="211"
+       x2="337"
+       x1="337"
+       transform="translate(-0.19911999,-3.6288701)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line147"
+       y2="221"
+       style="fill:none;font-family:sans-serif"
+       y1="211"
+       x2="458"
+       x1="448"
+       transform="translate(-0.19911999,-3.6288701)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line149"
+       y2="221"
+       style="fill:none;font-family:sans-serif"
+       y1="231"
+       x2="458"
+       x1="448"
+       transform="translate(-0.19911999,-3.6288701)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text151"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="211"
+       x="342"
+       transform="translate(-6.3304675,-5.0223582)">chl</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text153"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="226"
+       x="342"
+       transform="translate(-0.19911999,-3.6288701)">data_comm_T1(1)</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text155"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="242"
+       x="427"
+       transform="translate(-0.19911999,-3.6288701)">sec:hsmSec_comm</text>
+    <polygon
+       clip-path="url(#clipPath1)"
+       id="polygon157"
+       points="469,271 469,291 325,291 335,281 325,271 "
+       style="fill:#68e5ff;stroke:none;font-family:sans-serif"
+       transform="translate(-1.1824138,-8.2768968)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line161"
+       y2="296"
+       style="fill:none;stroke-width:0.51465857;font-family:sans-serif"
+       y1="291"
+       x2="397"
+       x1="397"
+       transform="matrix(1,0,0,3.775388,-1.1824138,-814.52712)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line163"
+       y2="272"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="272"
+       x2="470"
+       x1="326"
+       transform="translate(-1.1824138,-8.2768968)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line165"
+       y2="292"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="272"
+       x2="470"
+       x1="470"
+       transform="translate(-1.1824138,-8.2768968)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line167"
+       y2="292"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="292"
+       x2="470"
+       x1="326"
+       transform="translate(-1.1824138,-8.2768968)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line169"
+       y2="282"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="272"
+       x2="336"
+       x1="326"
+       transform="translate(-1.1824138,-8.2768968)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line171"
+       y2="282"
+       style="fill:none;stroke:#68e5ff;font-family:sans-serif"
+       y1="292"
+       x2="336"
+       x1="326"
+       transform="translate(-1.1824138,-8.2768968)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line173"
+       y2="271"
+       style="fill:none;font-family:sans-serif"
+       y1="271"
+       x2="469"
+       x1="325"
+       transform="translate(-1.1824138,-8.2768968)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line175"
+       y2="291"
+       style="fill:none;font-family:sans-serif"
+       y1="271"
+       x2="469"
+       x1="469"
+       transform="translate(-1.1824138,-8.2768968)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line177"
+       y2="291"
+       style="fill:none;font-family:sans-serif"
+       y1="291"
+       x2="469"
+       x1="325"
+       transform="translate(-1.1824138,-8.2768968)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line179"
+       y2="281"
+       style="fill:none;font-family:sans-serif"
+       y1="271"
+       x2="335"
+       x1="325"
+       transform="translate(-1.1824138,-8.2768968)" />
+    <line
+       clip-path="url(#clipPath1)"
+       id="line181"
+       y2="281"
+       style="fill:none;font-family:sans-serif"
+       y1="291"
+       x2="335"
+       x1="325"
+       transform="translate(-1.1824138,-8.2768968)" />
+    <text
+       clip-path="url(#clipPath1)"
+       id="text183"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="271"
+       x="330"
+       transform="translate(-4.3355173,-9.5578451)">chl</text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text185"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="286"
+       x="337"
+       transform="translate(-1.1824138,-8.2768968)">retData_comm_T1(1) </text>
+    <text
+       clip-path="url(#clipPath1)"
+       id="text187"
+       xml:space="preserve"
+       style="stroke:none;font-family:sans-serif"
+       y="302"
+       x="433"
+       transform="translate(-1.1824138,-8.2768968)">sec:hsmSec_comm</text>
+    <line
+       transform="matrix(1,0,0,0.75131773,-1.1796429,-0.18168117)"
+       clip-path="url(#clipPath1-5)"
+       id="line35-4"
+       y2="206"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1.15368748;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       y1="186"
+       x2="397"
+       x1="397" />
+    <polygon
+       transform="translate(-1.1796429,-46.312243)"
+       clip-path="url(#clipPath1-5)"
+       id="polygon37-3"
+       points="397,206 392,197 401,197 "
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif" />
+    <polygon
+       transform="translate(-1.1796429,-46.312243)"
+       clip-path="url(#clipPath1-5)"
+       id="polygon39-7"
+       points="397,206 392,197 401,197 "
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif" />
+    <polygon
+       clip-path="url(#clipPath1-9)"
+       id="polygon43-9"
+       points="392,257 401,257 397,266 "
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:sans-serif"
+       transform="translate(-1.2781769,44.561986)" />
+    <polygon
+       clip-path="url(#clipPath1-9)"
+       id="polygon45-0"
+       points="392,257 401,257 397,266 "
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;font-family:sans-serif"
+       transform="translate(-1.2781769,44.561986)" />
+  </g>
+</svg>
diff --git a/doc/SysMLSec/sysmlsec_documentation.tex b/doc/SysMLSec/sysmlsec_documentation.tex
index 6b1a16bec0228f9dfb321714a968c982da9e3ea0..fc1d39e5175cdbf6012059ff915cb045c7294cd8 100644
--- a/doc/SysMLSec/sysmlsec_documentation.tex
+++ b/doc/SysMLSec/sysmlsec_documentation.tex
@@ -354,7 +354,7 @@ Without taking into account penalties of the hardware platform (e.g. cache miss,
 
 \subsection{Automatic Security Generation}
 
-Given security requirements and an unsecured model, our toolkit magically adds security elements. It can 1) add the security operators to a functional view, 2) Add an HSM performing all security operations, and 3) Automatically map keys securely. See the thesis of Letitia Li, `Safe and Secure Model-Driven Design for Embedded Systems' for the detailed algorithms on how to add security.
+Given security requirements and an unsecured model, our toolkit magically adds security elements. It can 1) add the security operators to a functional view, optionally with an added HSM performing all security operations, and 2) Automatically map keys securely. See the thesis of Letitia Li, `Safe and Secure Model-Driven Design for Embedded Systems' for the detailed algorithms on how to add security.
 
 \begin{figure*}[htbp]
 \centering
@@ -392,19 +392,48 @@ When the option to add security operators is selected, there are multiple option
 
 \subsubsection{Adding Hardware Security Modules} 
 
- After a designer models a system, our toolkit can automatically add
+For automatic security generation, there is also an option to add HSMs to perform all the security operators intead. 
+Our toolkit can automatically add
 HSMs to designated tasks, including making all of the modifications to the
 diagrams relating to sending the data to the HSM, generating the HSM's activity
 diagram, etc. A single Hardware Security Module is added to each processor which executes at least one of the designated tasks. If multiple tasks mapped to a single CPU are designated to have a HSM added to them, then only a single HSM will be added.
 
 For each HSM to be added to perform security operations for one or more tasks, first, the architectural diagram is modified to add a Hardware Accelerator and memory, with a connecting private bus.
 
-Next, each task is modified, so that before each instance of sending a message which should be secure, the task first sends the data to the HSM. The HSM then performs the security operations, and returns the secured message to the task, which then sends the secured message to the receiving task. When a task receives data to be decrypted, it similarly sends the messages to the HSM, which then decrypts it and sends the message back, and which point the receiving task can understand the contents of the message.
+Next, each task is modified, so that before each instance of sending a message which should be secure, the task first issues a request with the index of the channel (in the case of multiple channels to secure), and sends the data to the HSM. The HSM then performs the security operations, and returns the secured message to the task, which then sends the secured message to the receiving task. When a task receives data to be decrypted, it similarly sends the messages to the HSM, which then decrypts it and sends the message back, and which point the receiving task can understand the contents of the message.
+
+For example, using the model in our example, chose to ensure confidentiality, and add a HSM to each task. A new HSM task is added for each HSM in the Functional model as shown in Figure \ref{fig:hsmfunc}, and a secure bus, memory, and Hardware Accelerator are added for each CPU on the Architecture/Mapping model as shown in Figure \ref{fig:hsmarch}. Figure \ref{fig:hsmt1act} shows how the activity diagram of task t1 is modified to send communications to the HSM to be encrypted the activity diagram of the HSM. 
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.99\textwidth]{build/hsmfunc-svg.pdf}
+\caption{Functional Model with added Hardware Security Module Tasks} \label{fig:hsmfunc}
+\end{figure*}
+
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.99\textwidth]{build/hsmarch-svg.pdf}
+\caption{Architecture Model with added Hardware Security Modules} \label{fig:hsmarch}
+\end{figure*}
+
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.4\textwidth]{build/hsmt1-svg.pdf}
+\includegraphics[width=0.4\textwidth]{build/hsmact-svg.pdf}
+\caption{Modified Activity Diagram of T1 and HSM} \label{fig:hsmt1act}
+\end{figure*}
+
+
+
 
 \subsubsection{Mapping Keys}
 
 With multiple Cryptographic Configurations, it may become tedious to the map all of the keys to memory. Our toolkit therefore can find every Cryptographic Configuration used by a task, and then, depending on the type of the Cryptographic Configuration, map each applicable key to a memory that the task can securely access. For Cryptographic Configurations of type symmetric encryption or MAC, both the sending and receiving task will need to be able to access the key. For asymmetric encryption, however, all the sending tasks will need the public key while only the receiving task will need to access the private key. 
 
+At every security generation, keys are automatically generated and mapped securely. There is also the option to add keys alone after completing a design by hand.
+
 If a key is sent along a bus accessible to an attacker, then the key would be known to the attacker, so we wish to avoid sending keys along public buses. For each task which needs the key, the algorithm searches for securely accessible memories from the processor to which it is mapped. The algorithm traverses all possible private buses and bridges using breadth-first search, until it finds a memory. The key is then mapped to that memory. If all possible secure paths are searched and no memories are found, then a warning is issued saying it is impossible to map keys for that task.
 
 For example, for the automatically secured model in Figure \ref{fig:secfv1}, the keys for autoEncrypt\_comm are mapped as shown in Figure \ref{fig:mapkey}, where there is a secure path to the memory. If they keys were mapped to MainMemory, then the attacker could recover the key when it was read over the public bus MainBus. 
diff --git a/src/main/java/tmltranslator/toavatar/TML2Avatar.java b/src/main/java/tmltranslator/toavatar/TML2Avatar.java
index 8ef89d096b5ac82891979a58d7062d503ed7cf05..f342c93fd4f84213235d14e60a612dd3ae793395 100644
--- a/src/main/java/tmltranslator/toavatar/TML2Avatar.java
+++ b/src/main/java/tmltranslator/toavatar/TML2Avatar.java
@@ -1217,10 +1217,15 @@ public class TML2Avatar {
                         AvatarAttribute data = new AvatarAttribute("encryptedKey_" + ae.securityPattern.key, AvatarType.INTEGER, block, null);
                         block.addAttribute(data);
                     } else {
-                        //send encrypted data
-                        as.addValue(ae.securityPattern.name + "_encrypted");
-                        AvatarAttribute data = new AvatarAttribute(ae.securityPattern.name + "_encrypted", AvatarType.INTEGER, block, null);
-                        block.addAttribute(data);
+                        //send encrypted data or unecrypted security pattern
+                        //
+                        //if (){
+                      //  }
+                      //  else {
+                        	as.addValue(ae.securityPattern.name + "_encrypted");
+                        	AvatarAttribute data = new AvatarAttribute(ae.securityPattern.name + "_encrypted", AvatarType.INTEGER, block, null);
+                        	block.addAttribute(data);
+                        
                         if (!secChannelMap.containsKey(ae.securityPattern.name)) {
                             List<String> tmp = new ArrayList<String>();
                             secChannelMap.put(ae.securityPattern.name, tmp);
diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java
index 907017bb74dfc45656762f51e58eb92cdc90fb45..856e18fc7f0258a3e7d4fcbbecdb9bf7353208d5 100644
--- a/src/main/java/ui/GTURTLEModeling.java
+++ b/src/main/java/ui/GTURTLEModeling.java
@@ -1262,7 +1262,8 @@ public class GTURTLEModeling {
                             memNode.tdp.addComponent(key, memNode.x, memNode.y, true, true);
                             memNode.tdp.repaint();
                         } else {
-                            
+                             //
+                            mgui.issueError("Cannot map key in memory for " + sp.name + " on task " + t.getName(), "Key Mapping Error");
                             UICheckingError ce = new UICheckingError(CheckingError.STRUCTURE_ERROR, "Cannot map key in memory for " + sp.name + " on task " + t.getName());
                             ce.setTDiagramPanel(tmap.getCorrespondanceList().getTG(tmap.getArch().getFirstCPU()).getTDiagramPanel());
                             ce.setTGComponent(null);
diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java
index c70d7753280e80ab448c755fed26cfef0e2b519e..bf3fd49ab2ed50cc43dced25ec7520e26101c9db 100644
--- a/src/main/java/ui/MainGUI.java
+++ b/src/main/java/ui/MainGUI.java
@@ -3510,6 +3510,13 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
         return false;
     }
 
+	public void issueError(String error, String title){
+		JOptionPane.showMessageDialog(frame,
+                    error,
+                    title,
+                    JOptionPane.INFORMATION_MESSAGE);
+	}
+
     public boolean checkModelingSyntax(TURTLEPanel tp, boolean automatic) {
         //String msg = "";
         boolean b = false;
diff --git a/src/main/java/ui/SecurityGeneration.java b/src/main/java/ui/SecurityGeneration.java
index bab0866e1ac1567a1cade412d764f89c060914a4..5930fb6c94ef76a6e449b1548e3c4771e293a279 100644
--- a/src/main/java/ui/SecurityGeneration.java
+++ b/src/main/java/ui/SecurityGeneration.java
@@ -1375,6 +1375,19 @@ public class SecurityGeneration implements Runnable {
         TMLADStartState start = (TMLADStartState) tad.getComponentList().get(0);
         fromStart = new TGConnectorTMLAD(xpos, ypos, tad.getMinX(), tad.getMaxX(), tad.getMinY(), tad.getMaxY(), false, null, tad, null, null, new Vector<Point>());
 
+		if (hsmChannelMap.get(cpuName).size() ==0){
+			TMLADStopState stop = new TMLADStopState(100, 100, tad.getMinX(), tad.getMaxX(), tad.getMinY(), tad.getMaxY(), false, null, tad);
+            tad.addComponent(stop, 100, 100, false, true);
+
+
+			//Connect stop and start
+            fromStart = new TGConnectorTMLAD(xpos, ypos, tad.getMinX(), tad.getMaxX(), tad.getMinY(), tad.getMaxY(), false, null, tad, null, null, new Vector<Point>());
+            fromStart.setP1(start.getTGConnectingPointAtIndex(0));
+            fromStart.setP2(stop.getTGConnectingPointAtIndex(0));
+            tad.addComponent(fromStart, 100, 100, false, true);
+            return;
+		}
+
 
         TMLADReadRequestArg req = new TMLADReadRequestArg(300, 100, tad.getMinX(), tad.getMaxX(), tad.getMinY(), tad.getMaxY(), false, null, tad);
         tad.addComponent(req, 300, 100, false, true);