Add XmasTree to device hierarchy

This commit is contained in:
Ben Nuttall
2016-12-01 12:59:01 +00:00
parent 178ca8b6e5
commit 125281a47d
4 changed files with 127 additions and 116 deletions

View File

@@ -23,6 +23,7 @@ digraph classes {
PiLiter->LEDBoard;
PiLiterBarGraph->LEDBarGraph;
XmasTree->LEDBoard;
TrafficLights->LEDBoard;
PiTraffic->TrafficLights;
PiStop->TrafficLights;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

@@ -1,68 +1,68 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.36.0 (20140111.2315)
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: classes Pages: 1 -->
<svg width="733pt" height="476pt"
viewBox="0.00 0.00 733.00 476.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg width="796pt" height="476pt"
viewBox="0.00 0.00 795.50 476.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 472)">
<title>classes</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-472 729,-472 729,4 -4,4"/>
<polygon fill="white" stroke="none" points="-4,4 -4,-472 791.5,-472 791.5,4 -4,4"/>
<!-- Device -->
<g id="node1" class="node"><title>Device</title>
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="607,-468 553,-468 553,-432 607,-432 607,-468"/>
<text text-anchor="middle" x="580" y="-447.5" font-family="Sans" font-size="10.00" fill="#000000">Device</text>
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="670,-468 616,-468 616,-432 670,-432 670,-468"/>
<text text-anchor="middle" x="643" y="-447.5" font-family="Sans" font-size="10.00" fill="#000000">Device</text>
</g>
<!-- CompositeDevice -->
<g id="node2" class="node"><title>CompositeDevice</title>
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="580.5,-396 479.5,-396 479.5,-360 580.5,-360 580.5,-396"/>
<text text-anchor="middle" x="530" y="-375.5" font-family="Sans" font-size="10.00" fill="#000000">CompositeDevice</text>
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="643.5,-396 542.5,-396 542.5,-360 643.5,-360 643.5,-396"/>
<text text-anchor="middle" x="593" y="-375.5" font-family="Sans" font-size="10.00" fill="#000000">CompositeDevice</text>
</g>
<!-- CompositeDevice&#45;&gt;Device -->
<g id="edge1" class="edge"><title>CompositeDevice&#45;&gt;Device</title>
<path fill="none" stroke="black" d="M542.36,-396.303C548.233,-404.526 555.369,-414.517 561.842,-423.579"/>
<polygon fill="black" stroke="black" points="559.122,-425.793 567.783,-431.896 564.818,-421.724 559.122,-425.793"/>
<path fill="none" stroke="black" d="M605.36,-396.303C611.233,-404.526 618.369,-414.517 624.842,-423.579"/>
<polygon fill="black" stroke="black" points="622.122,-425.793 630.783,-431.896 627.818,-421.724 622.122,-425.793"/>
</g>
<!-- CompositeOutputDevice -->
<g id="node3" class="node"><title>CompositeOutputDevice</title>
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="375,-324 241,-324 241,-288 375,-288 375,-324"/>
<text text-anchor="middle" x="308" y="-303.5" font-family="Sans" font-size="10.00" fill="#000000">CompositeOutputDevice</text>
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="438,-324 304,-324 304,-288 438,-288 438,-324"/>
<text text-anchor="middle" x="371" y="-303.5" font-family="Sans" font-size="10.00" fill="#000000">CompositeOutputDevice</text>
</g>
<!-- CompositeOutputDevice&#45;&gt;CompositeDevice -->
<g id="edge2" class="edge"><title>CompositeOutputDevice&#45;&gt;CompositeDevice</title>
<path fill="none" stroke="black" d="M362.023,-324.034C394.615,-334.311 436.197,-347.422 469.834,-358.029"/>
<polygon fill="black" stroke="black" points="468.958,-361.422 479.547,-361.091 471.063,-354.746 468.958,-361.422"/>
<path fill="none" stroke="black" d="M425.023,-324.034C457.498,-334.274 498.899,-347.328 532.472,-357.915"/>
<polygon fill="black" stroke="black" points="531.58,-361.303 542.17,-360.972 533.685,-354.627 531.58,-361.303"/>
</g>
<!-- LEDCollection -->
<g id="node4" class="node"><title>LEDCollection</title>
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="237,-252 155,-252 155,-216 237,-216 237,-252"/>
<text text-anchor="middle" x="196" y="-231.5" font-family="Sans" font-size="10.00" fill="#000000">LEDCollection</text>
<polygon fill="#9ec6e0" stroke="#9ec6e0" points="300,-252 218,-252 218,-216 300,-216 300,-252"/>
<text text-anchor="middle" x="259" y="-231.5" font-family="Sans" font-size="10.00" fill="#000000">LEDCollection</text>
</g>
<!-- LEDCollection&#45;&gt;CompositeOutputDevice -->
<g id="edge3" class="edge"><title>LEDCollection&#45;&gt;CompositeOutputDevice</title>
<path fill="none" stroke="black" d="M223.398,-252.124C237.907,-261.192 255.916,-272.448 271.585,-282.241"/>
<polygon fill="black" stroke="black" points="270.161,-285.478 280.496,-287.81 273.871,-279.542 270.161,-285.478"/>
<path fill="none" stroke="black" d="M286.398,-252.124C300.907,-261.192 318.916,-272.448 334.585,-282.241"/>
<polygon fill="black" stroke="black" points="333.161,-285.478 343.496,-287.81 336.871,-279.542 333.161,-285.478"/>
</g>
<!-- LEDBoard -->
<g id="node5" class="node"><title>LEDBoard</title>
<polygon fill="#2980b9" stroke="#2980b9" points="140,-180 76,-180 76,-144 140,-144 140,-180"/>
<text text-anchor="middle" x="108" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">LEDBoard</text>
<polygon fill="#2980b9" stroke="#2980b9" points="160,-180 96,-180 96,-144 160,-144 160,-180"/>
<text text-anchor="middle" x="128" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">LEDBoard</text>
</g>
<!-- LEDBoard&#45;&gt;LEDCollection -->
<g id="edge4" class="edge"><title>LEDBoard&#45;&gt;LEDCollection</title>
<path fill="none" stroke="black" d="M129.753,-180.303C140.836,-189.119 154.474,-199.968 166.49,-209.526"/>
<polygon fill="black" stroke="black" points="164.493,-212.41 174.497,-215.896 168.85,-206.931 164.493,-212.41"/>
<path fill="none" stroke="black" d="M160.046,-180.124C177.492,-189.446 199.265,-201.081 217.943,-211.061"/>
<polygon fill="black" stroke="black" points="216.361,-214.184 226.831,-215.81 219.66,-208.01 216.361,-214.184"/>
</g>
<!-- LEDBarGraph -->
<g id="node6" class="node"><title>LEDBarGraph</title>
<polygon fill="#2980b9" stroke="#2980b9" points="243.5,-180 162.5,-180 162.5,-144 243.5,-144 243.5,-180"/>
<text text-anchor="middle" x="203" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">LEDBarGraph</text>
<polygon fill="#2980b9" stroke="#2980b9" points="306.5,-180 225.5,-180 225.5,-144 306.5,-144 306.5,-180"/>
<text text-anchor="middle" x="266" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">LEDBarGraph</text>
</g>
<!-- LEDBarGraph&#45;&gt;LEDCollection -->
<g id="edge5" class="edge"><title>LEDBarGraph&#45;&gt;LEDCollection</title>
<path fill="none" stroke="black" d="M201.27,-180.303C200.498,-188.017 199.571,-197.288 198.711,-205.888"/>
<polygon fill="black" stroke="black" points="195.223,-205.597 197.71,-215.896 202.188,-206.294 195.223,-205.597"/>
<path fill="none" stroke="black" d="M264.27,-180.303C263.498,-188.017 262.571,-197.288 261.711,-205.888"/>
<polygon fill="black" stroke="black" points="258.223,-205.597 260.71,-215.896 265.188,-206.294 258.223,-205.597"/>
</g>
<!-- PiLiter -->
<g id="node7" class="node"><title>PiLiter</title>
@@ -71,158 +71,168 @@
</g>
<!-- PiLiter&#45;&gt;LEDBoard -->
<g id="edge6" class="edge"><title>PiLiter&#45;&gt;LEDBoard</title>
<path fill="none" stroke="black" d="M47.0225,-108.303C57.1256,-117.035 69.536,-127.76 80.5175,-137.25"/>
<polygon fill="black" stroke="black" points="78.3532,-140.005 88.2078,-143.896 82.9302,-134.709 78.3532,-140.005"/>
<path fill="none" stroke="black" d="M51.7074,-108.124C64.6686,-117.107 80.7284,-128.237 94.765,-137.966"/>
<polygon fill="black" stroke="black" points="92.9849,-140.991 103.198,-143.81 96.9724,-135.237 92.9849,-140.991"/>
</g>
<!-- PiLiterBarGraph -->
<g id="node8" class="node"><title>PiLiterBarGraph</title>
<polygon fill="#2980b9" stroke="#2980b9" points="254,-108 162,-108 162,-72 254,-72 254,-108"/>
<text text-anchor="middle" x="208" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiLiterBarGraph</text>
<polygon fill="#2980b9" stroke="#2980b9" points="336,-108 244,-108 244,-72 336,-72 336,-108"/>
<text text-anchor="middle" x="290" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiLiterBarGraph</text>
</g>
<!-- PiLiterBarGraph&#45;&gt;LEDBarGraph -->
<g id="edge7" class="edge"><title>PiLiterBarGraph&#45;&gt;LEDBarGraph</title>
<path fill="none" stroke="black" d="M206.764,-108.303C206.213,-116.017 205.551,-125.288 204.937,-133.888"/>
<polygon fill="black" stroke="black" points="201.443,-133.672 204.222,-143.896 208.425,-134.17 201.443,-133.672"/>
<path fill="none" stroke="black" d="M284.067,-108.303C281.394,-116.102 278.174,-125.491 275.199,-134.171"/>
<polygon fill="black" stroke="black" points="271.797,-133.301 271.864,-143.896 278.418,-135.571 271.797,-133.301"/>
</g>
<!-- XmasTree -->
<g id="node9" class="node"><title>XmasTree</title>
<polygon fill="#2980b9" stroke="#2980b9" points="135.5,-108 72.5,-108 72.5,-72 135.5,-72 135.5,-108"/>
<text text-anchor="middle" x="104" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">XmasTree</text>
</g>
<!-- XmasTree&#45;&gt;LEDBoard -->
<g id="edge8" class="edge"><title>XmasTree&#45;&gt;LEDBoard</title>
<path fill="none" stroke="black" d="M109.933,-108.303C112.606,-116.102 115.826,-125.491 118.801,-134.171"/>
<polygon fill="black" stroke="black" points="115.582,-135.571 122.136,-143.896 122.203,-133.301 115.582,-135.571"/>
</g>
<!-- TrafficLights -->
<g id="node9" class="node"><title>TrafficLights</title>
<polygon fill="#2980b9" stroke="#2980b9" points="144,-108 72,-108 72,-72 144,-72 144,-108"/>
<text text-anchor="middle" x="108" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficLights</text>
<g id="node10" class="node"><title>TrafficLights</title>
<polygon fill="#2980b9" stroke="#2980b9" points="226,-108 154,-108 154,-72 226,-72 226,-108"/>
<text text-anchor="middle" x="190" y="-87.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficLights</text>
</g>
<!-- TrafficLights&#45;&gt;LEDBoard -->
<g id="edge8" class="edge"><title>TrafficLights&#45;&gt;LEDBoard</title>
<path fill="none" stroke="black" d="M108,-108.303C108,-116.017 108,-125.288 108,-133.888"/>
<polygon fill="black" stroke="black" points="104.5,-133.896 108,-143.896 111.5,-133.896 104.5,-133.896"/>
<g id="edge9" class="edge"><title>TrafficLights&#45;&gt;LEDBoard</title>
<path fill="none" stroke="black" d="M174.674,-108.303C167.241,-116.695 158.177,-126.93 150.02,-136.139"/>
<polygon fill="black" stroke="black" points="147.16,-134.089 143.15,-143.896 152.4,-138.73 147.16,-134.089"/>
</g>
<!-- PiTraffic -->
<g id="node10" class="node"><title>PiTraffic</title>
<polygon fill="#2980b9" stroke="#2980b9" points="99,-36 45,-36 45,-0 99,-0 99,-36"/>
<text text-anchor="middle" x="72" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiTraffic</text>
<g id="node11" class="node"><title>PiTraffic</title>
<polygon fill="#2980b9" stroke="#2980b9" points="181,-36 127,-36 127,-0 181,-0 181,-36"/>
<text text-anchor="middle" x="154" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiTraffic</text>
</g>
<!-- PiTraffic&#45;&gt;TrafficLights -->
<g id="edge9" class="edge"><title>PiTraffic&#45;&gt;TrafficLights</title>
<path fill="none" stroke="black" d="M80.8989,-36.3034C84.9968,-44.2716 89.9488,-53.9005 94.4927,-62.7359"/>
<polygon fill="black" stroke="black" points="91.5174,-64.6035 99.2035,-71.8957 97.7425,-61.402 91.5174,-64.6035"/>
<g id="edge10" class="edge"><title>PiTraffic&#45;&gt;TrafficLights</title>
<path fill="none" stroke="black" d="M162.899,-36.3034C166.997,-44.2716 171.949,-53.9005 176.493,-62.7359"/>
<polygon fill="black" stroke="black" points="173.517,-64.6035 181.203,-71.8957 179.742,-61.402 173.517,-64.6035"/>
</g>
<!-- PiStop -->
<g id="node11" class="node"><title>PiStop</title>
<polygon fill="#2980b9" stroke="#2980b9" points="171,-36 117,-36 117,-0 171,-0 171,-36"/>
<text text-anchor="middle" x="144" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiStop</text>
<g id="node12" class="node"><title>PiStop</title>
<polygon fill="#2980b9" stroke="#2980b9" points="253,-36 199,-36 199,-0 253,-0 253,-36"/>
<text text-anchor="middle" x="226" y="-15.5" font-family="Sans" font-size="10.00" fill="#ffffff">PiStop</text>
</g>
<!-- PiStop&#45;&gt;TrafficLights -->
<g id="edge10" class="edge"><title>PiStop&#45;&gt;TrafficLights</title>
<path fill="none" stroke="black" d="M135.101,-36.3034C131.003,-44.2716 126.051,-53.9005 121.507,-62.7359"/>
<polygon fill="black" stroke="black" points="118.258,-61.402 116.797,-71.8957 124.483,-64.6035 118.258,-61.402"/>
<g id="edge11" class="edge"><title>PiStop&#45;&gt;TrafficLights</title>
<path fill="none" stroke="black" d="M217.101,-36.3034C213.003,-44.2716 208.051,-53.9005 203.507,-62.7359"/>
<polygon fill="black" stroke="black" points="200.258,-61.402 198.797,-71.8957 206.483,-64.6035 200.258,-61.402"/>
</g>
<!-- TrafficLightsBuzzer -->
<g id="node12" class="node"><title>TrafficLightsBuzzer</title>
<polygon fill="#2980b9" stroke="#2980b9" points="360.5,-252 255.5,-252 255.5,-216 360.5,-216 360.5,-252"/>
<text text-anchor="middle" x="308" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficLightsBuzzer</text>
<g id="node13" class="node"><title>TrafficLightsBuzzer</title>
<polygon fill="#2980b9" stroke="#2980b9" points="423.5,-252 318.5,-252 318.5,-216 423.5,-216 423.5,-252"/>
<text text-anchor="middle" x="371" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficLightsBuzzer</text>
</g>
<!-- TrafficLightsBuzzer&#45;&gt;CompositeOutputDevice -->
<g id="edge11" class="edge"><title>TrafficLightsBuzzer&#45;&gt;CompositeOutputDevice</title>
<path fill="none" stroke="black" d="M308,-252.303C308,-260.017 308,-269.288 308,-277.888"/>
<polygon fill="black" stroke="black" points="304.5,-277.896 308,-287.896 311.5,-277.896 304.5,-277.896"/>
<g id="edge12" class="edge"><title>TrafficLightsBuzzer&#45;&gt;CompositeOutputDevice</title>
<path fill="none" stroke="black" d="M371,-252.303C371,-260.017 371,-269.288 371,-277.888"/>
<polygon fill="black" stroke="black" points="367.5,-277.896 371,-287.896 374.5,-277.896 367.5,-277.896"/>
</g>
<!-- FishDish -->
<g id="node13" class="node"><title>FishDish</title>
<polygon fill="#2980b9" stroke="#2980b9" points="324,-180 268,-180 268,-144 324,-144 324,-180"/>
<text text-anchor="middle" x="296" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">FishDish</text>
<g id="node14" class="node"><title>FishDish</title>
<polygon fill="#2980b9" stroke="#2980b9" points="387,-180 331,-180 331,-144 387,-144 387,-180"/>
<text text-anchor="middle" x="359" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">FishDish</text>
</g>
<!-- FishDish&#45;&gt;TrafficLightsBuzzer -->
<g id="edge12" class="edge"><title>FishDish&#45;&gt;TrafficLightsBuzzer</title>
<path fill="none" stroke="black" d="M298.966,-180.303C300.289,-188.017 301.878,-197.288 303.352,-205.888"/>
<polygon fill="black" stroke="black" points="299.928,-206.631 305.068,-215.896 306.828,-205.448 299.928,-206.631"/>
<g id="edge13" class="edge"><title>FishDish&#45;&gt;TrafficLightsBuzzer</title>
<path fill="none" stroke="black" d="M361.966,-180.303C363.289,-188.017 364.878,-197.288 366.352,-205.888"/>
<polygon fill="black" stroke="black" points="362.928,-206.631 368.068,-215.896 369.828,-205.448 362.928,-206.631"/>
</g>
<!-- TrafficHat -->
<g id="node14" class="node"><title>TrafficHat</title>
<polygon fill="#2980b9" stroke="#2980b9" points="403.5,-180 342.5,-180 342.5,-144 403.5,-144 403.5,-180"/>
<text text-anchor="middle" x="373" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficHat</text>
<g id="node15" class="node"><title>TrafficHat</title>
<polygon fill="#2980b9" stroke="#2980b9" points="466.5,-180 405.5,-180 405.5,-144 466.5,-144 466.5,-180"/>
<text text-anchor="middle" x="436" y="-159.5" font-family="Sans" font-size="10.00" fill="#ffffff">TrafficHat</text>
</g>
<!-- TrafficHat&#45;&gt;TrafficLightsBuzzer -->
<g id="edge13" class="edge"><title>TrafficHat&#45;&gt;TrafficLightsBuzzer</title>
<path fill="none" stroke="black" d="M356.933,-180.303C349.061,-188.78 339.445,-199.136 330.827,-208.417"/>
<polygon fill="black" stroke="black" points="328.122,-206.186 323.883,-215.896 333.252,-210.949 328.122,-206.186"/>
<g id="edge14" class="edge"><title>TrafficHat&#45;&gt;TrafficLightsBuzzer</title>
<path fill="none" stroke="black" d="M419.933,-180.303C412.061,-188.78 402.445,-199.136 393.827,-208.417"/>
<polygon fill="black" stroke="black" points="391.122,-206.186 386.883,-215.896 396.252,-210.949 391.122,-206.186"/>
</g>
<!-- Robot -->
<g id="node15" class="node"><title>Robot</title>
<polygon fill="#2980b9" stroke="#2980b9" points="485,-324 431,-324 431,-288 485,-288 485,-324"/>
<text text-anchor="middle" x="458" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">Robot</text>
<g id="node16" class="node"><title>Robot</title>
<polygon fill="#2980b9" stroke="#2980b9" points="548,-324 494,-324 494,-288 548,-288 548,-324"/>
<text text-anchor="middle" x="521" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">Robot</text>
</g>
<!-- Robot&#45;&gt;CompositeDevice -->
<g id="edge14" class="edge"><title>Robot&#45;&gt;CompositeDevice</title>
<path fill="none" stroke="black" d="M475.798,-324.303C484.604,-332.865 495.382,-343.344 505.001,-352.696"/>
<polygon fill="black" stroke="black" points="502.797,-355.434 512.407,-359.896 507.677,-350.415 502.797,-355.434"/>
<g id="edge15" class="edge"><title>Robot&#45;&gt;CompositeDevice</title>
<path fill="none" stroke="black" d="M538.798,-324.303C547.604,-332.865 558.382,-343.344 568.001,-352.696"/>
<polygon fill="black" stroke="black" points="565.797,-355.434 575.407,-359.896 570.677,-350.415 565.797,-355.434"/>
</g>
<!-- RyanteckRobot -->
<g id="node16" class="node"><title>RyanteckRobot</title>
<polygon fill="#2980b9" stroke="#2980b9" points="465,-252 379,-252 379,-216 465,-216 465,-252"/>
<text text-anchor="middle" x="422" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">RyanteckRobot</text>
<g id="node17" class="node"><title>RyanteckRobot</title>
<polygon fill="#2980b9" stroke="#2980b9" points="528,-252 442,-252 442,-216 528,-216 528,-252"/>
<text text-anchor="middle" x="485" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">RyanteckRobot</text>
</g>
<!-- RyanteckRobot&#45;&gt;Robot -->
<g id="edge15" class="edge"><title>RyanteckRobot&#45;&gt;Robot</title>
<path fill="none" stroke="black" d="M430.899,-252.303C434.997,-260.272 439.949,-269.9 444.493,-278.736"/>
<polygon fill="black" stroke="black" points="441.517,-280.604 449.203,-287.896 447.742,-277.402 441.517,-280.604"/>
<g id="edge16" class="edge"><title>RyanteckRobot&#45;&gt;Robot</title>
<path fill="none" stroke="black" d="M493.899,-252.303C497.997,-260.272 502.949,-269.9 507.493,-278.736"/>
<polygon fill="black" stroke="black" points="504.517,-280.604 512.203,-287.896 510.742,-277.402 504.517,-280.604"/>
</g>
<!-- CamJamKitRobot -->
<g id="node17" class="node"><title>CamJamKitRobot</title>
<polygon fill="#2980b9" stroke="#2980b9" points="579,-252 483,-252 483,-216 579,-216 579,-252"/>
<text text-anchor="middle" x="531" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">CamJamKitRobot</text>
<g id="node18" class="node"><title>CamJamKitRobot</title>
<polygon fill="#2980b9" stroke="#2980b9" points="642,-252 546,-252 546,-216 642,-216 642,-252"/>
<text text-anchor="middle" x="594" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">CamJamKitRobot</text>
</g>
<!-- CamJamKitRobot&#45;&gt;Robot -->
<g id="edge16" class="edge"><title>CamJamKitRobot&#45;&gt;Robot</title>
<path fill="none" stroke="black" d="M512.955,-252.303C503.938,-260.95 492.882,-271.551 483.057,-280.973"/>
<polygon fill="black" stroke="black" points="480.633,-278.448 475.837,-287.896 485.478,-283.501 480.633,-278.448"/>
<g id="edge17" class="edge"><title>CamJamKitRobot&#45;&gt;Robot</title>
<path fill="none" stroke="black" d="M575.955,-252.303C566.938,-260.95 555.882,-271.551 546.057,-280.973"/>
<polygon fill="black" stroke="black" points="543.633,-278.448 538.837,-287.896 548.478,-283.501 543.633,-278.448"/>
</g>
<!-- Motor -->
<g id="node18" class="node"><title>Motor</title>
<polygon fill="#2980b9" stroke="#2980b9" points="557,-324 503,-324 503,-288 557,-288 557,-324"/>
<text text-anchor="middle" x="530" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">Motor</text>
<g id="node19" class="node"><title>Motor</title>
<polygon fill="#2980b9" stroke="#2980b9" points="620,-324 566,-324 566,-288 620,-288 620,-324"/>
<text text-anchor="middle" x="593" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">Motor</text>
</g>
<!-- Motor&#45;&gt;CompositeDevice -->
<g id="edge17" class="edge"><title>Motor&#45;&gt;CompositeDevice</title>
<path fill="none" stroke="black" d="M530,-324.303C530,-332.017 530,-341.288 530,-349.888"/>
<polygon fill="black" stroke="black" points="526.5,-349.896 530,-359.896 533.5,-349.896 526.5,-349.896"/>
<g id="edge18" class="edge"><title>Motor&#45;&gt;CompositeDevice</title>
<path fill="none" stroke="black" d="M593,-324.303C593,-332.017 593,-341.288 593,-349.888"/>
<polygon fill="black" stroke="black" points="589.5,-349.896 593,-359.896 596.5,-349.896 589.5,-349.896"/>
</g>
<!-- Servo -->
<g id="node19" class="node"><title>Servo</title>
<polygon fill="#2980b9" stroke="#2980b9" points="629,-324 575,-324 575,-288 629,-288 629,-324"/>
<text text-anchor="middle" x="602" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">Servo</text>
<g id="node20" class="node"><title>Servo</title>
<polygon fill="#2980b9" stroke="#2980b9" points="692,-324 638,-324 638,-288 692,-288 692,-324"/>
<text text-anchor="middle" x="665" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">Servo</text>
</g>
<!-- Servo&#45;&gt;CompositeDevice -->
<g id="edge18" class="edge"><title>Servo&#45;&gt;CompositeDevice</title>
<path fill="none" stroke="black" d="M584.202,-324.303C575.396,-332.865 564.618,-343.344 554.999,-352.696"/>
<polygon fill="black" stroke="black" points="552.323,-350.415 547.593,-359.896 557.203,-355.434 552.323,-350.415"/>
<g id="edge19" class="edge"><title>Servo&#45;&gt;CompositeDevice</title>
<path fill="none" stroke="black" d="M647.202,-324.303C638.396,-332.865 627.618,-343.344 617.999,-352.696"/>
<polygon fill="black" stroke="black" points="615.323,-350.415 610.593,-359.896 620.203,-355.434 615.323,-350.415"/>
</g>
<!-- AngularServo -->
<g id="node20" class="node"><title>AngularServo</title>
<polygon fill="#2980b9" stroke="#2980b9" points="678.5,-252 597.5,-252 597.5,-216 678.5,-216 678.5,-252"/>
<text text-anchor="middle" x="638" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">AngularServo</text>
<g id="node21" class="node"><title>AngularServo</title>
<polygon fill="#2980b9" stroke="#2980b9" points="741.5,-252 660.5,-252 660.5,-216 741.5,-216 741.5,-252"/>
<text text-anchor="middle" x="701" y="-231.5" font-family="Sans" font-size="10.00" fill="#ffffff">AngularServo</text>
</g>
<!-- AngularServo&#45;&gt;Servo -->
<g id="edge19" class="edge"><title>AngularServo&#45;&gt;Servo</title>
<path fill="none" stroke="black" d="M629.101,-252.303C625.003,-260.272 620.051,-269.9 615.507,-278.736"/>
<polygon fill="black" stroke="black" points="612.258,-277.402 610.797,-287.896 618.483,-280.604 612.258,-277.402"/>
<g id="edge20" class="edge"><title>AngularServo&#45;&gt;Servo</title>
<path fill="none" stroke="black" d="M692.101,-252.303C688.003,-260.272 683.051,-269.9 678.507,-278.736"/>
<polygon fill="black" stroke="black" points="675.258,-277.402 673.797,-287.896 681.483,-280.604 675.258,-277.402"/>
</g>
<!-- Energenie -->
<g id="node21" class="node"><title>Energenie</title>
<polygon fill="#2980b9" stroke="#2980b9" points="663.5,-396 598.5,-396 598.5,-360 663.5,-360 663.5,-396"/>
<text text-anchor="middle" x="631" y="-375.5" font-family="Sans" font-size="10.00" fill="#ffffff">Energenie</text>
<g id="node22" class="node"><title>Energenie</title>
<polygon fill="#2980b9" stroke="#2980b9" points="726.5,-396 661.5,-396 661.5,-360 726.5,-360 726.5,-396"/>
<text text-anchor="middle" x="694" y="-375.5" font-family="Sans" font-size="10.00" fill="#ffffff">Energenie</text>
</g>
<!-- Energenie&#45;&gt;Device -->
<g id="edge20" class="edge"><title>Energenie&#45;&gt;Device</title>
<path fill="none" stroke="black" d="M618.393,-396.303C612.403,-404.526 605.124,-414.517 598.521,-423.579"/>
<polygon fill="black" stroke="black" points="595.522,-421.752 592.462,-431.896 601.179,-425.874 595.522,-421.752"/>
<g id="edge21" class="edge"><title>Energenie&#45;&gt;Device</title>
<path fill="none" stroke="black" d="M681.393,-396.303C675.403,-404.526 668.124,-414.517 661.521,-423.579"/>
<polygon fill="black" stroke="black" points="658.522,-421.752 655.462,-431.896 664.179,-425.874 658.522,-421.752"/>
</g>
<!-- ButtonBoard -->
<g id="node22" class="node"><title>ButtonBoard</title>
<polygon fill="#2980b9" stroke="#2980b9" points="724.5,-324 647.5,-324 647.5,-288 724.5,-288 724.5,-324"/>
<text text-anchor="middle" x="686" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">ButtonBoard</text>
<g id="node23" class="node"><title>ButtonBoard</title>
<polygon fill="#2980b9" stroke="#2980b9" points="787.5,-324 710.5,-324 710.5,-288 787.5,-288 787.5,-324"/>
<text text-anchor="middle" x="749" y="-303.5" font-family="Sans" font-size="10.00" fill="#ffffff">ButtonBoard</text>
</g>
<!-- ButtonBoard&#45;&gt;CompositeDevice -->
<g id="edge21" class="edge"><title>ButtonBoard&#45;&gt;CompositeDevice</title>
<path fill="none" stroke="black" d="M647.838,-324.124C626.607,-333.651 599.992,-345.593 577.431,-355.717"/>
<polygon fill="black" stroke="black" points="575.729,-352.644 568.038,-359.932 578.594,-359.031 575.729,-352.644"/>
<g id="edge22" class="edge"><title>ButtonBoard&#45;&gt;CompositeDevice</title>
<path fill="none" stroke="black" d="M710.838,-324.124C689.607,-333.651 662.992,-345.593 640.431,-355.717"/>
<polygon fill="black" stroke="black" points="638.729,-352.644 631.038,-359.932 641.594,-359.031 638.729,-352.644"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 15 KiB