Renaming /doc to /docs for use with GitHub Pages
[jpf-core.git] / docs / graphics / choicegen-example.svg
diff --git a/docs/graphics/choicegen-example.svg b/docs/graphics/choicegen-example.svg
new file mode 100644 (file)
index 0000000..675ec8d
--- /dev/null
@@ -0,0 +1,3 @@
+<?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">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="36 72 663 436" width="663pt" height="436pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.1 <dc:date>2006-05-03 17:51:17 +0000</dc:date></metadata><defs><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="StickArrow_Marker" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M 8 0 L 0 0 M 0 -3 L 8 0 L 0 3" fill="none" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="StickArrow_Marker_2" viewBox="-9 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M -8 0 L 0 0 M 0 3 L -8 0 L 0 -3" fill="none" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Lucida Grande" font-size="12" panose-1="2 11 6 0 4 5 2 2 2 4" units-per-em="1000" underline-position="-97.65625" underline-thickness="48.828125" slope="0" x-height="530.27344" cap-height="722.65625" ascent="966.7969" descent="-210.9375" font-weight="500"><font-face-src><font-face-name name="LucidaGrande"/></font-face-src></font-face><font-face font-family="Courier" font-size="12" units-per-em="1000" underline-position="-178.22266" underline-thickness="57.617188" slope="0" x-height="462.40234" cap-height="594.72656" ascent="753.90625" descent="-246.09375" font-weight="500"><font-face-src><font-face-name name="Courier"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="13" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="blue"><g><path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Lucida Grande" font-size="14" panose-1="2 11 6 0 4 5 2 2 2 4" units-per-em="1000" underline-position="-97.65625" underline-thickness="48.828125" slope="0" x-height="530.27344" cap-height="722.65625" ascent="966.7969" descent="-210.9375" font-weight="500"><font-face-src><font-face-name name="LucidaGrande"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="532.22656" cap-height="719.72656" ascent="770.01953" descent="-229.98047" font-weight="bold"><font-face-src><font-face-name name="Helvetica-Bold"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="532.22656" cap-height="719.72656" ascent="770.01953" descent="-229.98047" font-weight="bold"><font-face-src><font-face-name name="Helvetica-Bold"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>Canvas 1</title><rect fill="white" width="768.0188" height="588.0188"/><g><title>Layer 1</title><line x1="401.4" y1="354" x2="449.6" y2="354" marker-end="url(#StickArrow_Marker)" marker-start="url(#StickArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="425.5" y1="331" x2="425.5" y2="364" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="440.5" y1="338" x2="440.5" y2="364" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="410.5" y1="338" x2="410.5" y2="364" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(412 316)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".38085938" y="12" textLength="7.330078">T</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="7.5" y="12" textLength="9.919922"> ±</tspan><tspan font-family="Lucida Grande" font-size="12" font-weight="500" x="17.419922" y="12" textLength="12.199219"> Δ</tspan></text><circle cx="425.5" cy="354" r="3.0000048" fill="white"/><circle cx="425.5" cy="354" r="3.0000048" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><circle cx="440.5" cy="354" r="3.0000048" fill="white"/><circle cx="440.5" cy="354" r="3.0000048" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><circle cx="410.5" cy="354" r="3.0000048" fill="white"/><circle cx="410.5" cy="354" r="3.0000048" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(250.5215 365.55046)" fill="blue"><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="0" y="11" textLength="21.603516">.. </tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="0" y="25" textLength="295.24805">double v = Verify.getDouble(&quot;velocity&quot;); </tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="0" y="39" textLength="14.402344">..</tspan></text><text transform="translate(220.01942 434.54995)" fill="blue"><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="0" y="11" textLength="230.4375">velocity.class = DoubleThreshold</tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="0" y="25" textLength="187.23047">velocity.threshold = 13250</tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="0" y="39" textLength="144.02344">velocity.delta = 500</tspan></text><text transform="translate(132.175 372.129)" fill="black"><tspan font-family="Helvetica" font-size="13" font-weight="500" x=".020996094" y="13" textLength="93.95801">application code</tspan><tspan font-family="Helvetica" font-size="13" font-weight="500" x="14.13501" y="29" textLength="65.72998">(test driver)</tspan></text><text transform="translate(50 436)" fill="black"><tspan font-family="Helvetica" font-size="13" font-weight="500" x="32.280518" y="13" textLength="27.459961">confi</tspan><tspan font-family="Helvetica" font-size="13" font-weight="500" x="59.74048" y="13" textLength="50.59082">guration </tspan><tspan font-family="Helvetica" font-size="13" font-weight="500" x=".49780273" y="29" textLength="123.55713">(e.g. mode property fi</tspan><tspan font-family="Helvetica" font-size="13" font-weight="500" x="124.05493" y="29" textLength="14.447266">le)</tspan></text><path d="M 474.5 396 C 475.1666 401.49945 481.8328 409.25033 476.5 412.5 C 471.1672 415.74967 475.91332 414.91673 442.5 415.5 C 409.08668 416.08327 308.41342 414.83345 276 416 C 243.58658 417.16655 250.58307 418.91703 248 422.5 C 246.49657 424.5854 249.56637 427.63104 253.21663 430.79843" marker-end="url(#FilledArrow_Marker)" stroke="blue" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="2,2"/><text transform="translate(476.5 345.5)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".32714844" y="12" textLength="29.683594">C = { </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="29.799805" y="12" textLength="7.330078">T</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="36.473633" y="12" textLength="3.9960938">-</tspan><tspan font-family="Lucida Grande" font-size="12" font-weight="500" x="40.469727" y="12" textLength="68.203125">Δ, T, T+ Δ }</tspan></text><text transform="translate(77.73514 82.637407)" fill="blue"><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="0" y="11" textLength="136.822266">Verify.getBoolean()</tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="0" y="39" textLength="129.62109">Verify.getInt(0,4)</tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="0" y="67" textLength="180.0293">Verify.getDouble(1.0,1.5)</tspan></text><text transform="translate(267.733 84)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="12" textLength="82.376953">C = { true, false</tspan><tspan font-family="Lucida Grande" font-size="12" font-weight="500" x="82.376953" y="12" textLength="7.6992188"> }</tspan></text><text transform="translate(267.233 111)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="12" textLength="89.72461">C = { 0, 1, 2, 3, 4</tspan><tspan font-family="Lucida Grande" font-size="12" font-weight="500" x="89.72461" y="12" textLength="7.6992188"> }</tspan></text><text transform="translate(373.733 83.6349)" fill="black"><tspan font-family="Lucida Grande" font-size="14" font-weight="500" x="0" y="14" textLength="10.698242">✓</tspan></text><text transform="translate(374.733 108.635)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="bold" x="0" y="14" textLength="8.551758">?</tspan></text><text transform="translate(404.733 111)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="11" textLength="279.48633">potentially large sets with lots of uninteresting values</tspan></text><text transform="translate(374.733 135.635)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="bold" x="0" y="14" textLength="17.103516">??</tspan></text><text transform="translate(404.733 138)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="11" textLength="22.68164">no fi</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="22.68164" y="11" textLength="166.08398">nite value set without heuristics</tspan></text><text transform="translate(267.233 138)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="13" textLength="29.683594">C = { </tspan><tspan font-family="Helvetica" font-size="13" font-weight="500" x="29.683594" y="13" textLength="9.267578">∞</tspan><tspan font-family="Lucida Grande" font-size="12" font-weight="500" x="38.951172" y="13" textLength="7.6992188"> }</tspan></text><text transform="translate(200.175 327.129)" fill="black"><tspan font-family="Helvetica" font-size="13" font-weight="500" x=".0021972656" y="13" textLength="173.99561">e.g. &quot;DoubleThresholdChoice&quot;</tspan></text><path d="M 327 180.284 L 327 211.409 L 320 211.409 L 334 221.784 L 348 211.409 L 341 211.409 L 341 180.284 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(202 247.12)" fill="black"><tspan font-family="Helvetica" font-size="14" font-weight="bold" x="63.86914" y="14" textLength="125.26172">Choice Generators</tspan><tspan font-family="Helvetica" font-size="14" font-weight="bold" x="122.41211" y="31" textLength="8.1757812">+</tspan><tspan font-family="Helvetica" font-size="14" font-weight="bold" x=".09326172" y="48" textLength="35.765625">Confi</tspan><tspan font-family="Helvetica" font-size="14" font-weight="bold" x="35.858887" y="48" textLength="217.04785">gurable Heuristic Choice Models</tspan></text><text transform="translate(411 238)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="11" textLength="169.42383">JPF internal object to store and </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="25" textLength="144.08203">enumerate a set of choices</tspan></text><text transform="translate(468 283)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="11" textLength="25.347656">confi</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="25.347656" y="11" textLength="96.720703">gurable classes to</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="25" textLength="182.09766">create ChoiceGenerator instances</tspan></text><rect x="107" y="225.12" width="140" height="43" fill="white"/><rect x="107" y="225.12" width="140" height="43" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(112 225.12)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="11" textLength="98.033203">hasMoreChoices()</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="25" textLength="53.361328">advance()</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="40" textLength="90.035156">getNextChoice() </tspan><tspan font-family="Lucida Grande" font-size="12" font-weight="500" x="90.035156" y="40" textLength="12">→</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="102.035156" y="40" textLength="9.3339844"> x</tspan></text><rect x="107" y="211.12" width="140" height="14" fill="white"/><rect x="107" y="211.12" width="140" height="14" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(112 211.12)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="11" textLength="73.382812">choiceSet: {x}</tspan></text><rect x="107" y="197.12" width="140" height="14" fill="white"/><rect x="107" y="197.12" width="140" height="14" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(112 197.12)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="bold" x="12.9833984" y="11" textLength="104.033203">xChoiceGenerator</tspan></text></g></g></svg>