Files

120 lines
11 KiB
XML

<?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="346.0805px" preserveAspectRatio="none" style="width:893px;height:346px;" version="1.1" viewBox="0 0 893 346" width="893.3263px" zoomAndPan="magnify"><defs/><g><!--MD5=[3833dfc58284d688f88001bd4346281f]
class Public--><rect fill="#F5F8FA" height="120.6336" id="Public" style="stroke: #607985; stroke-width: 1.430084745762712;" width="282.2034" x="5.7203" y="111.4513"/><text fill="#526B77" font-family="DejaVu Sans Mono" font-size="10.4873" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="86.7585" x="103.4428" y="131.6731">«application»</text><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="14.3008" lengthAdjust="spacingAndGlyphs" textLength="214.5127" x="39.5657" y="158.8615">01 public state evidence</text><line style="stroke: #607985; stroke-width: 1.430084745762712;" x1="6.6737" x2="286.9703" y1="172.7215" y2="172.7215"/><text fill="#2E424D" font-family="DejaVu Sans Mono" font-size="12.3941" lengthAdjust="spacingAndGlyphs" textLength="259.322" x="17.161" y="193.7598">eTaskGetState(periodic) = eBlocked</text><text fill="#2E424D" font-family="DejaVu Sans Mono" font-size="12.3941" lengthAdjust="spacingAndGlyphs" textLength="259.322" x="17.161" y="219.628">eTaskGetState(target) = eSuspended</text><!--MD5=[86b35a35deff3f53bdfe096e65e1dcc4]
class Periodic--><rect fill="#F5F8FA" height="146.5018" id="Periodic" style="stroke: #607985; stroke-width: 1.430084745762712;" width="231.6737" x="332.2564" y="7.9513"/><text fill="#526B77" font-family="DejaVu Sans Mono" font-size="10.4873" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="60.0636" x="418.0614" y="28.1731">«runtime»</text><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="14.3008" lengthAdjust="spacingAndGlyphs" textLength="214.5127" x="340.8369" y="55.3615">02 periodic task runtime</text><line style="stroke: #607985; stroke-width: 1.430084745762712;" x1="333.2097" x2="562.9767" y1="69.2215" y2="69.2215"/><text fill="#2E424D" font-family="DejaVu Sans Mono" font-size="12.3941" lengthAdjust="spacingAndGlyphs" textLength="91.5254" x="343.697" y="90.2598">handle / TCB</text><text fill="#2E424D" font-family="DejaVu Sans Mono" font-size="12.3941" lengthAdjust="spacingAndGlyphs" textLength="122.0339" x="343.697" y="116.128">task stack range</text><text fill="#2E424D" font-family="DejaVu Sans Mono" font-size="12.3941" lengthAdjust="spacingAndGlyphs" textLength="53.3898" x="343.697" y="141.9961">PC · SP</text><!--MD5=[e1eb4ff42ad6fe6744f3d2d780dcb722]
class Wake--><rect fill="#F5F8FA" height="146.5018" id="Wake" style="stroke: #607985; stroke-width: 1.430084745762712;" width="240.2542" x="625.4237" y="7.9513"/><text fill="#526B77" font-family="DejaVu Sans Mono" font-size="10.4873" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="60.0636" x="715.5191" y="28.1731">«runtime»</text><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="14.3008" lengthAdjust="spacingAndGlyphs" textLength="223.0932" x="634.0042" y="55.3615">03 absolute wake timeline</text><line style="stroke: #607985; stroke-width: 1.430084745762712;" x1="626.3771" x2="864.7246" y1="69.2215" y2="69.2215"/><text fill="#2E424D" font-family="DejaVu Sans Mono" font-size="12.3941" lengthAdjust="spacingAndGlyphs" textLength="91.5254" x="636.8644" y="90.2598">initial_tick</text><text fill="#2E424D" font-family="DejaVu Sans Mono" font-size="12.3941" lengthAdjust="spacingAndGlyphs" textLength="144.9153" x="636.8644" y="116.128">release = 2 · 4 · 6</text><text fill="#2E424D" font-family="DejaVu Sans Mono" font-size="12.3941" lengthAdjust="spacingAndGlyphs" textLength="114.4068" x="636.8644" y="141.9961">exact delta = 2</text><!--MD5=[fe4f93b87d8dddf11c9ebf60b1f7018c]
class Suspend--><rect fill="#F5F8FA" height="146.5018" id="Suspend" style="stroke: #607985; stroke-width: 1.430084745762712;" width="240.2542" x="327.9661" y="189.0953"/><text fill="#526B77" font-family="DejaVu Sans Mono" font-size="10.4873" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="60.0636" x="418.0614" y="209.3172">«runtime»</text><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="14.3008" lengthAdjust="spacingAndGlyphs" textLength="223.0932" x="336.5466" y="236.5055">04 suspended task runtime</text><line style="stroke: #607985; stroke-width: 1.430084745762712;" x1="328.9195" x2="567.2669" y1="250.3655" y2="250.3655"/><text fill="#2E424D" font-family="DejaVu Sans Mono" font-size="12.3941" lengthAdjust="spacingAndGlyphs" textLength="91.5254" x="339.4068" y="271.4039">handle / TCB</text><text fill="#2E424D" font-family="DejaVu Sans Mono" font-size="12.3941" lengthAdjust="spacingAndGlyphs" textLength="190.678" x="339.4068" y="297.272">no delayed-list wake tick</text><text fill="#2E424D" font-family="DejaVu Sans Mono" font-size="12.3941" lengthAdjust="spacingAndGlyphs" textLength="83.8983" x="339.4068" y="323.1402">resumed = 1</text><!--MD5=[13f56afd7aace6dccdfaaac41cf97a6a]
class Evidence--><rect fill="#F5F8FA" height="146.5018" id="Evidence" style="stroke: #607985; stroke-width: 1.430084745762712;" width="274.5763" x="608.2627" y="189.0953"/><text fill="#526B77" font-family="DejaVu Sans Mono" font-size="10.4873" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="66.7373" x="712.1822" y="209.3172">«evidence»</text><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="14.3008" lengthAdjust="spacingAndGlyphs" textLength="197.3517" x="646.875" y="236.5055">05 forensic completion</text><line style="stroke: #607985; stroke-width: 1.430084745762712;" x1="609.2161" x2="881.8856" y1="250.3655" y2="250.3655"/><text fill="#2E424D" font-family="DejaVu Sans Mono" font-size="12.3941" lengthAdjust="spacingAndGlyphs" textLength="160.1695" x="619.7034" y="271.4039">public handles = NULL</text><text fill="#2E424D" font-family="DejaVu Sans Mono" font-size="12.3941" lengthAdjust="spacingAndGlyphs" textLength="251.6949" x="619.7034" y="297.272">contexts remain in static storage</text><text fill="#2E424D" font-family="DejaVu Sans Mono" font-size="12.3941" lengthAdjust="spacingAndGlyphs" textLength="221.1864" x="619.7034" y="323.1402">source blob · ELF hash · PASS</text><!--MD5=[8014a0f10d1c54cd49a04ba349132a69]
link Public to Periodic--><path d="M288.2574,129.2701 C300.8994,125.447 313.6367,121.5858 326.0975,117.8199 " fill="none" id="Public-&gt;Periodic" style="stroke: #607985; stroke-width: 1.239406779661017;"/><polygon fill="#607985" points="330.4163,116.5138,321.1002,115.3394,325.8523,117.8898,323.3019,122.6418,330.4163,116.5138" style="stroke: #607985; stroke-width: 1.239406779661017;"/><!--MD5=[17e999d6446600b847a6cb8cb5f374d4]
link Public to Suspend--><path d="M288.2574,214.2744 C299.5074,217.678 310.8337,221.1006 321.9693,224.4756 " fill="none" id="Public-&gt;Suspend" style="stroke: #607985; stroke-width: 1.239406779661017;"/><polygon fill="#607985" points="326.393,225.8104,319.2786,219.6823,321.829,224.4344,317.0769,226.9848,326.393,225.8104" style="stroke: #607985; stroke-width: 1.239406779661017;"/><!--MD5=[de7239d11f85c01a3917f6e65c696cec]
link Periodic to Wake--><path d="M564.1589,81.2002 C582.1494,81.2002 600.8072,81.2002 619.0074,81.2002 " fill="none" id="Periodic-&gt;Wake" style="stroke: #607985; stroke-width: 1.239406779661017;"/><polygon fill="#607985" points="623.7267,81.2002,615.1462,77.3867,618.9597,81.2002,615.1462,85.0138,623.7267,81.2002" style="stroke: #607985; stroke-width: 1.239406779661017;"/><!--MD5=[80b41d776a842d71f9fe5b1fa56b71b9]
link Periodic to Evidence--><path d="M564.1589,151.7511 C582.2352,162.8294 600.9979,174.3273 619.2839,185.5392 " fill="none" id="Periodic-&gt;Evidence" style="stroke: #607985; stroke-width: 1.239406779661017;"/><polygon fill="#607985" points="623.2023,187.9417,617.8745,180.2098,619.1365,185.4533,613.893,186.7152,623.2023,187.9417" style="stroke: #607985; stroke-width: 1.239406779661017;"/><!--MD5=[45096a90a3324b6007814ebd88be5d10]
link Suspend to Evidence--><path d="M568.411,262.3443 C579.3559,262.3443 590.5201,262.3443 601.6462,262.3443 " fill="none" id="Suspend-&gt;Evidence" style="stroke: #607985; stroke-width: 1.239406779661017;"/><polygon fill="#607985" points="606.3845,262.3443,597.804,258.5307,601.6176,262.3443,597.804,266.1578,606.3845,262.3443" style="stroke: #607985; stroke-width: 1.239406779661017;"/><!--MD5=[51ed389d12f971a7aef6fd7463f99a8f]
@startuml
skinparam backgroundColor white
skinparam shadowing false
skinparam monochrome false
skinparam defaultFontName "DejaVu Sans Mono"
skinparam defaultFontSize 14
skinparam defaultFontColor #24343D
skinparam titleFontName "DejaVu Sans Mono"
skinparam titleFontSize 13
skinparam titleFontColor #536B78
skinparam titleFontStyle plain
skinparam ArrowColor #607985
skinparam ArrowFontColor #425B67
skinparam ArrowThickness 1.3
skinparam LineThickness 1.3
skinparam nodesep 36
skinparam ranksep 42
skinparam Padding 6
skinparam classBackgroundColor #F5F8FA
skinparam classBorderColor #607985
skinparam classBorderThickness 1.5
skinparam classFontColor #1F3039
skinparam classFontSize 15
skinparam classAttributeFontColor #2E424D
skinparam classAttributeFontSize 13
skinparam classStereotypeFontColor #526B77
skinparam classStereotypeFontSize 11
skinparam minClassWidth 190
skinparam ClassAttributeIconSize 0
skinparam stateBackgroundColor #F5F8FA
skinparam stateBorderColor #607985
skinparam stateBorderThickness 1.5
skinparam stateFontColor #1F3039
skinparam stateFontSize 14
skinparam stateAttributeFontSize 13
skinparam noteBackgroundColor #F7F5ED
skinparam noteBorderColor #8A887C
skinparam noteFontColor #3E4B50
skinparam noteFontSize 12
skinparam ParticipantBackgroundColor #F5F8FA
skinparam ParticipantBorderColor #607985
skinparam ParticipantBorderThickness 1.5
skinparam ParticipantFontColor #1F3039
skinparam ParticipantFontSize 13
skinparam ActorBorderColor #607985
skinparam ActorFontColor #1F3039
skinparam LifeLineBorderColor #8297A1
skinparam LifeLineBackgroundColor #F9FBFC
skinparam SequenceArrowColor #607985
skinparam SequenceMessageAlign center
skinparam ParticipantPadding 18
skinparam BoxPadding 8
hide circle
hide empty members
scale 900 width
left to right direction
class "01 public state evidence" as Public <<application>> {
eTaskGetState(periodic) = eBlocked
eTaskGetState(target) = eSuspended
}
class "02 periodic task runtime" as Periodic <<runtime>> {
handle / TCB
task stack range
PC · SP
}
class "03 absolute wake timeline" as Wake <<runtime>> {
initial_tick
release = 2 · 4 · 6
exact delta = 2
}
class "04 suspended task runtime" as Suspend <<runtime>> {
handle / TCB
no delayed-list wake tick
resumed = 1
}
class "05 forensic completion" as Evidence <<evidence>> {
public handles = NULL
contexts remain in static storage
source blob · ELF hash · PASS
}
Public - -> Periodic
Public - -> Suspend
Periodic - -> Wake
Periodic - -> Evidence
Suspend - -> Evidence
@enduml
PlantUML version 1.2020.02(Sun Mar 01 11:22:07 CET 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 25.0.4-ea+4-1-Debian
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: null
--></g></svg>