Files

105 lines
12 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="350.2924px" preserveAspectRatio="none" style="width:904px;height:350px;" version="1.1" viewBox="0 0 904 350" width="904.0936px" zoomAndPan="magnify"><defs/><g><rect fill="#FFFFFF" height="211.3944" style="stroke: #A80036; stroke-width: 0.5847953216374269;" width="5.848" x="510.5263" y="52.2981"/><rect fill="#FFFFFF" height="305.8754" style="stroke: #A80036; stroke-width: 0.5847953216374269;" width="5.848" x="656.7251" y="32.2414"/><rect fill="#FFFFFF" height="32.1455" style="stroke: #A80036; stroke-width: 0.5847953216374269;" width="5.848" x="825.731" y="305.9713"/><line style="stroke: #A80036; stroke-width: 0.5847953216374269; stroke-dasharray: 5.0,5.0;" x1="74.8538" x2="74.8538" y1="26.3935" y2="343.3799"/><line style="stroke: #A80036; stroke-width: 0.5847953216374269; stroke-dasharray: 5.0,5.0;" x1="221.0526" x2="221.0526" y1="26.3935" y2="343.3799"/><line style="stroke: #A80036; stroke-width: 0.5847953216374269; stroke-dasharray: 5.0,5.0;" x1="367.2515" x2="367.2515" y1="26.3935" y2="343.3799"/><line style="stroke: #A80036; stroke-width: 0.5847953216374269; stroke-dasharray: 5.0,5.0;" x1="513.4503" x2="513.4503" y1="26.3935" y2="343.3799"/><line style="stroke: #A80036; stroke-width: 0.5847953216374269; stroke-dasharray: 5.0,5.0;" x1="659.6491" x2="659.6491" y1="26.3935" y2="343.3799"/><line style="stroke: #A80036; stroke-width: 0.5847953216374269; stroke-dasharray: 5.0,5.0;" x1="828.655" x2="828.655" y1="26.3935" y2="343.3799"/><rect fill="#F5F8FA" height="24.0543" style="stroke: #607985; stroke-width: 0.8771929824561403;" width="119.2982" x="15.2047" y="1.7544"/><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="7.6023" lengthAdjust="spacingAndGlyphs" textLength="18.7135" x="65.4971" y="16.4134">main</text><rect fill="#F5F8FA" height="24.0543" style="stroke: #607985; stroke-width: 0.8771929824561403;" width="119.2982" x="161.4035" y="1.7544"/><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="7.6023" lengthAdjust="spacingAndGlyphs" textLength="51.462" x="195.3216" y="16.4134">workerA ctx</text><rect fill="#F5F8FA" height="24.0543" style="stroke: #607985; stroke-width: 0.8771929824561403;" width="119.2982" x="307.6023" y="1.7544"/><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="7.6023" lengthAdjust="spacingAndGlyphs" textLength="51.462" x="341.5205" y="16.4134">workerB ctx</text><rect fill="#F5F8FA" height="24.0543" style="stroke: #607985; stroke-width: 0.8771929824561403;" width="119.2982" x="453.8012" y="1.7544"/><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="7.6023" lengthAdjust="spacingAndGlyphs" textLength="65.4971" x="480.7018" y="16.4134">sum_task_entry</text><rect fill="#F5F8FA" height="24.0543" style="stroke: #607985; stroke-width: 0.8771929824561403;" width="119.2982" x="600" y="1.7544"/><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="7.6023" lengthAdjust="spacingAndGlyphs" textLength="37.4269" x="640.9357" y="16.4134">FreeRTOS</text><rect fill="#F5F8FA" height="24.0543" style="stroke: #607985; stroke-width: 0.8771929824561403;" width="119.2982" x="769.0058" y="1.7544"/><text fill="#1F3039" font-family="DejaVu Sans Mono" font-size="7.6023" lengthAdjust="spacingAndGlyphs" textLength="46.7836" x="805.2632" y="16.4134">supervisor</text><rect fill="#FFFFFF" height="211.3944" style="stroke: #A80036; stroke-width: 0.5847953216374269;" width="5.848" x="510.5263" y="52.2981"/><rect fill="#FFFFFF" height="305.8754" style="stroke: #A80036; stroke-width: 0.5847953216374269;" width="5.848" x="656.7251" y="32.2414"/><rect fill="#FFFFFF" height="32.1455" style="stroke: #A80036; stroke-width: 0.5847953216374269;" width="5.848" x="825.731" y="305.9713"/><polygon fill="#607985" points="522.807,49.9589,516.9591,52.2981,522.807,54.6372,520.4678,52.2981" style="stroke: #607985; stroke-width: 0.5847953216374269;"/><line style="stroke: #607985; stroke-width: 0.7602339181286549;" x1="519.2982" x2="656.1404" y1="52.2981" y2="52.2981"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.1871" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9.3567" x="544.4444" y="45.6888">06</text><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.1871" lengthAdjust="spacingAndGlyphs" textLength="70.1754" x="558.4795" y="45.6888">entry(&amp;workerA)</text><polygon fill="#607985" points="227.4854,92.2378,221.6374,94.5769,227.4854,96.9161,225.1462,94.5769" style="stroke: #607985; stroke-width: 0.5847953216374269;"/><line style="stroke: #607985; stroke-width: 0.7602339181286549;" x1="223.9766" x2="509.9415" y1="94.5769" y2="94.5769"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.1871" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9.3567" x="307.3099" y="87.9677">07</text><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.1871" lengthAdjust="spacingAndGlyphs" textLength="102.924" x="321.345" y="87.9677">typed context; RUNNING</text><polygon fill="#607985" points="373.6842,134.5166,367.8363,136.8558,373.6842,139.195,371.345,136.8558" style="stroke: #607985; stroke-width: 0.5847953216374269;"/><line style="stroke: #607985; stroke-width: 0.7602339181286549;" x1="370.1754" x2="656.1404" y1="136.8558" y2="136.8558"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.1871" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9.3567" x="465.2047" y="130.2466">08</text><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.1871" lengthAdjust="spacingAndGlyphs" textLength="79.5322" x="479.2398" y="130.2466">tick: A -&gt; B -&gt; A</text><polygon fill="#607985" points="227.4854,176.7955,221.6374,179.1347,227.4854,181.4739,225.1462,179.1347" style="stroke: #607985; stroke-width: 0.5847953216374269;"/><line style="stroke: #607985; stroke-width: 0.7602339181286549;" x1="223.9766" x2="509.9415" y1="179.1347" y2="179.1347"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.1871" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9.3567" x="316.6667" y="172.5255">09</text><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.1871" lengthAdjust="spacingAndGlyphs" textLength="84.2105" x="330.7018" y="172.5255">result = 200010000</text><polygon fill="#607985" points="227.4854,219.0744,221.6374,221.4136,227.4854,223.7527,225.1462,221.4136" style="stroke: #607985; stroke-width: 0.5847953216374269;"/><line style="stroke: #607985; stroke-width: 0.7602339181286549;" x1="223.9766" x2="509.9415" y1="221.4136" y2="221.4136"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.1871" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9.3567" x="302.6316" y="214.8043">10</text><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.1871" lengthAdjust="spacingAndGlyphs" textLength="112.2807" x="316.6667" y="214.8043">COMPLETED; handle = NULL</text><polygon fill="#607985" points="649.7076,261.3533,655.5556,263.6924,649.7076,266.0316,652.0468,263.6924" style="stroke: #607985; stroke-width: 0.5847953216374269;"/><line style="stroke: #607985; stroke-width: 0.7602339181286549;" x1="513.4503" x2="653.2164" y1="263.6924" y2="263.6924"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.1871" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9.3567" x="538.3041" y="257.0832">11</text><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.1871" lengthAdjust="spacingAndGlyphs" textLength="79.5322" x="552.3392" y="257.0832">vTaskDelete(NULL)</text><polygon fill="#607985" points="818.7135,303.6321,824.5614,305.9713,818.7135,308.3105,821.0526,305.9713" style="stroke: #607985; stroke-width: 0.5847953216374269;"/><line style="stroke: #607985; stroke-width: 0.7602339181286549;" x1="662.5731" x2="822.2222" y1="305.9713" y2="305.9713"/><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.1871" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9.3567" x="671.6374" y="299.3621">12</text><text fill="#425B67" font-family="DejaVu Sans Mono" font-size="8.1871" lengthAdjust="spacingAndGlyphs" textLength="130.9942" x="685.6725" y="299.3621">verify both contexts -&gt; PASS</text><path d="M152.0468,313.5736 L152.0468,334.0415 L897.076,334.0415 L897.076,319.4216 L891.2281,313.5736 L152.0468,313.5736 " fill="#F7F5ED" style="stroke: #8A887C; stroke-width: 0.5847953216374269;"/><path d="M891.2281,313.5736 L891.2281,319.4216 L897.076,319.4216 L891.2281,313.5736 " fill="#F7F5ED" style="stroke: #8A887C; stroke-width: 0.5847953216374269;"/><text fill="#3E4B50" font-family="DejaVu Sans Mono" font-size="7.0175" lengthAdjust="spacingAndGlyphs" textLength="294.7368" x="374.5614" y="326.5202">Static contexts survive self-delete. Idle cleanup of TCB/stack is later.</text><!--MD5=[32522a166c04a928251e1d9da18571cc]
@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
hide footbox
skinparam ParticipantPadding 18
participant "main" as Main
participant "workerA ctx" as A
participant "workerB ctx" as B
participant "sum_task_entry" as Entry
participant "FreeRTOS" as Kernel
participant "supervisor" as Supervisor
activate Kernel
Kernel -> Entry : <b>06</b> entry(&workerA)
activate Entry
||30||
Entry -> A : <b>07</b> typed context; RUNNING
||30||
Kernel -> B : <b>08</b> tick: A -> B -> A
||30||
Entry -> A : <b>09</b> result = 200010000
||30||
Entry -> A : <b>10</b> COMPLETED; handle = NULL
||30||
Entry -> Kernel : <b>11</b> vTaskDelete(NULL)
deactivate Entry
||30||
Kernel -> Supervisor : <b>12</b> verify both contexts -> PASS
activate Supervisor
note over A,Supervisor
Static contexts survive self-delete. Idle cleanup of TCB/stack is later.
end note
@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>