1 line
19 KiB
XML
1 line
19 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" data-diagram-type="SEQUENCE" height="681px" preserveAspectRatio="none" style="width:1351px;height:681px;background:#FFFFFF;" version="1.1" viewBox="0 0 1351 681" width="1351px" zoomAndPan="magnify"><defs/><g><rect fill="none" height="51.412" style="stroke:#000000;stroke-width:1.5;" width="921.042" x="319.5961" y="459.5401"/><g><title>FlightSimulator</title><rect fill="#000000" fill-opacity="0.00000" height="604.0023" width="8" x="141.3088" y="39.0679"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="145" x2="145" y1="39.0679" y2="643.0702"/></g><g><title>Rocket</title><rect fill="#000000" fill-opacity="0.00000" height="604.0023" width="8" x="354.758" y="39.0679"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="358.5961" x2="358.5961" y1="39.0679" y2="643.0702"/></g><g><title>Stage</title><rect fill="#000000" fill-opacity="0.00000" height="604.0023" width="8" x="419.4698" y="39.0679"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="422.9199" x2="422.9199" y1="39.0679" y2="643.0702"/></g><g><title>Motor</title><rect fill="#000000" fill-opacity="0.00000" height="604.0023" width="8" x="482.2567" y="39.0679"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="486.0198" x2="486.0198" y1="39.0679" y2="643.0702"/></g><g><title>ForcesModel</title><rect fill="#000000" fill-opacity="0.00000" height="604.0023" width="8" x="568.5565" y="39.0679"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="572.4936" x2="572.4936" y1="39.0679" y2="643.0702"/></g><g><title>Environment</title><rect fill="#000000" fill-opacity="0.00000" height="604.0023" width="8" x="728.4196" y="39.0679"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="732.0418" x2="732.0418" y1="39.0679" y2="643.0702"/></g><g><title>Integrator</title><rect fill="#000000" fill-opacity="0.00000" height="604.0023" width="8" x="828.7473" y="39.0679"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="831.7974" x2="831.7974" y1="39.0679" y2="643.0702"/></g><g><title>FlightState</title><rect fill="#000000" fill-opacity="0.00000" height="604.0023" width="8" x="921.8721" y="39.0679"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="925.6972" x2="925.6972" y1="39.0679" y2="643.0702"/></g><g><title>RecoverySystem</title><rect fill="#000000" fill-opacity="0.00000" height="604.0023" width="8" x="1034.6947" y="39.0679"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1038.047" x2="1038.047" y1="39.0679" y2="643.0702"/></g><g><title>RecoverySystem</title><rect fill="#000000" fill-opacity="0.00000" height="604.0023" width="8" x="1165.9903" y="39.0679"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1169.3425" x2="1169.3425" y1="39.0679" y2="643.0702"/></g><g><title>FlightState</title><rect fill="#000000" fill-opacity="0.00000" height="604.0023" width="8" x="1278.813" y="39.0679"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1282.6381" x2="1282.6381" y1="39.0679" y2="643.0702"/></g><g class="participant participant-head" data-participant="FS"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="114.6176" x="88" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100.6176" x="95" y="26.9659">FlightSimulator</text></g><g class="participant participant-tail" data-participant="FS"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="114.6176" x="88" y="642.0702"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100.6176" x="95" y="664.0361">FlightSimulator</text></g><g class="participant participant-head" data-participant="Rocket"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="58.3238" x="329.5961" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="44.3238" x="336.5961" y="26.9659">Rocket</text></g><g class="participant participant-tail" data-participant="Rocket"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="58.3238" x="329.5961" y="642.0702"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="44.3238" x="336.5961" y="664.0361">Rocket</text></g><g class="participant participant-head" data-participant="Stage"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="51.0999" x="397.9199" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="37.0999" x="404.9199" y="26.9659">Stage</text></g><g class="participant participant-tail" data-participant="Stage"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="51.0999" x="397.9199" y="642.0702"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="37.0999" x="404.9199" y="664.0361">Stage</text></g><g class="participant participant-head" data-participant="Motor"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="54.4739" x="459.0198" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40.4739" x="466.0198" y="26.9659">Motor</text></g><g class="participant participant-tail" data-participant="Motor"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="54.4739" x="459.0198" y="642.0702"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="40.4739" x="466.0198" y="664.0361">Motor</text></g><g class="participant participant-head" data-participant="FM"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="98.1257" x="523.4936" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84.1257" x="530.4936" y="26.9659">ForcesModel</text></g><g class="participant participant-tail" data-participant="FM"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="98.1257" x="523.4936" y="642.0702"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84.1257" x="530.4936" y="664.0361">ForcesModel</text></g><g class="participant participant-head" data-participant="Env"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="98.7557" x="683.0418" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84.7557" x="690.0418" y="26.9659">Environment</text></g><g class="participant participant-tail" data-participant="Env"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="98.7557" x="683.0418" y="642.0702"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84.7557" x="690.0418" y="664.0361">Environment</text></g><g class="participant participant-head" data-participant="Integrator"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="81.8998" x="791.7974" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="67.8998" x="798.7974" y="26.9659">Integrator</text></g><g class="participant participant-tail" data-participant="Integrator"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="81.8998" x="791.7974" y="642.0702"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="67.8998" x="798.7974" y="664.0361">Integrator</text></g><g class="participant participant-head" data-participant="State"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="84.3497" x="883.6972" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="70.3497" x="890.6972" y="26.9659">FlightState</text></g><g class="participant participant-tail" data-participant="State"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="84.3497" x="883.6972" y="642.0702"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="70.3497" x="890.6972" y="664.0361">FlightState</text></g><g class="participant participant-head" data-participant="Recovery"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="121.2956" x="978.047" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107.2956" x="985.047" y="26.9659">RecoverySystem</text></g><g class="participant participant-tail" data-participant="Recovery"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="121.2956" x="978.047" y="642.0702"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107.2956" x="985.047" y="664.0361">RecoverySystem</text></g><g class="participant participant-head" data-participant="RecoverySystem"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="121.2956" x="1109.3425" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107.2956" x="1116.3425" y="26.9659">RecoverySystem</text></g><g class="participant participant-tail" data-participant="RecoverySystem"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="121.2956" x="1109.3425" y="642.0702"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107.2956" x="1116.3425" y="664.0361">RecoverySystem</text></g><g class="participant participant-head" data-participant="FlightState"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="84.3497" x="1240.6381" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="70.3497" x="1247.6381" y="26.9659">FlightState</text></g><g class="participant participant-tail" data-participant="FlightState"><rect fill="#E2E2F0" height="33.0679" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="84.3497" x="1240.6381" y="642.0702"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="70.3497" x="1247.6381" y="664.0361">FlightState</text></g><rect fill="#EEEEEE" height="3" style="stroke:#EEEEEE;stroke-width:1;" width="1344.9879" x="0" y="70.9209"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1344.9879" y1="70.9209" y2="70.9209"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1344.9879" y1="73.9209" y2="73.9209"/><rect fill="#EEEEEE" height="25.706" style="stroke:#000000;stroke-width:2;" width="145.2221" x="599.8829" y="59.0679"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="127.8421" x="605.8829" y="76.9649">Launch Preparation</text><g class="message" data-participant-1="FS" data-participant-2="Rocket"><polygon fill="#181818" points="346.758,114.4799,356.758,118.4799,346.758,122.4799,350.758,118.4799" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="145.3088" x2="352.758" y1="118.4799" y2="118.4799"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="189.4492" x="152.3088" y="112.6709">prepareForFlight(environment)</text></g><rect fill="#EEEEEE" height="3" style="stroke:#EEEEEE;stroke-width:1;" width="1344.9879" x="0" y="148.333"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1344.9879" y1="148.333" y2="148.333"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1344.9879" y1="151.333" y2="151.333"/><rect fill="#EEEEEE" height="25.706" style="stroke:#000000;stroke-width:2;" width="137.8121" x="603.5879" y="136.4799"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="120.4321" x="609.5879" y="154.377">Launch Simulation</text><g class="message" data-participant-1="FS" data-participant-2="Stage"><polygon fill="#181818" points="411.4698,218.598,421.4698,222.598,411.4698,226.598,415.4698,222.598" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="145.3088" x2="417.4698" y1="222.598" y2="222.598"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="155.6882" x="152.3088" y="216.789">updateMotors(deltaTime)</text></g><g class="message" data-participant-1="FS" data-participant-2="FM"><polygon fill="#181818" points="560.5565,250.304,570.5565,254.304,560.5565,258.304,564.5565,254.304" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="145.3088" x2="566.5565" y1="254.304" y2="254.304"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="148.7201" x="152.3088" y="248.495">computeNetForce(State)</text></g><g class="message" data-participant-1="FM" data-participant-2="Rocket"><polygon fill="#181818" points="369.758,282.01,359.758,286.01,369.758,290.01,365.758,286.01" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="363.758" x2="571.5565" y1="286.01" y2="286.01"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="93.1581" x="375.758" y="280.201">query mass/CG</text></g><g class="message" data-participant-1="FM" data-participant-2="Env"><polygon fill="#181818" points="720.4196,313.716,730.4196,317.716,720.4196,321.716,724.4196,317.716" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="572.5565" x2="726.4196" y1="317.716" y2="317.716"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="135.8631" x="579.5565" y="311.907">get air density, gravity</text></g><g class="message" data-participant-1="FM" data-participant-2="Motor"><polygon fill="#181818" points="497.2567,345.4221,487.2567,349.4221,497.2567,353.4221,493.2567,349.4221" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="491.2567" x2="571.5565" y1="349.4221" y2="349.4221"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="60.4501" x="503.2567" y="343.6131">get thrust</text></g><g class="message" data-participant-1="FS" data-participant-2="Integrator"><polygon fill="#181818" points="820.7473,377.1281,830.7473,381.1281,820.7473,385.1281,824.7473,381.1281" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="145.3088" x2="826.7473" y1="381.1281" y2="381.1281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="193.2712" x="152.3088" y="375.3191">step(State, netForce, deltaTime)</text></g><g class="message" data-participant-1="Integrator" data-participant-2="Rocket"><polygon fill="#181818" points="369.758,408.8341,359.758,412.8341,369.758,416.8341,365.758,412.8341" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="363.758" x2="831.7473" y1="412.8341" y2="412.8341"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="70.6421" x="375.758" y="407.0251">query mass</text></g><g class="message" data-participant-1="FS" data-participant-2="Rocket"><polygon fill="#181818" points="346.758,440.5401,356.758,444.5401,346.758,448.5401,350.758,444.5401" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="145.3088" x2="352.758" y1="444.5401" y2="444.5401"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="137.5401" x="152.3088" y="438.7311">applyFlightState(State)</text></g><path d="M319.5961,459.5401 L381.8991,459.5401 L381.8991,469.2461 L371.8991,479.2461 L319.5961,479.2461 L319.5961,459.5401" fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="51.412" style="stroke:#000000;stroke-width:1.5;" width="921.042" x="319.5961" y="459.5401"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="17.303" x="334.5961" y="474.4371">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="346.9706" x="396.8991" y="473.299">[FS -> Rocket: check for burnout, apogee, recovery deployment]</text><g class="message" data-participant-1="Rocket" data-participant-2="RecoverySystem"><polygon fill="#181818" points="1157.9903,498.9521,1167.9903,502.9521,1157.9903,506.9521,1161.9903,502.9521" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="358.758" x2="1163.9903" y1="502.9521" y2="502.9521"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="169.0782" x="365.758" y="497.1431">checkDeploymentCondition</text></g><rect fill="#EEEEEE" height="3" style="stroke:#EEEEEE;stroke-width:1;" width="1344.9879" x="0" y="539.8052"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1344.9879" y1="539.8052" y2="539.8052"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1344.9879" y1="542.8052" y2="542.8052"/><rect fill="#EEEEEE" height="25.706" style="stroke:#000000;stroke-width:2;" width="69.6531" x="637.6674" y="527.9521"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="52.2731" x="643.6674" y="545.8492">Landing</text><g class="message" data-participant-1="FS" data-participant-2="FlightState"><polygon fill="#181818" points="1270.813,583.3642,1280.813,587.3642,1270.813,591.3642,1274.813,587.3642" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="145.3088" x2="1276.813" y1="587.3642" y2="587.3642"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="261.8202" x="152.3088" y="581.5552">detect low altitude and low vertical velocity</text></g><path d="M19,600.3642 L19,627.3642 L269,627.3642 L269,610.3642 L259,600.3642 L19,600.3642" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M259,600.3642 L259,610.3642 L269,610.3642 L259,600.3642" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="229.9702" x="25" y="619.2612">End simulation after landing detected</text><!--SRC=[RLFBRjmm3BpxAuYSDi0MlHlONj8uA507GTmVK6N6AqIML8dUmdzVwh5hUL6VACsGCoHb9pmfgPmm10-TLjEP1ZKlMf3r3o02T4FZQiwxbPz82ShX7Xv8J9ZG5Et1tbwhfcWFTjPB3BqTKMVXVey_culorineiZgVzuGVXd3oD-FRyKudDqc2RZxfpkSxIdj1lmvh89nph-MgQKud-2aM8y_mvf7J12bhu7HgkW6-V2j3QS4b4BchB7Z0pVzZNQMCknJHrZe8snMf6O5TkD00VraZZRQ5nOriFOqo77Xi97un-x4YTdqBqivk8Nn5IXC-f7uBgQyT_rcuFvX525-VNYgS1zt2X0H2UHZH14Nh4NYq5mugNZAIcNJsIw3AoBQCDdMJNHp155T7kFE_9VpVObNx2Whdz5fjzzffeWfDTtHvHla97opmU_76BdJa2dP2zkBBijcKqtQDAqj5ScegidiXfTZt6_l9cb75_JLenh9ilZ7Jzaugeoth44e2RVz6eugM4O4JqWNByCiKcWDjPHoviOGGvUFF6NqzCxLwC-A36DD5CTV6CLg1cFeF]--></g></svg> |