mirror of
https://sharelatex.tu-darmstadt.de/git/681e0e7a3a9c7c9c6b8bb298
synced 2026-02-04 03:07:43 +00:00
1 line
17 KiB
XML
1 line
17 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" data-diagram-type="CLASS" height="999px" preserveAspectRatio="none" style="width:522px;height:999px;" version="1.1" viewBox="0 0 522 999" width="522px" zoomAndPan="magnify"><defs/><g><!--class PcscLink--><g class="entity" data-entity="PcscLink" data-source-line="9" data-uid="ent0002" id="entity_PcscLink"><rect fill="#F1F1F1" height="227.2656" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="280.8848" x="112.63" y="418.56"/><ellipse cx="218.922" cy="434.56" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M221.8907,440.2006 Q221.3126,440.4975 220.672,440.6381 Q220.0314,440.7944 219.3282,440.7944 Q216.8282,440.7944 215.5001,439.1538 Q214.1876,437.4975 214.1876,434.3725 Q214.1876,431.2475 215.5001,429.5913 Q216.8282,427.935 219.3282,427.935 Q220.0314,427.935 220.672,428.0913 Q221.3282,428.2475 221.8907,428.5444 L221.8907,431.2631 Q221.2657,430.685 220.672,430.4194 Q220.0782,430.1381 219.4532,430.1381 Q218.1095,430.1381 217.422,431.2163 Q216.7345,432.2788 216.7345,434.3725 Q216.7345,436.4663 217.422,437.5444 Q218.1095,438.6069 219.4532,438.6069 Q220.0782,438.6069 220.672,438.3413 Q221.2657,438.06 221.8907,437.4819 L221.8907,440.2006 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="59.8008" x="239.422" y="439.4067">PcscLink</text><line style="stroke:#181818;stroke-width:0.5;" x1="113.63" x2="392.5148" y1="450.56" y2="450.56"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="230.3369" x="118.63" y="467.5551">-pcsc_device : PCSCReader</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="268.1875" x="118.63" y="483.852">-card_connection : CardConnection</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="268.8848" x="118.63" y="500.1489">-mutation_engine : MutationEngine</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="265.002" x="118.63" y="516.4457">-recorder : OperationRecorder</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="171.5273" x="118.63" y="532.7426">-apdu_data_size : int</text><line style="stroke:#181818;stroke-width:0.5;" x1="113.63" x2="392.5148" y1="540.0444" y2="540.0444"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78.4629" x="118.63" y="557.0395">+connect()</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98.5332" x="118.63" y="573.3364">+disconnect()</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116.2314" x="118.63" y="589.6332">+wait_for_card()</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104.624" x="118.63" y="605.9301">+get_atr() : str</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95.457" x="118.63" y="622.227">+send_tpdu()</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="205.6455" x="118.63" y="638.5239">+send_apdu_with_mutation()</text></g><!--class MutationEngine--><g class="entity" data-entity="MutationEngine" data-source-line="24" data-uid="ent0003" id="entity_MutationEngine"><rect fill="#F1F1F1" height="80.5938" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="220.1543" x="7" y="722.12"/><ellipse cx="57.9175" cy="738.12" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M58.0269,733.4638 L56.8706,738.5419 L59.1987,738.5419 L58.0269,733.4638 Z M56.5425,731.2294 L59.5269,731.2294 L62.8862,743.62 L60.4331,743.62 L59.6675,740.5575 L56.3862,740.5575 L55.6362,743.62 L53.1987,743.62 L56.5425,731.2294 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="109.8193" x="78.4175" y="742.9667">MutationEngine</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="226.1543" y1="754.12" y2="754.12"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="148.9551" x="13" y="771.1151">-mutation_rate : float</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="226.1543" y1="778.4169" y2="778.4169"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="208.1543" x="13" y="795.412">+mutate(apdu) : APDUPacket</text></g><!--class MutationRecording--><g class="entity" data-entity="MutationRecording" data-source-line="29" data-uid="ent0004" id="entity_MutationRecording"><rect fill="#F1F1F1" height="113.1875" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="229.5674" x="274.29" y="879.01"/><ellipse cx="318.4653" cy="895.01" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M321.434,900.6506 Q320.8559,900.9475 320.2153,901.0881 Q319.5747,901.2444 318.8715,901.2444 Q316.3715,901.2444 315.0434,899.6038 Q313.7309,897.9475 313.7309,894.8225 Q313.7309,891.6975 315.0434,890.0413 Q316.3715,888.385 318.8715,888.385 Q319.5747,888.385 320.2153,888.5413 Q320.8715,888.6975 321.434,888.9944 L321.434,891.7131 Q320.809,891.135 320.2153,890.8694 Q319.6215,890.5881 318.9965,890.5881 Q317.6528,890.5881 316.9653,891.6663 Q316.2778,892.7288 316.2778,894.8225 Q316.2778,896.9163 316.9653,897.9944 Q317.6528,899.0569 318.9965,899.0569 Q319.6215,899.0569 320.2153,898.7913 Q320.809,898.51 321.434,897.9319 L321.434,900.6506 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="132.7334" x="338.9487" y="899.8567">MutationRecording</text><line style="stroke:#181818;stroke-width:0.5;" x1="275.29" x2="502.8574" y1="911.01" y2="911.01"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="205.8779" x="280.29" y="928.0051">+original_apdu : APDUPacket</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="217.5674" x="280.29" y="944.302">+mutated_apdu : APDUPacket</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="142.4268" x="280.29" y="960.5989">+response_sw : str</text><line style="stroke:#181818;stroke-width:0.5;" x1="275.29" x2="502.8574" y1="967.9006" y2="967.9006"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100.8164" x="280.29" y="984.8957">+is_different()</text></g><!--class OperationRecorder--><g class="entity" data-entity="OperationRecorder" data-source-line="36" data-uid="ent0005" id="entity_OperationRecorder"><rect fill="#F1F1F1" height="113.1875" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="253.5752" x="262.29" y="705.82"/><ellipse cx="318.184" cy="721.82" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M321.1528,727.4606 Q320.5747,727.7575 319.934,727.8981 Q319.2934,728.0544 318.5903,728.0544 Q316.0903,728.0544 314.7622,726.4138 Q313.4497,724.7575 313.4497,721.6325 Q313.4497,718.5075 314.7622,716.8513 Q316.0903,715.195 318.5903,715.195 Q319.2934,715.195 319.934,715.3513 Q320.5903,715.5075 321.1528,715.8044 L321.1528,718.5231 Q320.5278,717.945 319.934,717.6794 Q319.3403,717.3981 318.7153,717.3981 Q317.3715,717.3981 316.684,718.4763 Q315.9965,719.5388 315.9965,721.6325 Q315.9965,723.7263 316.684,724.8044 Q317.3715,725.8669 318.7153,725.8669 Q319.3403,725.8669 319.934,725.6013 Q320.5278,725.32 321.1528,724.7419 L321.1528,727.4606 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133.2871" x="338.684" y="726.6667">OperationRecorder</text><line style="stroke:#181818;stroke-width:0.5;" x1="263.29" x2="514.8652" y1="737.82" y2="737.82"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="241.5752" x="268.29" y="754.8151">-current_node : MutationTreeNode</text><line style="stroke:#181818;stroke-width:0.5;" x1="263.29" x2="514.8652" y1="762.1169" y2="762.1169"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="67.9287" x="268.29" y="779.112">+record()</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="154.3008" x="268.29" y="795.4089">+get_next_mutation()</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84.3896" x="268.29" y="811.7057">+compare()</text></g><!--class Application--><g class="entity" data-entity="Application" data-source-line="44" data-uid="ent0006" id="entity_Application"><rect fill="#F1F1F1" height="113.1875" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="115.2295" x="251.46" y="245.37"/><ellipse cx="268.7126" cy="261.37" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M268.822,256.7138 L267.6658,261.7919 L269.9939,261.7919 L268.822,256.7138 Z M267.3376,254.4794 L270.322,254.4794 L273.6814,266.87 L271.2283,266.87 L270.4626,263.8075 L267.1814,263.8075 L266.4314,266.87 L263.9939,266.87 L267.3376,254.4794 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="78.2236" x="283.2132" y="266.2167">Application</text><line style="stroke:#181818;stroke-width:0.5;" x1="252.46" x2="365.6895" y1="277.37" y2="277.37"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103.2295" x="257.46" y="294.3651">-link : PcscLink</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63.0137" x="257.46" y="310.662">-aid : str</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95.3613" x="257.46" y="326.9589">-cla_byte : int</text><line style="stroke:#181818;stroke-width:0.5;" x1="252.46" x2="365.6895" y1="334.2606" y2="334.2606"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="96.9063" x="257.46" y="351.2557">+store_data()</text></g><!--class Card--><g class="entity" data-entity="Card" data-source-line="52" data-uid="ent0007" id="entity_Card"><rect fill="#F1F1F1" height="178.375" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="335.9893" x="85.08" y="7"/><ellipse cx="232.3261" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"/><path d="M235.2948,28.6406 Q234.7167,28.9375 234.0761,29.0781 Q233.4355,29.2344 232.7323,29.2344 Q230.2323,29.2344 228.9042,27.5938 Q227.5917,25.9375 227.5917,22.8125 Q227.5917,19.6875 228.9042,18.0313 Q230.2323,16.375 232.7323,16.375 Q233.4355,16.375 234.0761,16.5313 Q234.7323,16.6875 235.2948,16.9844 L235.2948,19.7031 Q234.6698,19.125 234.0761,18.8594 Q233.4823,18.5781 232.8573,18.5781 Q231.5136,18.5781 230.8261,19.6563 Q230.1386,20.7188 230.1386,22.8125 Q230.1386,24.9063 230.8261,25.9844 Q231.5136,27.0469 232.8573,27.0469 Q233.4823,27.0469 234.0761,26.7813 Q234.6698,26.5 235.2948,25.9219 L235.2948,28.6406 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32.9971" x="252.8261" y="27.8467">Card</text><line style="stroke:#181818;stroke-width:0.5;" x1="86.08" x2="420.0693" y1="39" y2="39"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103.2295" x="91.08" y="55.9951">-link : PcscLink</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="234.5" x="91.08" y="72.292">-commands : SimCardCommands</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="323.9893" x="91.08" y="88.5889">-supported_applications : dict[str, Application]</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="249.1152" x="91.08" y="104.8857">-selected_application : Application</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85.0186" x="91.08" y="121.1826">-isd_r : ISDR</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="114.6045" x="91.08" y="137.4795">-ecas_d : ECASD</text><line style="stroke:#181818;stroke-width:0.5;" x1="86.08" x2="420.0693" y1="144.7813" y2="144.7813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="93.6455" x="91.08" y="161.7764">+select_adf()</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="148.4766" x="91.08" y="178.0732">+select_application()</text></g><!--reverse link Card to PcscLink--><g class="link" data-entity-1="Card" data-entity-2="PcscLink" data-source-line="63" data-uid="lnk8" id="link_Card_PcscLink"><path codeLine="63" d="M182.05,197.73 C182.05,265.02 182.05,345.69 182.05,418.26" fill="none" id="Card-backto-PcscLink" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="182.05,185.73,178.05,191.73,182.05,197.73,186.05,191.73,182.05,185.73" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8.271" x="169.2526" y="407.5519">1</text></g><!--reverse link Card to Application--><g class="link" data-entity-1="Card" data-entity-2="Application" data-source-line="64" data-uid="lnk9" id="link_Card_Application"><path codeLine="64" d="M309.08,197.84 C309.08,217.88 309.08,226.6 309.08,244.89" fill="none" id="Card-backto-Application" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="309.08,185.84,305.08,191.84,309.08,197.84,313.08,191.84,309.08,185.84" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="6.5" x="302.7626" y="234.4982">*</text></g><!--reverse link Application to PcscLink--><g class="link" data-entity-1="Application" data-entity-2="PcscLink" data-source-line="65" data-uid="lnk10" id="link_Application_PcscLink"><path codeLine="65" d="M309.08,370.88 C309.08,388.98 309.08,397.7 309.08,418.36" fill="none" id="Application-backto-PcscLink" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="309.08,358.88,305.08,364.88,309.08,370.88,313.08,364.88,309.08,358.88" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8.271" x="304.4204" y="407.6583">1</text></g><!--reverse link PcscLink to MutationEngine--><g class="link" data-entity-1="PcscLink" data-entity-2="MutationEngine" data-source-line="66" data-uid="lnk11" id="link_PcscLink_MutationEngine"><path codeLine="66" d="M169.89,658.29 C169.89,685.32 169.89,700.42 169.89,721.63" fill="none" id="PcscLink-backto-MutationEngine" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="169.89,646.29,165.89,652.29,169.89,658.29,173.89,652.29,169.89,646.29" style="stroke:#181818;stroke-width:1;"/></g><!--reverse link PcscLink to OperationRecorder--><g class="link" data-entity-1="PcscLink" data-entity-2="OperationRecorder" data-source-line="67" data-uid="lnk12" id="link_PcscLink_OperationRecorder"><path codeLine="67" d="M327.9,658.29 C327.9,678.87 327.9,687.49 327.9,705.53" fill="none" id="PcscLink-backto-OperationRecorder" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="327.9,646.29,323.9,652.29,327.9,658.29,331.9,652.29,327.9,646.29" style="stroke:#181818;stroke-width:1;"/></g><!--link OperationRecorder to MutationRecording--><g class="link" data-entity-1="OperationRecorder" data-entity-2="MutationRecording" data-source-line="68" data-uid="lnk13" id="link_OperationRecorder_MutationRecording"><path codeLine="68" d="M389.08,819.13 C389.08,838.26 389.08,853.62 389.08,872.77" fill="none" id="OperationRecorder-to-MutationRecording" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="389.08,878.77,393.08,869.77,389.08,873.77,385.08,869.77,389.08,878.77" style="stroke:#181818;stroke-width:1;"/></g><!--SRC=[ZLHDZnCn3BtFhuZsGdTB1LptW5Hrzx0I7rKB9uGYDt6xKQV9A74f1V7VSPBvoBHQH2wZiL_ivsSxOMzi0nuEGjKGmfp8cysHy4avkpQ_KBojGWzfGErXXsiwroWyAWAxgx40X6VGxcJiJcoX3gMdDXRftA1mdfvTHQuHvCJ64Rc3q2O6CyvMrIinwuyW3pOqVACmLbKYAfOgg0_6xiNlIl2PDVmlDVum2aL_xiLoiLwi43Jw35FWjUJQR4xOmHPiNlJM33qS2UAVHBjZzXtqOsj-JDOCPVhESmvHddlnkK6ViAlMdz7GwAFKG213LBX36ql9FstfJMxphpRXmd82GtBhl8pLTCOTaWJoariE5IYdcWQqMXBdwr39a0YS33tBhaPs_xaGltE9DoAN5zjQz266Wmrd0aLvU2waQJiprfBrG2QuhHrGxvucDquYhqX_ldpukkHPmmnXPl4pph7gEGrffiuRpWnrgl0wK94hYo1Um7ZaiRC1PJYbrdHw9gS9Kflj5ZtQhYCZXbTTBuLGHn_lIUiq5iFqnID-ObD98Lvku_SDjlYJogRrJkKEl6Wuy1dr4fgcDYgtiuOpK_ft8-S5lY1VntsxxrTlS83HbpBDE9BSd5EtkydE4qZEOnh_5yZ6eRxabsd5BVqlFgp60QmEx5oRGrxkR1amuTZ4foLDGbzjlA6DeczSokjIXk_5HQnv5yVtqfGKy05jWfQUdK_hXzLWHGKyHMn-NCpN3uKuARO4lIsRsrc7-Brq8-LOP_IpzfNchQtRcWenauH2t37wvjtD85rhTz5-TpCgfHo6gtlzCvnS5s_Zs7dz6bvlocps_dh3_m80]--></g></svg> |