~aleteoryx/muditaos

ref: 2000c3c2d15cd46c35378dc8ccd0552c558c7de3 muditaos/module-sys/SystemManager/doc/system_close_procedure_user.svg -rw-r--r-- 14.2 KiB
2000c3c2 — Lukasz Mastalerz [BH-1764] Fix GridLayoutTesting Border Callback Test 2 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
38
39
40
41
42
43
<?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="716px" preserveAspectRatio="none" style="width:1128px;height:716px;background:#F0F0F0;" version="1.1" viewBox="0 0 1128 716" width="1128px" zoomAndPan="magnify"><defs><filter height="300%" id="fcxj0o41qrtzf" 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="#F0F0F0" filter="url(#fcxj0o41qrtzf)" height="64.412" style="stroke:#000000;stroke-width:2.0;" width="172.5" x="349" y="406.4221"/><rect fill="#F0F0F0" filter="url(#fcxj0o41qrtzf)" height="64.412" style="stroke:#000000;stroke-width:2.0;" width="154.5" x="349" y="548.2461"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="23" x2="23" y1="91.0679" y2="629.6582"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="126.5" x2="126.5" y1="91.0679" y2="629.6582"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="250.5" x2="250.5" y1="91.0679" y2="629.6582"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="424" x2="424" y1="91.0679" y2="629.6582"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="624" x2="624" y1="91.0679" y2="629.6582"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="770" x2="770" y1="91.0679" y2="629.6582"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="951" x2="951" y1="91.0679" y2="629.6582"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="1067.5" x2="1067.5" y1="91.0679" y2="629.6582"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="5" y="86.9659">User</text><ellipse cx="23.5" cy="15" fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M23.5,23 L23.5,50 M10.5,31 L36.5,31 M23.5,50 L10.5,65 M23.5,50 L36.5,65 " fill="none" filter="url(#fcxj0o41qrtzf)" style="stroke:#A80036;stroke-width:2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31" x="5" y="643.6241">User</text><ellipse cx="23.5" cy="657.7261" fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M23.5,665.7261 L23.5,692.7261 M10.5,673.7261 L36.5,673.7261 M23.5,692.7261 L10.5,707.7261 M23.5,692.7261 L36.5,707.7261 " fill="none" filter="url(#fcxj0o41qrtzf)" style="stroke:#A80036;stroke-width:2.0;"/><rect fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" height="33.0679" style="stroke:#A80036;stroke-width:1.5;" width="130" x="59.5" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116" x="66.5" y="74.9659">PowerOffWindow</text><rect fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" height="33.0679" style="stroke:#A80036;stroke-width:1.5;" width="130" x="59.5" y="628.6582"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116" x="66.5" y="650.6241">PowerOffWindow</text><rect fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" height="33.0679" style="stroke:#A80036;stroke-width:1.5;" width="90" x="203.5" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76" x="210.5" y="74.9659">Application</text><rect fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" height="33.0679" style="stroke:#A80036;stroke-width:1.5;" width="90" x="203.5" y="628.6582"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76" x="210.5" y="650.6241">Application</text><rect fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" height="33.0679" style="stroke:#A80036;stroke-width:1.5;" width="127" x="359" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113" x="366" y="74.9659">System Manager</text><rect fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" height="33.0679" style="stroke:#A80036;stroke-width:1.5;" width="127" x="359" y="628.6582"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113" x="366" y="650.6241">System Manager</text><rect fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" height="33.0679" style="stroke:#A80036;stroke-width:1.5;" width="89" x="578" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="585" y="74.9659">All services</text><rect fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" height="33.0679" style="stroke:#A80036;stroke-width:1.5;" width="89" x="578" y="628.6582"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="585" y="650.6241">All services</text><rect fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" height="33.0679" style="stroke:#A80036;stroke-width:1.5;" width="155" x="691" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="141" x="698" y="74.9659">Application Manager</text><rect fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" height="33.0679" style="stroke:#A80036;stroke-width:1.5;" width="155" x="691" y="628.6582"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="141" x="698" y="650.6241">Application Manager</text><rect fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" height="33.0679" style="stroke:#A80036;stroke-width:1.5;" width="91" x="904" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="77" x="911" y="74.9659">Service GUI</text><rect fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" height="33.0679" style="stroke:#A80036;stroke-width:1.5;" width="91" x="904" y="628.6582"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="77" x="911" y="650.6241">Service GUI</text><rect fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" height="33.0679" style="stroke:#A80036;stroke-width:1.5;" width="98" x="1016.5" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="1023.5" y="74.9659">service EINK</text><rect fill="#FEFECE" filter="url(#fcxj0o41qrtzf)" height="33.0679" style="stroke:#A80036;stroke-width:1.5;" width="98" x="1016.5" y="628.6582"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="1023.5" y="650.6241">service EINK</text><polygon fill="#A80036" points="114.5,120.7739,124.5,124.7739,114.5,128.7739,118.5,124.7739" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="23.5" x2="120.5" y1="124.7739" y2="124.7739"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="79" x="30.5" y="118.9649">confirm close</text><polygon fill="#A80036" points="238.5,152.4799,248.5,156.4799,238.5,160.4799,242.5,156.4799" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="126.5" x2="244.5" y1="156.4799" y2="156.4799"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="83" x="133.5" y="150.6709">GUI off switch</text><polygon fill="#A80036" points="412.5,184.186,422.5,188.186,412.5,192.186,416.5,188.186" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="250.5" x2="418.5" y1="188.186" y2="188.186"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="150" x="257.5" y="182.377">UserPowerDownRequest</text><polygon fill="#A80036" points="612.5,215.892,622.5,219.892,612.5,223.892,616.5,219.892" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="424.5" x2="618.5" y1="219.892" y2="219.892"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="176" x="431.5" y="214.083">InitiateSystemCloseSequence</text><polygon fill="#A80036" points="758.5,247.598,768.5,251.598,758.5,255.598,762.5,251.598" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="624.5" x2="764.5" y1="251.598" y2="251.598"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="122" x="631.5" y="245.789">processCloseReason</text><line style="stroke:#A80036;stroke-width:1.0;" x1="770.5" x2="812.5" y1="283.304" y2="283.304"/><line style="stroke:#A80036;stroke-width:1.0;" x1="812.5" x2="812.5" y1="283.304" y2="296.304"/><line style="stroke:#A80036;stroke-width:1.0;" x1="771.5" x2="812.5" y1="296.304" y2="296.304"/><polygon fill="#A80036" points="781.5,292.304,771.5,296.304,781.5,300.304,777.5,296.304" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="167" x="777.5" y="277.495">switchWindowAtClose(logo)</text><polygon fill="#A80036" points="962.5,324.01,952.5,328.01,962.5,332.01,958.5,328.01" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="956.5" x2="1066.5" y1="328.01" y2="328.01"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="92" x="968.5" y="322.201">last sreen show</text><polygon fill="#A80036" points="635.5,355.716,625.5,359.716,635.5,363.716,631.5,359.716" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="629.5" x2="950.5" y1="359.716" y2="359.716"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="83" x="641.5" y="353.907">ready to close</text><polygon fill="#A80036" points="435.5,387.4221,425.5,391.4221,435.5,395.4221,431.5,391.4221" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="429.5" x2="623.5" y1="391.4221" y2="391.4221"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="81" x="441.5" y="385.6131">readyToClose</text><path d="M349,406.4221 L412,406.4221 L412,415.4221 L402,425.4221 L349,425.4221 L349,406.4221 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="64.412" style="stroke:#000000;stroke-width:2.0;" width="172.5" x="349" y="406.4221"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="18" x="364" y="421.3191">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="53" x="427" y="420.181">[timeout]</text><line style="stroke:#A80036;stroke-width:1.0;" x1="424.5" x2="466.5" y1="449.8341" y2="449.8341"/><line style="stroke:#A80036;stroke-width:1.0;" x1="466.5" x2="466.5" y1="449.8341" y2="462.8341"/><line style="stroke:#A80036;stroke-width:1.0;" x1="425.5" x2="466.5" y1="462.8341" y2="462.8341"/><polygon fill="#A80036" points="435.5,458.8341,425.5,462.8341,435.5,466.8341,431.5,462.8341" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="78" x="431.5" y="444.0251">closeServices</text><polygon fill="#A80036" points="612.5,497.5401,622.5,501.5401,612.5,505.5401,616.5,501.5401" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="424.5" x2="618.5" y1="501.5401" y2="501.5401"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="154" x="431.5" y="495.7311">SystemMessageType::Exit</text><polygon fill="#A80036" points="435.5,529.2461,425.5,533.2461,435.5,537.2461,431.5,533.2461" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="429.5" x2="623.5" y1="533.2461" y2="533.2461"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="77" x="441.5" y="527.4371">MsgHandled</text><path d="M349,548.2461 L412,548.2461 L412,557.2461 L402,567.2461 L349,567.2461 L349,548.2461 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="64.412" style="stroke:#000000;stroke-width:2.0;" width="154.5" x="349" y="548.2461"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="18" x="364" y="563.1431">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="53" x="427" y="562.005">[timeout]</text><line style="stroke:#A80036;stroke-width:1.0;" x1="424.5" x2="466.5" y1="591.6582" y2="591.6582"/><line style="stroke:#A80036;stroke-width:1.0;" x1="466.5" x2="466.5" y1="591.6582" y2="604.6582"/><line style="stroke:#A80036;stroke-width:1.0;" x1="425.5" x2="466.5" y1="604.6582" y2="604.6582"/><polygon fill="#A80036" points="435.5,600.6582,425.5,604.6582,435.5,608.6582,431.5,604.6582" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="60" x="431.5" y="585.8492">kill service</text><!--MD5=[a331d730c9d76b9349085f79d38295fd]
@startuml
skinparam BackgroundColor F0F0F0

actor User
participant "PowerOffWindow" as poff
participant "Application" as app
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

User -> poff : confirm close
poff -> app : GUI off switch
app -> sysmgr : UserPowerDownRequest
sysmgr -> srv : InitiateSystemCloseSequence

srv -> appmgr : processCloseReason
appmgr -> appmgr : switchWindowAtClose(logo)
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.7(Sun May 23 14:40:07 CEST 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>