<?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="1134px" preserveAspectRatio="none" style="width:456px;height:1134px;background:#F0F0F0;" version="1.1" viewBox="0 0 456 1134" width="456px" zoomAndPan="magnify"><defs><filter height="300%" id="f1wv7ke98feboz" 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="203" cy="20" fill="#000000" filter="url(#f1wv7ke98feboz)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f1wv7ke98feboz)" height="138.1406" style="stroke: #000000; stroke-width: 2.0;" width="216" x="95" y="40.8018"/><path d="M184,41.8018 L184,50.0986 L174,60.0986 L95,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="98" y="54.7969">Initialization</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="89.8438" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="105" y="77.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="171" x="115" y="98.2373">enforce pretest conditions:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="115" 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="132" y="121.0049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="154" x="137" y="126.1748">requires BT device name</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="115" y="140.1436">-pretest machine state:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="132" y="148.9424"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="137" y="154.1123">bluetooth turned on</text><rect fill="#FFFFFF" filter="url(#f1wv7ke98feboz)" height="933.6563" style="stroke: #000000; stroke-width: 2.0;" width="435.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(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="67" x="169.5" y="226.041"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="179.5" y="247.1797">scanOn</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="183" x="111.5" y="368.0098"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="159" x="125.5" y="389.1484">request available devices</text><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="150,324.0098,256,324.0098,268,336.0098,256,348.0098,150,348.0098,138,336.0098,150,324.0098" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="153" y="339.8179">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="268" y="333.4155">true = failure</text><ellipse cx="364" cy="336.0098" fill="#FFFFFF" filter="url(#f1wv7ke98feboz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="364" cy="336.0098" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="203,280.0098,215,292.0098,203,304.0098,191,292.0098,203,280.0098" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="92,421.9785,314,421.9785,326,433.9785,314,445.9785,92,445.9785,80,433.9785,92,421.9785" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="222" x="92" y="437.7866">the BT device name in available devices</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="244" x="81" y="465.9785"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="95" y="487.1172">pair with the device & turn scan off</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="115" y="607.9473"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="129" y="629.0859">request bonded devices</text><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="150,563.9473,256,563.9473,268,575.9473,256,587.9473,150,587.9473,138,575.9473,150,563.9473" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="153" y="579.7554">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="268" y="573.353">true = failure</text><ellipse cx="364" cy="575.9473" fill="#FFFFFF" filter="url(#f1wv7ke98feboz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="364" cy="575.9473" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="203,519.9473,215,531.9473,203,543.9473,191,531.9473,203,519.9473" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="96,661.916,310,661.916,322,673.916,310,685.916,96,685.916,84,673.916,96,661.916" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="96" y="677.7241">the BT device name in bonded devices</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="173" x="116.5" y="705.916"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="130.5" y="727.0547">connect with the device</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="115" y="847.8848"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="129" y="869.0234">request bonded devices</text><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="150,803.8848,256,803.8848,268,815.8848,256,827.8848,150,827.8848,138,815.8848,150,803.8848" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="153" y="819.6929">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="268" y="813.2905">true = failure</text><ellipse cx="364" cy="815.8848" fill="#FFFFFF" filter="url(#f1wv7ke98feboz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="364" cy="815.8848" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="203,759.8848,215,771.8848,203,783.8848,191,771.8848,203,759.8848" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="103.5,901.8535,302.5,901.8535,314.5,913.8535,302.5,925.8535,103.5,925.8535,91.5,913.8535,103.5,901.8535" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="103.5" y="917.6616">the BT device address is connected</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="191" x="107.5" y="945.8535"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="121.5" y="966.9922">disconnect with the device</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="133" x="136.5" y="999.8223"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="109" x="150.5" y="1020.9609">unpair the device</text><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="79,1053.791,327,1053.791,339,1066.5957,327,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="220" 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="248" 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="339" y="1064.0015">false=failure</text><ellipse cx="57" cy="1100.4004" fill="#FFFFFF" filter="url(#f1wv7ke98feboz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="57" cy="1100.4004" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><ellipse cx="349" cy="1100.4004" fill="#FFFFFF" filter="url(#f1wv7ke98feboz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="349" cy="1100.4004" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="30" y2="77.0986"/><polygon fill="#A80036" points="199,67.0986,203,77.0986,207,67.0986,203,71.0986" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="348.0098" y2="368.0098"/><polygon fill="#A80036" points="199,358.0098,203,368.0098,207,358.0098,203,362.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="268" x2="353" y1="336.0098" y2="336.0098"/><polygon fill="#A80036" points="343,332.0098,353,336.0098,343,340.0098,347,336.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="401.9785" y2="421.9785"/><polygon fill="#A80036" points="199,411.9785,203,421.9785,207,411.9785,203,415.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="304.0098" y2="324.0098"/><polygon fill="#A80036" points="199,314.0098,203,324.0098,207,314.0098,203,318.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="326" x2="429.5" y1="433.9785" y2="433.9785"/><polygon fill="#A80036" points="425.5,382.9941,429.5,372.9941,433.5,382.9941,429.5,378.9941" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="429.5" x2="429.5" y1="292.0098" y2="433.9785"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="429.5" x2="215" y1="292.0098" y2="292.0098"/><polygon fill="#A80036" points="225,288.0098,215,292.0098,225,296.0098,221,292.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="260.0098" y2="280.0098"/><polygon fill="#A80036" points="199,270.0098,203,280.0098,207,270.0098,203,274.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="445.9785" y2="465.9785"/><polygon fill="#A80036" points="199,455.9785,203,465.9785,207,455.9785,203,459.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="587.9473" y2="607.9473"/><polygon fill="#A80036" points="199,597.9473,203,607.9473,207,597.9473,203,601.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="268" x2="353" y1="575.9473" y2="575.9473"/><polygon fill="#A80036" points="343,571.9473,353,575.9473,343,579.9473,347,575.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="641.916" y2="661.916"/><polygon fill="#A80036" points="199,651.916,203,661.916,207,651.916,203,655.916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="543.9473" y2="563.9473"/><polygon fill="#A80036" points="199,553.9473,203,563.9473,207,553.9473,203,557.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="322" x2="426" y1="673.916" y2="673.916"/><polygon fill="#A80036" points="422,622.9316,426,612.9316,430,622.9316,426,618.9316" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="426" y1="531.9473" y2="673.916"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="215" y1="531.9473" y2="531.9473"/><polygon fill="#A80036" points="225,527.9473,215,531.9473,225,535.9473,221,531.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="499.9473" y2="519.9473"/><polygon fill="#A80036" points="199,509.9473,203,519.9473,207,509.9473,203,513.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="685.916" y2="705.916"/><polygon fill="#A80036" points="199,695.916,203,705.916,207,695.916,203,699.916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="827.8848" y2="847.8848"/><polygon fill="#A80036" points="199,837.8848,203,847.8848,207,837.8848,203,841.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="268" x2="353" y1="815.8848" y2="815.8848"/><polygon fill="#A80036" points="343,811.8848,353,815.8848,343,819.8848,347,815.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="881.8535" y2="901.8535"/><polygon fill="#A80036" points="199,891.8535,203,901.8535,207,891.8535,203,895.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="783.8848" y2="803.8848"/><polygon fill="#A80036" points="199,793.8848,203,803.8848,207,793.8848,203,797.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="314.5" x2="426" y1="913.8535" y2="913.8535"/><polygon fill="#A80036" points="422,862.8691,426,852.8691,430,862.8691,426,858.8691" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="426" y1="771.8848" y2="913.8535"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="215" y1="771.8848" y2="771.8848"/><polygon fill="#A80036" points="225,767.8848,215,771.8848,225,775.8848,221,771.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="739.8848" y2="759.8848"/><polygon fill="#A80036" points="199,749.8848,203,759.8848,207,749.8848,203,753.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="925.8535" y2="945.8535"/><polygon fill="#A80036" points="199,935.8535,203,945.8535,207,935.8535,203,939.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="979.8223" y2="999.8223"/><polygon fill="#A80036" points="199,989.8223,203,999.8223,207,989.8223,203,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="339" x2="349" y1="1066.5957" y2="1066.5957"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="349" x2="349" y1="1066.5957" y2="1089.4004"/><polygon fill="#A80036" points="345,1079.4004,349,1089.4004,353,1079.4004,349,1083.4004" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="1033.791" y2="1053.791"/><polygon fill="#A80036" points="199,1043.791,203,1053.791,207,1043.791,203,1047.791" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="166.9424" y2="226.041"/><polygon fill="#A80036" points="199,216.041,203,226.041,207,216.041,203,220.041" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[46e6cde3abb9f203c9b1df6ceedeccc7]
@startuml
skinparam BackgroundColor F0F0F0
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.2020.02(Sun Mar 01 05:22:07 EST 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>