Skip to content

Instantly share code, notes, and snippets.

@kenwebb
Last active August 29, 2015 13:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenwebb/10483194 to your computer and use it in GitHub Desktop.
Save kenwebb/10483194 to your computer and use it in GitHub Desktop.
SICP - A Simulator for Digital Circuits - Full Adder
/*
Automatically generated by Xholon version 0.8.1, using org.primordion.ef.petrinet.Xholon2Graphviz4PetriNets.java
Fri Apr 11 11:57:06 GMT-400 2014 1397231826029
model: SICP - A Simulator for Digital Circuits - Full Adder
www.primordion.com/Xholon
To view this file, use Graphviz dot|fdp|neato|twopi|circo|sfdp from http://www.graphviz.org/
For example, to generate an SVG file:
dot -Tsvg -O DigitalSystem_33_1397231826029.gv
Alternatively try one of these:
dot -Tsvg -O DigitalSystem_33_1397231826029.gv
dot -Tsvg -O -Grankdir=LR DigitalSystem_33_1397231826029.gv
fdp -Tsvg -O DigitalSystem_33_1397231826029.gv
neato -Tsvg -O DigitalSystem_33_1397231826029.gv
circo -Tsvg -O DigitalSystem_33_1397231826029.gv
Or use one of: -Tgif -Tjpg -Tpdf -Tpng -Txdot -Txlib
See also: http://hughesbennett.net/Graphviz
See also: http://graphviz-dev.appspot.com/
See also: http://www.webgraphviz.com/
See also: http://rise4fun.com/agl/
*/
digraph 33 { label="DigitalSystem" rankdir=LR
node [style=filled,fillcolor="#f0f8ff"]
34 [label="k\n1"]
[fillcolor="#ffff00"]
[shape=ellipse]
35 [label="a\n1"]
[fillcolor="#ffff00"]
[shape=ellipse]
36 [label="b\n1"]
[fillcolor="#ffff00"]
[shape=ellipse]
37 [label="s"]
[fillcolor="#ffff00"]
[shape=ellipse]
38 [label="c"]
[fillcolor="#ffff00"]
[shape=ellipse]
subgraph cluster39 { label="FullAdder"
40 [label="q"]
[fillcolor="#ffff00"]
[shape=ellipse]
41 [label="kq"]
[fillcolor="#ffff00"]
[shape=ellipse]
42 [label="ab"]
[fillcolor="#ffff00"]
[shape=ellipse]
subgraph cluster43 { label="HalfAdder"
44 [label="d"]
[fillcolor="#ffff00"]
[shape=ellipse]
45 [label="e"]
[fillcolor="#ffff00"]
[shape=ellipse]
46 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
46 -> 44;
52 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
58 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
44 -> 58;
45 -> 58;
64 [label="Inverter"]
[fillcolor="#00ffff"]
[shape=box]
64 -> 45;
}
subgraph cluster69 { label="HalfAdder"
70 [label="d"]
[fillcolor="#ffff00"]
[shape=ellipse]
71 [label="e"]
[fillcolor="#ffff00"]
[shape=ellipse]
72 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
72 -> 70;
78 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
84 [label="AndGate"]
[fillcolor="#00ffff"]
[shape=box]
70 -> 84;
71 -> 84;
90 [label="Inverter"]
[fillcolor="#00ffff"]
[shape=box]
90 -> 71;
}
95 [label="OrGate"]
[fillcolor="#00ffff"]
[shape=box]
41 -> 95;
42 -> 95;
52 -> 42; 58 -> 40; 42 -> 64; 40 -> 72; 40 -> 78; 78 -> 41; 41 -> 90;
}
35 -> 46; 36 -> 46; 35 -> 52; 36 -> 52; 34 -> 72; 34 -> 78; 84 -> 37; 95 -> 38;
}
<?xml version="1.0" encoding="UTF-8"?>
<!--Xholon Workbook http://www.primordion.com/Xholon/gwt/ MIT License, Copyright (C) Ken Webb, Fri Apr 11 2014 12:44:05 GMT-0400 (EDT)-->
<XholonWorkbook>
<Notes><![CDATA[
Xholon
------
Title: SICP - A Simulator for Digital Circuits - Full Adder
Description:
Url: http://www.primordion.com/Xholon/gwt/
InternalName: 10483194
Keywords:
My Notes
--------
This Xholon Workbook extends the earlier workbook:
https://gist.github.com/kenwebb/10419442
The SVG image on this page was generated using Xholon2Graphviz4PetriNets,
and the dot program on my Linux desktop.
I'm saving the Graphviz dot (.gv) file as a separate file in the gist.
In addition to the references included in gist 10419442,
I've also taken ideas from Figure 109 in the book New Mathematics by L. C. Pascoe.
The Full Adder Truth Table is from p. 157 of Pascoe.
]]></Notes>
<_-.XholonClass>
<DigitalSystem/>
<Wire superClass="PlacePN"/>
<PrimitiveFunctionBox superClass="TransitionPN">
<Inverter/>
<AndGate/>
<OrGate/>
</PrimitiveFunctionBox>
<!-- containers -->
<Circuit>
<HalfAdder/>
<FullAdder/>
</Circuit>
</_-.XholonClass>
<xholonClassDetails>
</xholonClassDetails>
<DigitalSystem>
<!-- these wires are external to the Full Adder -->
<Wire roleName="k" token="1"/>
<Wire roleName="a" token="1"/>
<Wire roleName="b" token="1"/>
<Wire roleName="s"/>
<Wire roleName="c"/>
<!-- Truth Table expected after several time steps when the circuit stabilizes
inputs outputs
a b k Total c s Tested
0 0 0 0 0 0 OK
0 0 1 1 0 1 OK
0 1 0 1 0 1 OK
1 0 0 1 0 1 OK
0 1 1 10 1 0 OK
1 0 1 10 1 0 OK
1 1 0 10 1 0 OK
1 1 1 11 1 1 OK
-->
<FullAdder>
<!-- these wires are internal to the Full Adder -->
<Wire roleName="q"/>
<Wire roleName="kq"/>
<Wire roleName="ab"/>
<HalfAdder>
<!-- these wires are internal to this Half Adder -->
<Wire roleName="d"/>
<Wire roleName="e"/>
<OrGate kineticsType="KINETICS_LOGIC_OR">
<InputArcs>
<InputArc weight="1" connector="ancestor::DigitalSystem/Wire[@roleName='a']"/>
<InputArc weight="1" connector="ancestor::DigitalSystem/Wire[@roleName='b']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='d']"/>
</OutputArcs>
</OrGate>
<AndGate kineticsType="KINETICS_LOGIC_AND">
<InputArcs>
<InputArc weight="1" connector="ancestor::DigitalSystem/Wire[@roleName='a']"/>
<InputArc weight="1" connector="ancestor::DigitalSystem/Wire[@roleName='b']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='ab']"/>
</OutputArcs>
</AndGate>
<AndGate kineticsType="KINETICS_LOGIC_AND">
<InputArcs>
<InputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='d']"/>
<InputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='e']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='q']"/>
</OutputArcs>
</AndGate>
<Inverter kineticsType="KINETICS_LOGIC_NOT">
<InputArcs>
<InputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='ab']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='e']"/>
</OutputArcs>
</Inverter>
</HalfAdder>
<HalfAdder>
<!-- these wires are internal to this Half Adder -->
<Wire roleName="d"/>
<Wire roleName="e"/>
<OrGate kineticsType="KINETICS_LOGIC_OR">
<InputArcs>
<InputArc weight="1" connector="ancestor::DigitalSystem/Wire[@roleName='k']"/>
<InputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='q']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='d']"/>
</OutputArcs>
</OrGate>
<AndGate kineticsType="KINETICS_LOGIC_AND">
<InputArcs>
<InputArc weight="1" connector="ancestor::DigitalSystem/Wire[@roleName='k']"/>
<InputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='q']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='kq']"/>
</OutputArcs>
</AndGate>
<AndGate kineticsType="KINETICS_LOGIC_AND">
<InputArcs>
<InputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='d']"/>
<InputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='e']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::DigitalSystem/Wire[@roleName='s']"/>
</OutputArcs>
</AndGate>
<Inverter kineticsType="KINETICS_LOGIC_NOT">
<InputArcs>
<InputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='kq']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::HalfAdder/Wire[@roleName='e']"/>
</OutputArcs>
</Inverter>
</HalfAdder>
<OrGate kineticsType="KINETICS_LOGIC_OR">
<InputArcs>
<InputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='kq']"/>
<InputArc weight="1" connector="ancestor::FullAdder/Wire[@roleName='ab']"/>
</InputArcs>
<OutputArcs>
<OutputArc weight="1" connector="ancestor::DigitalSystem/Wire[@roleName='c']"/>
</OutputArcs>
</OrGate>
</FullAdder>
<PetriNet roleName="sicpDigitalCircuit02">
<QueueTransitions connector="ancestor::DigitalSystem"/>
<AnalysisPetriNet/>
<AnalysisCRN/>
<AnalysisCat/>
</PetriNet>
</DigitalSystem>
<Blockbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
// TODO ?
]]></Blockbehavior>
<SvgClient><Attribute_String roleName="svgUri"><![CDATA[data:image/svg+xml,
<!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.26.3 (20100126.1600)
-->
<!-- Title: 33 Pages: 1 -->
<svg width="878pt" height="422pt"
viewBox="0.00 0.00 878.00 422.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(0.75 0.75) rotate(0) translate(4 418)">
<title>33</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-418 875,-418 875,5 -4,5"/>
<text text-anchor="middle" x="435" y="-9.4" font-family="Times Roman,serif" font-size="14.00">DigitalSystem</text>
<g id="graph2" class="cluster"><title>cluster39</title>
<polygon fill="none" stroke="black" points="74,-70 74,-344 796,-344 796,-70 74,-70"/>
<text text-anchor="middle" x="435" y="-327.4" font-family="Times Roman,serif" font-size="14.00">FullAdder</text>
</g>
<g id="graph3" class="cluster"><title>cluster43</title>
<polygon fill="none" stroke="black" points="82,-122 82,-308 380,-308 380,-122 82,-122"/>
<text text-anchor="middle" x="231" y="-291.4" font-family="Times Roman,serif" font-size="14.00">HalfAdder</text>
</g>
<g id="graph4" class="cluster"><title>cluster69</title>
<polygon fill="none" stroke="black" points="490,-124 490,-310 788,-310 788,-124 490,-124"/>
<text text-anchor="middle" x="639" y="-293.4" font-family="Times Roman,serif" font-size="14.00">HalfAdder</text>
</g>
<!-- 34 -->
<g id="node1" class="node"><title>34</title>
<ellipse fill="#ffff00" stroke="black" cx="435" cy="-383" rx="27" ry="31.1127"/>
<text text-anchor="middle" x="435" y="-388.4" font-family="Times Roman,serif" font-size="14.00">k</text>
<text text-anchor="middle" x="435" y="-370.4" font-family="Times Roman,serif" font-size="14.00">1</text>
</g>
<!-- 72 -->
<g id="node24" class="node"><title>72</title>
<polygon fill="#00ffff" stroke="black" points="571,-276 503,-276 503,-240 571,-240 571,-276"/>
<text text-anchor="middle" x="537" y="-254.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 34&#45;&gt;72 -->
<g id="edge47" class="edge"><title>34&#45;&gt;72</title>
<path fill="none" stroke="black" d="M453.471,-360.363C471.06,-338.809 497.508,-306.397 515.915,-283.84"/>
<polygon fill="black" stroke="black" points="518.691,-285.974 522.301,-276.013 513.267,-281.548 518.691,-285.974"/>
</g>
<!-- 78 -->
<g id="node26" class="node"><title>78</title>
<polygon fill="#00ffff" stroke="black" points="575,-222 499,-222 499,-186 575,-186 575,-222"/>
<text text-anchor="middle" x="537" y="-200.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 34&#45;&gt;78 -->
<g id="edge49" class="edge"><title>34&#45;&gt;78</title>
<path fill="none" stroke="black" d="M454.206,-360.946C457.135,-356.834 459.881,-352.431 462,-348 485.063,-299.762 457.978,-273.819 490,-231 490.465,-230.378 490.949,-229.769 491.45,-229.171"/>
<polygon fill="black" stroke="black" points="494.043,-231.531 498.79,-222.059 489.172,-226.504 494.043,-231.531"/>
</g>
<!-- 35 -->
<g id="node2" class="node"><title>35</title>
<ellipse fill="#ffff00" stroke="black" cx="27" cy="-162" rx="27" ry="31.1127"/>
<text text-anchor="middle" x="27" y="-167.4" font-family="Times Roman,serif" font-size="14.00">a</text>
<text text-anchor="middle" x="27" y="-149.4" font-family="Times Roman,serif" font-size="14.00">1</text>
</g>
<!-- 46 -->
<g id="node13" class="node"><title>46</title>
<polygon fill="#00ffff" stroke="black" points="163,-274 95,-274 95,-238 163,-238 163,-274"/>
<text text-anchor="middle" x="129" y="-252.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 35&#45;&gt;46 -->
<g id="edge39" class="edge"><title>35&#45;&gt;46</title>
<path fill="none" stroke="black" d="M41.3246,-188.591C49.5367,-201.986 60.8284,-217.731 74,-229 77.6473,-232.12 81.7177,-234.98 85.9487,-237.573"/>
<polygon fill="black" stroke="black" points="84.3404,-240.684 94.7748,-242.521 87.7634,-234.578 84.3404,-240.684"/>
</g>
<!-- 52 -->
<g id="node15" class="node"><title>52</title>
<polygon fill="#00ffff" stroke="black" points="167,-166 91,-166 91,-130 167,-130 167,-166"/>
<text text-anchor="middle" x="129" y="-144.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 35&#45;&gt;52 -->
<g id="edge43" class="edge"><title>35&#45;&gt;52</title>
<path fill="none" stroke="black" d="M54.0663,-158.285C62.128,-157.179 71.2216,-155.93 80.2227,-154.695"/>
<polygon fill="black" stroke="black" points="80.8548,-158.141 90.2859,-153.314 79.9028,-151.206 80.8548,-158.141"/>
</g>
<!-- 36 -->
<g id="node3" class="node"><title>36</title>
<ellipse fill="#ffff00" stroke="black" cx="27" cy="-249" rx="27" ry="31.1127"/>
<text text-anchor="middle" x="27" y="-254.4" font-family="Times Roman,serif" font-size="14.00">b</text>
<text text-anchor="middle" x="27" y="-236.4" font-family="Times Roman,serif" font-size="14.00">1</text>
</g>
<!-- 36&#45;&gt;46 -->
<g id="edge41" class="edge"><title>36&#45;&gt;46</title>
<path fill="none" stroke="black" d="M54.0663,-250.857C63.4504,-251.502 74.2327,-252.241 84.6397,-252.956"/>
<polygon fill="black" stroke="black" points="84.6398,-256.464 94.856,-253.657 85.1191,-249.48 84.6398,-256.464"/>
</g>
<!-- 36&#45;&gt;52 -->
<g id="edge45" class="edge"><title>36&#45;&gt;52</title>
<path fill="none" stroke="black" d="M41.651,-222.719C52.1802,-204.501 65.8958,-182.262 74,-175 76.4162,-172.835 79.0373,-170.802 81.7803,-168.902"/>
<polygon fill="black" stroke="black" points="83.6583,-171.856 90.2916,-163.594 79.9543,-165.916 83.6583,-171.856"/>
</g>
<!-- 37 -->
<g id="node4" class="node"><title>37</title>
<ellipse fill="#ffff00" stroke="black" cx="843" cy="-203" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="843" y="-199.4" font-family="Times Roman,serif" font-size="14.00">s</text>
</g>
<!-- 38 -->
<g id="node5" class="node"><title>38</title>
<ellipse fill="#ffff00" stroke="black" cx="639" cy="-44" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="639" y="-40.4" font-family="Times Roman,serif" font-size="14.00">c</text>
</g>
<!-- 40 -->
<g id="node7" class="node"><title>40</title>
<ellipse fill="#ffff00" stroke="black" cx="435" cy="-230" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="435" y="-226.4" font-family="Times Roman,serif" font-size="14.00">q</text>
</g>
<!-- 40&#45;&gt;72 -->
<g id="edge31" class="edge"><title>40&#45;&gt;72</title>
<path fill="none" stroke="black" d="M460.213,-236.921C470.16,-239.652 481.883,-242.87 493.134,-245.958"/>
<polygon fill="black" stroke="black" points="492.273,-249.351 502.843,-248.623 494.126,-242.601 492.273,-249.351"/>
</g>
<!-- 40&#45;&gt;78 -->
<g id="edge33" class="edge"><title>40&#45;&gt;78</title>
<path fill="none" stroke="black" d="M460.476,-223.506C468.972,-221.34 478.741,-218.85 488.396,-216.389"/>
<polygon fill="black" stroke="black" points="489.532,-219.712 498.358,-213.85 487.803,-212.929 489.532,-219.712"/>
</g>
<!-- 41 -->
<g id="node8" class="node"><title>41</title>
<ellipse fill="#ffff00" stroke="black" cx="435" cy="-150" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="435" y="-146.4" font-family="Times Roman,serif" font-size="14.00">kq</text>
</g>
<!-- 90 -->
<g id="node30" class="node"><title>90</title>
<polygon fill="#00ffff" stroke="black" points="573,-168 501,-168 501,-132 573,-132 573,-168"/>
<text text-anchor="middle" x="537" y="-146.4" font-family="Times Roman,serif" font-size="14.00">Inverter</text>
</g>
<!-- 41&#45;&gt;90 -->
<g id="edge37" class="edge"><title>41&#45;&gt;90</title>
<path fill="none" stroke="black" d="M462.066,-150C470.648,-150 480.399,-150 489.963,-150"/>
<polygon fill="black" stroke="black" points="490.204,-153.5 500.204,-150 490.204,-146.5 490.204,-153.5"/>
</g>
<!-- 95 -->
<g id="node32" class="node"><title>95</title>
<polygon fill="#00ffff" stroke="black" points="571,-114 503,-114 503,-78 571,-78 571,-114"/>
<text text-anchor="middle" x="537" y="-92.4" font-family="Times Roman,serif" font-size="14.00">OrGate</text>
</g>
<!-- 41&#45;&gt;95 -->
<g id="edge21" class="edge"><title>41&#45;&gt;95</title>
<path fill="none" stroke="black" d="M455.822,-138.469C466.078,-132.834 478.65,-125.992 490,-120 491.162,-119.386 492.342,-118.766 493.533,-118.142"/>
<polygon fill="black" stroke="black" points="495.543,-121.042 502.802,-113.325 492.315,-114.831 495.543,-121.042"/>
</g>
<!-- 42 -->
<g id="node9" class="node"><title>42</title>
<ellipse fill="#ffff00" stroke="black" cx="231" cy="-96" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="231" y="-92.4" font-family="Times Roman,serif" font-size="14.00">ab</text>
</g>
<!-- 64 -->
<g id="node19" class="node"><title>64</title>
<polygon fill="#00ffff" stroke="black" points="165,-220 93,-220 93,-184 165,-184 165,-220"/>
<text text-anchor="middle" x="129" y="-198.4" font-family="Times Roman,serif" font-size="14.00">Inverter</text>
</g>
<!-- 42&#45;&gt;64 -->
<g id="edge29" class="edge"><title>42&#45;&gt;64</title>
<path fill="none" stroke="black" d="M212.833,-109.432C209.724,-112.105 206.647,-115.013 204,-118 184.126,-140.423 188.735,-153.37 168,-175 167.352,-175.676 166.684,-176.346 166,-177.008"/>
<polygon fill="black" stroke="black" points="163.449,-174.586 158.181,-183.778 168.032,-179.878 163.449,-174.586"/>
</g>
<!-- 42&#45;&gt;95 -->
<g id="edge23" class="edge"><title>42&#45;&gt;95</title>
<path fill="none" stroke="black" d="M258.155,-96C310.945,-96 427.865,-96 492.274,-96"/>
<polygon fill="black" stroke="black" points="492.523,-99.5001 502.523,-96 492.523,-92.5001 492.523,-99.5001"/>
</g>
<!-- 44 -->
<g id="node11" class="node"><title>44</title>
<ellipse fill="#ffff00" stroke="black" cx="231" cy="-256" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="231" y="-252.4" font-family="Times Roman,serif" font-size="14.00">d</text>
</g>
<!-- 58 -->
<g id="node16" class="node"><title>58</title>
<polygon fill="#00ffff" stroke="black" points="371,-248 295,-248 295,-212 371,-212 371,-248"/>
<text text-anchor="middle" x="333" y="-226.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 44&#45;&gt;58 -->
<g id="edge6" class="edge"><title>44&#45;&gt;58</title>
<path fill="none" stroke="black" d="M256.476,-249.506C264.972,-247.34 274.741,-244.85 284.396,-242.389"/>
<polygon fill="black" stroke="black" points="285.532,-245.712 294.358,-239.85 283.803,-238.929 285.532,-245.712"/>
</g>
<!-- 45 -->
<g id="node12" class="node"><title>45</title>
<ellipse fill="#ffff00" stroke="black" cx="231" cy="-202" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="231" y="-198.4" font-family="Times Roman,serif" font-size="14.00">e</text>
</g>
<!-- 45&#45;&gt;58 -->
<g id="edge8" class="edge"><title>45&#45;&gt;58</title>
<path fill="none" stroke="black" d="M256.213,-208.921C264.797,-211.278 274.703,-213.997 284.487,-216.683"/>
<polygon fill="black" stroke="black" points="283.607,-220.071 294.177,-219.343 285.46,-213.32 283.607,-220.071"/>
</g>
<!-- 46&#45;&gt;44 -->
<g id="edge4" class="edge"><title>46&#45;&gt;44</title>
<path fill="none" stroke="black" d="M163.248,-256C173.042,-256 183.763,-256 193.728,-256"/>
<polygon fill="black" stroke="black" points="193.769,-259.5 203.768,-256 193.768,-252.5 193.769,-259.5"/>
</g>
<!-- 52&#45;&gt;42 -->
<g id="edge25" class="edge"><title>52&#45;&gt;42</title>
<path fill="none" stroke="black" d="M164.388,-129.959C176.076,-124 188.974,-117.425 200.283,-111.66"/>
<polygon fill="black" stroke="black" points="202.028,-114.699 209.347,-107.039 198.848,-108.463 202.028,-114.699"/>
</g>
<!-- 58&#45;&gt;40 -->
<g id="edge27" class="edge"><title>58&#45;&gt;40</title>
<path fill="none" stroke="black" d="M371.562,-230C380.145,-230 389.228,-230 397.757,-230"/>
<polygon fill="black" stroke="black" points="397.815,-233.5 407.815,-230 397.814,-226.5 397.815,-233.5"/>
</g>
<!-- 64&#45;&gt;45 -->
<g id="edge10" class="edge"><title>64&#45;&gt;45</title>
<path fill="none" stroke="black" d="M165.536,-202C174.757,-202 184.664,-202 193.912,-202"/>
<polygon fill="black" stroke="black" points="193.999,-205.5 203.999,-202 193.999,-198.5 193.999,-205.5"/>
</g>
<!-- 70 -->
<g id="node22" class="node"><title>70</title>
<ellipse fill="#ffff00" stroke="black" cx="639" cy="-244" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="639" y="-240.4" font-family="Times Roman,serif" font-size="14.00">d</text>
</g>
<!-- 84 -->
<g id="node27" class="node"><title>84</title>
<polygon fill="#00ffff" stroke="black" points="779,-221 703,-221 703,-185 779,-185 779,-221"/>
<text text-anchor="middle" x="741" y="-199.4" font-family="Times Roman,serif" font-size="14.00">AndGate</text>
</g>
<!-- 70&#45;&gt;84 -->
<g id="edge15" class="edge"><title>70&#45;&gt;84</title>
<path fill="none" stroke="black" d="M662.145,-234.696C671.329,-231.005 682.25,-226.615 692.993,-222.297"/>
<polygon fill="black" stroke="black" points="694.367,-225.517 702.34,-218.54 691.757,-219.022 694.367,-225.517"/>
</g>
<!-- 71 -->
<g id="node23" class="node"><title>71</title>
<ellipse fill="#ffff00" stroke="black" cx="639" cy="-163" rx="27" ry="18.3848"/>
<text text-anchor="middle" x="639" y="-159.4" font-family="Times Roman,serif" font-size="14.00">e</text>
</g>
<!-- 71&#45;&gt;84 -->
<g id="edge17" class="edge"><title>71&#45;&gt;84</title>
<path fill="none" stroke="black" d="M662.401,-172.177C671.407,-175.709 682.057,-179.885 692.561,-184.004"/>
<polygon fill="black" stroke="black" points="691.528,-187.359 702.115,-187.751 694.083,-180.842 691.528,-187.359"/>
</g>
<!-- 72&#45;&gt;70 -->
<g id="edge13" class="edge"><title>72&#45;&gt;70</title>
<path fill="none" stroke="black" d="M571.248,-253.299C581.214,-251.931 592.139,-250.432 602.251,-249.044"/>
<polygon fill="black" stroke="black" points="602.99,-252.475 612.421,-247.648 602.038,-245.54 602.99,-252.475"/>
</g>
<!-- 78&#45;&gt;41 -->
<g id="edge35" class="edge"><title>78&#45;&gt;41</title>
<path fill="none" stroke="black" d="M502.956,-185.977C490.891,-179.589 477.398,-172.446 465.634,-166.218"/>
<polygon fill="black" stroke="black" points="467.107,-163.038 456.632,-161.452 463.832,-169.224 467.107,-163.038"/>
</g>
<!-- 84&#45;&gt;37 -->
<g id="edge51" class="edge"><title>84&#45;&gt;37</title>
<path fill="none" stroke="black" d="M779.562,-203C788.145,-203 797.228,-203 805.757,-203"/>
<polygon fill="black" stroke="black" points="805.815,-206.5 815.815,-203 805.814,-199.5 805.815,-206.5"/>
</g>
<!-- 90&#45;&gt;71 -->
<g id="edge19" class="edge"><title>90&#45;&gt;71</title>
<path fill="none" stroke="black" d="M573.536,-154.657C582.84,-155.842 592.843,-157.117 602.161,-158.305"/>
<polygon fill="black" stroke="black" points="601.955,-161.807 612.317,-159.599 602.84,-154.863 601.955,-161.807"/>
</g>
<!-- 95&#45;&gt;38 -->
<g id="edge53" class="edge"><title>95&#45;&gt;38</title>
<path fill="none" stroke="black" d="M571.248,-78.5401C583.304,-72.3938 596.766,-65.5313 608.493,-59.5528"/>
<polygon fill="black" stroke="black" points="610.146,-62.6383 617.466,-54.9782 606.967,-56.402 610.146,-62.6383"/>
</g>
</g>
</svg>
]]></Attribute_String><Attribute_String roleName="setup">${MODELNAME_DEFAULT},${SVGURI_DEFAULT}</Attribute_String></SvgClient>
</XholonWorkbook>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment