~aleteoryx/muditaos

ref: ef63ee267c78136773ed23156ad85a75e650a7b6 muditaos/module-sys/SystemManager/doc/system_close_procedure_brownout.svg -rw-r--r-- 10.8 KiB
ef63ee26 — Wojtek Rzepecki [EGD-5304] Add new way of system close 4 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?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="525px" preserveAspectRatio="none" style="width:959px;height:525px;" version="1.1" viewBox="0 0 959 525" width="959px" zoomAndPan="magnify"><defs><filter height="300%" id="f14d4etav8v0b3" 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><rect fill="#FFFFFF" filter="url(#f14d4etav8v0b3)" height="59.2656" style="stroke:#000000;stroke-width:2.0;" width="182.5" x="56.5" y="274.2266"/><rect fill="#FFFFFF" filter="url(#f14d4etav8v0b3)" height="59.2656" style="stroke:#000000;stroke-width:2.0;" width="160.5" x="56.5" y="405.7578"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="132.5" x2="132.5" y1="40.2969" y2="482.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="324" x2="324" y1="40.2969" y2="482.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="479.5" x2="479.5" y1="40.2969" y2="482.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="775" x2="775" y1="40.2969" y2="482.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="898" x2="898" y1="40.2969" y2="482.0234"/><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="129" x="66.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="73.5" y="24.9951">System Manager</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="129" x="66.5" y="481.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="73.5" y="501.0186">System Manager</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="90" x="277" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76" x="284" y="24.9951">All services</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="90" x="277" y="481.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76" x="284" y="501.0186">All services</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="153" x="401.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139" x="408.5" y="24.9951">Application Manager</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="153" x="401.5" y="481.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139" x="408.5" y="501.0186">Application Manager</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="92" x="727" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="734" y="24.9951">Service GUI</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="92" x="727" y="481.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="734" y="501.0186">Service GUI</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="98" x="847" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="854" y="24.9951">service EINK</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="98" x="847" y="481.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="854" y="501.0186">service EINK</text><polygon fill="#A80036" points="121,67.4297,131,71.4297,121,75.4297,125,71.4297" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="0" x2="127" y1="71.4297" y2="71.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="109" x="7" y="66.3638">battery brownout</text><polygon fill="#A80036" points="312,96.5625,322,100.5625,312,104.5625,316,100.5625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="133" x2="318" y1="100.5625" y2="100.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="104" x="140" y="95.4966">preCloseRoutine</text><polygon fill="#A80036" points="468,125.6953,478,129.6953,468,133.6953,472,129.6953" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="324" x2="474" y1="129.6953" y2="129.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="132" x="331" y="124.6294">processCloseReason</text><line style="stroke:#A80036;stroke-width:1.0;" x1="480" x2="522" y1="158.8281" y2="158.8281"/><line style="stroke:#A80036;stroke-width:1.0;" x1="522" x2="522" y1="158.8281" y2="171.8281"/><line style="stroke:#A80036;stroke-width:1.0;" x1="481" x2="522" y1="171.8281" y2="171.8281"/><polygon fill="#A80036" points="491,167.8281,481,171.8281,491,175.8281,487,171.8281" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="281" x="487" y="153.7622">switchWindowAtClose(Dead Battery Window)</text><polygon fill="#A80036" points="786,196.9609,776,200.9609,786,204.9609,782,200.9609" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="780" x2="897" y1="200.9609" y2="200.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="99" x="792" y="195.895">last sreen show</text><polygon fill="#A80036" points="335,226.0938,325,230.0938,335,234.0938,331,230.0938" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="329" x2="774" y1="230.0938" y2="230.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="90" x="341" y="225.0278">ready to close</text><polygon fill="#A80036" points="144,255.2266,134,259.2266,144,263.2266,140,259.2266" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="138" x2="323" y1="259.2266" y2="259.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="86" x="150" y="254.1606">readyToClose</text><path d="M56.5,274.2266 L120.5,274.2266 L120.5,281.2266 L110.5,291.2266 L56.5,291.2266 L56.5,274.2266 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="59.2656" style="stroke:#000000;stroke-width:2.0;" width="182.5" x="56.5" y="274.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19" x="71.5" y="287.2935">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="59" x="135.5" y="286.437">[timeout]</text><line style="stroke:#A80036;stroke-width:1.0;" x1="133" x2="175" y1="312.4922" y2="312.4922"/><line style="stroke:#A80036;stroke-width:1.0;" x1="175" x2="175" y1="312.4922" y2="325.4922"/><line style="stroke:#A80036;stroke-width:1.0;" x1="134" x2="175" y1="325.4922" y2="325.4922"/><polygon fill="#A80036" points="144,321.4922,134,325.4922,144,329.4922,140,325.4922" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="87" x="140" y="307.4263">closeServices</text><polygon fill="#A80036" points="312,357.625,322,361.625,312,365.625,316,361.625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="133" x2="318" y1="361.625" y2="361.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="167" x="140" y="356.5591">SystemMessageType::Exit</text><polygon fill="#A80036" points="144,386.7578,134,390.7578,144,394.7578,140,390.7578" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="138" x2="323" y1="390.7578" y2="390.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="79" x="150" y="385.6919">MsgHandled</text><path d="M56.5,405.7578 L120.5,405.7578 L120.5,412.7578 L110.5,422.7578 L56.5,422.7578 L56.5,405.7578 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="59.2656" style="stroke:#000000;stroke-width:2.0;" width="160.5" x="56.5" y="405.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19" x="71.5" y="418.8247">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="59" x="135.5" y="417.9683">[timeout]</text><line style="stroke:#A80036;stroke-width:1.0;" x1="133" x2="175" y1="444.0234" y2="444.0234"/><line style="stroke:#A80036;stroke-width:1.0;" x1="175" x2="175" y1="444.0234" y2="457.0234"/><line style="stroke:#A80036;stroke-width:1.0;" x1="134" x2="175" y1="457.0234" y2="457.0234"/><polygon fill="#A80036" points="144,453.0234,134,457.0234,144,461.0234,140,457.0234" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="65" x="140" y="438.9575">kill service</text><!--MD5=[d772a965bf366a1a13d1083fbf2ffa88]
@startuml

participant "System Manager" as sysmgr
participant "All services" as srv
participant "Application Manager" as appmgr
participant "Service GUI" as gui
participant "service EINK" as eink

-> sysmgr : battery brownout
sysmgr -> srv : preCloseRoutine

srv -> appmgr : processCloseReason
appmgr -> appmgr : switchWindowAtClose(Dead Battery Window)
eink -> gui : last sreen show
gui -> srv : ready to close

srv -> sysmgr : readyToClose
alt timeout
sysmgr -> sysmgr : closeServices
end
sysmgr -> srv : SystemMessageType::Exit
srv -> sysmgr : MsgHandled
alt timeout
sysmgr -> sysmgr : kill service
end

@enduml

PlantUML version 1.2021.00(Sun Jan 10 11:25:05 CET 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: pl
Country: PL
--></g></svg>