<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1130px" preserveAspectRatio="none" style="width:464px;height:1130px;" version="1.1" viewBox="0 0 464 1130" width="464px" zoomAndPan="magnify"><defs><filter height="300%" id="fnbnu0y7yo4w" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><ellipse cx="207" cy="20" fill="#000000" filter="url(#fnbnu0y7yo4w)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#fnbnu0y7yo4w)" height="138.1406" style="stroke: #000000; stroke-width: 2.0;" width="216" x="99" y="40.8018"/><path d="M188,41.8018 L188,50.0986 L178,60.0986 L99,60.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="102" y="54.7969">Initialization</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="89.8438" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="109" y="77.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="171" x="119" y="98.2373">enforce pretest conditions:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="119" y="112.2061">-read test input data:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="136" y="121.0049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="154" x="141" y="126.1748">requires BT device name</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="119" y="140.1436">-pretest machine state:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="136" y="148.9424"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="141" y="154.1123">bluetooth turned on</text><rect fill="#FFFFFF" filter="url(#fnbnu0y7yo4w)" height="930.0469" style="stroke: #000000; stroke-width: 2.0;" width="443.5" x="10" y="189.7441"/><path d="M75,190.7441 L75,199.041 L65,209.041 L10,209.041 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="13" y="203.7393">test-run</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="67" x="173.5" y="226.041"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="183.5" y="247.1797">scanOn</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="183" x="115.5" y="368.0098"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="159" x="129.5" y="389.1484">request available devices</text><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="152.5,324.0098,261.5,324.0098,273.5,336.0098,261.5,348.0098,152.5,348.0098,140.5,336.0098,152.5,324.0098" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="156.5" y="339.8179">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="273.5" y="333.4155">true = failure</text><ellipse cx="369.5" cy="336.0098" fill="none" filter="url(#fnbnu0y7yo4w)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="370" cy="336.5098" fill="#000000" filter="url(#fnbnu0y7yo4w)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="207,280.0098,219,292.0098,207,304.0098,195,292.0098,207,280.0098" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="93,421.9785,321,421.9785,333,433.9785,321,445.9785,93,445.9785,81,433.9785,93,421.9785" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="228" x="93" y="437.7866">the BT device name in available devices</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="244" x="85" y="465.9785"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="99" y="487.1172">pair with the device & turn scan off</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="119" y="607.9473"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="133" y="629.0859">request bonded devices</text><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="152.5,563.9473,261.5,563.9473,273.5,575.9473,261.5,587.9473,152.5,587.9473,140.5,575.9473,152.5,563.9473" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="156.5" y="579.7554">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="273.5" y="573.353">true = failure</text><ellipse cx="369.5" cy="575.9473" fill="none" filter="url(#fnbnu0y7yo4w)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="370" cy="576.4473" fill="#000000" filter="url(#fnbnu0y7yo4w)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="207,519.9473,219,531.9473,207,543.9473,195,531.9473,207,519.9473" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="97,661.916,317,661.916,329,673.916,317,685.916,97,685.916,85,673.916,97,661.916" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="220" x="97" y="677.7241">the BT device name in bonded devices</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="162.5" y="705.916"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="176.5" y="727.0547">turn BT off</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="162.5" y="759.8848"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="176.5" y="781.0234">turn BT on</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="119" y="901.8535"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="133" y="922.9922">request bonded devices</text><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="152.5,857.8535,261.5,857.8535,273.5,869.8535,261.5,881.8535,152.5,881.8535,140.5,869.8535,152.5,857.8535" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="156.5" y="873.6616">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="273.5" y="867.2593">true = failure</text><ellipse cx="369.5" cy="869.8535" fill="none" filter="url(#fnbnu0y7yo4w)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="370" cy="870.3535" fill="#000000" filter="url(#fnbnu0y7yo4w)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="207,813.8535,219,825.8535,207,837.8535,195,825.8535,207,813.8535" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="97,955.8223,317,955.8223,329,967.8223,317,979.8223,97,979.8223,85,967.8223,97,955.8223" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="220" x="97" y="971.6304">the BT device name in bonded devices</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="133" x="140.5" y="999.8223"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="109" x="154.5" y="1020.9609">unpair the device</text><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="79,1053.791,335,1053.791,347,1065.791,335,1077.791,79,1077.791,67,1065.791,79,1053.791" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="256" x="79" y="1069.5991">the BT device name is not in bonded devices</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="20" y="1063.1968">success</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="347" y="1063.1968">false=failure</text><ellipse cx="57" cy="1097.791" fill="none" filter="url(#fnbnu0y7yo4w)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="57.5" cy="1098.291" fill="#000000" filter="url(#fnbnu0y7yo4w)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><ellipse cx="357" cy="1097.791" fill="none" filter="url(#fnbnu0y7yo4w)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="357.5" cy="1098.291" fill="#000000" filter="url(#fnbnu0y7yo4w)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="30" y2="77.0986"/><polygon fill="#A80036" points="203,67.0986,207,77.0986,211,67.0986,207,71.0986" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="348.0098" y2="368.0098"/><polygon fill="#A80036" points="203,358.0098,207,368.0098,211,358.0098,207,362.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="273.5" x2="359.5" y1="336.0098" y2="336.0098"/><polygon fill="#A80036" points="349.5,332.0098,359.5,336.0098,349.5,340.0098,353.5,336.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="401.9785" y2="421.9785"/><polygon fill="#A80036" points="203,411.9785,207,421.9785,211,411.9785,207,415.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="304.0098" y2="324.0098"/><polygon fill="#A80036" points="203,314.0098,207,324.0098,211,314.0098,207,318.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="333" x2="437.5" y1="433.9785" y2="433.9785"/><polygon fill="#A80036" points="433.5,382.9941,437.5,372.9941,441.5,382.9941,437.5,378.9941" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="437.5" x2="437.5" y1="292.0098" y2="433.9785"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="437.5" x2="219" y1="292.0098" y2="292.0098"/><polygon fill="#A80036" points="229,288.0098,219,292.0098,229,296.0098,225,292.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="260.0098" y2="280.0098"/><polygon fill="#A80036" points="203,270.0098,207,280.0098,211,270.0098,207,274.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="445.9785" y2="465.9785"/><polygon fill="#A80036" points="203,455.9785,207,465.9785,211,455.9785,207,459.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="587.9473" y2="607.9473"/><polygon fill="#A80036" points="203,597.9473,207,607.9473,211,597.9473,207,601.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="273.5" x2="359.5" y1="575.9473" y2="575.9473"/><polygon fill="#A80036" points="349.5,571.9473,359.5,575.9473,349.5,579.9473,353.5,575.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="641.916" y2="661.916"/><polygon fill="#A80036" points="203,651.916,207,661.916,211,651.916,207,655.916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="543.9473" y2="563.9473"/><polygon fill="#A80036" points="203,553.9473,207,563.9473,211,553.9473,207,557.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="329" x2="434" y1="673.916" y2="673.916"/><polygon fill="#A80036" points="430,622.9316,434,612.9316,438,622.9316,434,618.9316" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="434" y1="531.9473" y2="673.916"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="219" y1="531.9473" y2="531.9473"/><polygon fill="#A80036" points="229,527.9473,219,531.9473,229,535.9473,225,531.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="499.9473" y2="519.9473"/><polygon fill="#A80036" points="203,509.9473,207,519.9473,211,509.9473,207,513.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="685.916" y2="705.916"/><polygon fill="#A80036" points="203,695.916,207,705.916,211,695.916,207,699.916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="739.8848" y2="759.8848"/><polygon fill="#A80036" points="203,749.8848,207,759.8848,211,749.8848,207,753.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="881.8535" y2="901.8535"/><polygon fill="#A80036" points="203,891.8535,207,901.8535,211,891.8535,207,895.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="273.5" x2="359.5" y1="869.8535" y2="869.8535"/><polygon fill="#A80036" points="349.5,865.8535,359.5,869.8535,349.5,873.8535,353.5,869.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="935.8223" y2="955.8223"/><polygon fill="#A80036" points="203,945.8223,207,955.8223,211,945.8223,207,949.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="837.8535" y2="857.8535"/><polygon fill="#A80036" points="203,847.8535,207,857.8535,211,847.8535,207,851.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="329" x2="434" y1="967.8223" y2="967.8223"/><polygon fill="#A80036" points="430,916.8379,434,906.8379,438,916.8379,434,912.8379" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="434" y1="825.8535" y2="967.8223"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="219" y1="825.8535" y2="825.8535"/><polygon fill="#A80036" points="229,821.8535,219,825.8535,229,829.8535,225,825.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="793.8535" y2="813.8535"/><polygon fill="#A80036" points="203,803.8535,207,813.8535,211,803.8535,207,807.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="979.8223" y2="999.8223"/><polygon fill="#A80036" points="203,989.8223,207,999.8223,211,989.8223,207,993.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="67" x2="57" y1="1065.791" y2="1065.791"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="57" x2="57" y1="1065.791" y2="1087.791"/><polygon fill="#A80036" points="53,1077.791,57,1087.791,61,1077.791,57,1081.791" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="347" x2="357" y1="1065.791" y2="1065.791"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="357" x2="357" y1="1065.791" y2="1087.791"/><polygon fill="#A80036" points="353,1077.791,357,1087.791,361,1077.791,357,1081.791" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="1033.791" y2="1053.791"/><polygon fill="#A80036" points="203,1043.791,207,1053.791,211,1043.791,207,1047.791" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="166.9424" y2="226.041"/><polygon fill="#A80036" points="203,216.041,207,226.041,211,216.041,207,220.041" style="stroke: #A80036; stroke-width: 1.0;"/><!--
@startuml
start
partition Initialization {
:enforce pretest conditions:
-read test input data:
**requires BT device name
-pretest machine state:
** bluetooth turned on;
}
partition test-run {
:scanOn;
repeat
if( timeout exceeded )
: request available devices;
else (true = failure)
stop
endif
repeatwhile (the BT device name in available devices)
: pair with the device & turn scan off;
repeat
if( timeout exceeded )
: request bonded devices;
else (true = failure)
stop
endif
repeatwhile (the BT device name in bonded devices)
: turn BT off;
: turn BT on;
repeat
if( timeout exceeded )
: request bonded devices;
else (true = failure)
stop
endif
repeatwhile (the BT device name in bonded devices)
: unpair the device;
if (the BT device name is not in bonded devices) then (success)
stop
else (false=failure)
stop
endif
}
@enduml
PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.10+9-Ubuntu-0ubuntu1.20.04
Operating System: Linux
OS Version: 5.8.0-44-generic
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>