<?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="1132px" preserveAspectRatio="none" style="width:464px;height:1132px;" version="1.1" viewBox="0 0 464 1132" width="464px" zoomAndPan="magnify"><defs><filter height="300%" id="f77eb6kq00gbh" 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(#f77eb6kq00gbh)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f77eb6kq00gbh)" 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(#f77eb6kq00gbh)" 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(#f77eb6kq00gbh)" height="931.6563" 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(#f77eb6kq00gbh)" 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(#f77eb6kq00gbh)" 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(#f77eb6kq00gbh)" 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(#f77eb6kq00gbh)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="370" cy="336.5098" fill="#000000" filter="url(#f77eb6kq00gbh)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" 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(#f77eb6kq00gbh)" 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(#f77eb6kq00gbh)" 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(#f77eb6kq00gbh)" 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(#f77eb6kq00gbh)" 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(#f77eb6kq00gbh)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="370" cy="576.4473" fill="#000000" filter="url(#f77eb6kq00gbh)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" 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(#f77eb6kq00gbh)" 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(#f77eb6kq00gbh)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="173" x="120.5" y="705.916"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="134.5" y="727.0547">connect with the device</text><rect fill="#FEFECE" filter="url(#f77eb6kq00gbh)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="119" y="847.8848"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="133" y="869.0234">request bonded devices</text><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" points="152.5,803.8848,261.5,803.8848,273.5,815.8848,261.5,827.8848,152.5,827.8848,140.5,815.8848,152.5,803.8848" 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="819.6929">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="273.5" y="813.2905">true = failure</text><ellipse cx="369.5" cy="815.8848" fill="none" filter="url(#f77eb6kq00gbh)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="370" cy="816.3848" fill="#000000" filter="url(#f77eb6kq00gbh)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" points="207,759.8848,219,771.8848,207,783.8848,195,771.8848,207,759.8848" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" points="105,901.8535,309,901.8535,321,913.8535,309,925.8535,105,925.8535,93,913.8535,105,901.8535" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="204" x="105" y="917.6616">the BT device address is connected</text><rect fill="#FEFECE" filter="url(#f77eb6kq00gbh)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="191" x="111.5" y="945.8535"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="125.5" y="966.9922">disconnect with the device</text><rect fill="#FEFECE" filter="url(#f77eb6kq00gbh)" 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(#f77eb6kq00gbh)" points="79,1053.791,335,1053.791,347,1066.5957,335,1079.4004,79,1079.4004,67,1066.5957,79,1053.791" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="226" x="79" y="1064.0015">the BT device address is not connected</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="256" x="79" y="1076.8062">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="1064.0015">success</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="347" y="1064.0015">false=failure</text><ellipse cx="57" cy="1099.4004" fill="none" filter="url(#f77eb6kq00gbh)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="57.5" cy="1099.9004" fill="#000000" filter="url(#f77eb6kq00gbh)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><ellipse cx="357" cy="1099.4004" fill="none" filter="url(#f77eb6kq00gbh)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="357.5" cy="1099.9004" fill="#000000" filter="url(#f77eb6kq00gbh)" 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="827.8848" y2="847.8848"/><polygon fill="#A80036" points="203,837.8848,207,847.8848,211,837.8848,207,841.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="273.5" x2="359.5" y1="815.8848" y2="815.8848"/><polygon fill="#A80036" points="349.5,811.8848,359.5,815.8848,349.5,819.8848,353.5,815.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="207" x2="207" y1="783.8848" y2="803.8848"/><polygon fill="#A80036" points="203,793.8848,207,803.8848,211,793.8848,207,797.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="321" x2="434" y1="913.8535" y2="913.8535"/><polygon fill="#A80036" points="430,862.8691,434,852.8691,438,862.8691,434,858.8691" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="434" y1="771.8848" y2="913.8535"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="219" y1="771.8848" y2="771.8848"/><polygon fill="#A80036" points="229,767.8848,219,771.8848,229,775.8848,225,771.8848" 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="925.8535" y2="945.8535"/><polygon fill="#A80036" points="203,935.8535,207,945.8535,211,935.8535,207,939.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="1066.5957" y2="1066.5957"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="57" x2="57" y1="1066.5957" y2="1089.4004"/><polygon fill="#A80036" points="53,1079.4004,57,1089.4004,61,1079.4004,57,1083.4004" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="347" x2="357" y1="1066.5957" y2="1066.5957"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="357" x2="357" y1="1066.5957" y2="1089.4004"/><polygon fill="#A80036" points="353,1079.4004,357,1089.4004,361,1079.4004,357,1083.4004" 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)
: connect with the device;
repeat
if( timeout exceeded )
: request bonded devices;
else (true = failure)
stop
endif
repeatwhile (the BT device address is connected)
: disconnect with the device;
: unpair the device;
if (the BT device address is not connected\nthe 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>