<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [ <!ATTLIST svg xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"> ]> <!-- Created with Sodipodi ("http://www.sodipodi.com/") --> <svg id="svg1" sodipodi:version="0.30.1" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:xlink="http://www.w3.org/1999/xlink" width="210mm" height="297mm" sodipodi:docbase="/home/mcr70/projects/jiapi2/docs/" sodipodi:docname="/home/mcr70/projects/jiapi2/docs/jiapi2.svg"> <defs id="defs3" /> <sodipodi:namedview id="base" showgrid="true" snaptogrid="false" snaptoguides="true" /> <path sodipodi:type="arc" style="fill-rule:evenodd;stroke:#000000;fill:none;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" id="path132" d="M 486.250000 606.737122 A 64.375015 46.875000 0 1 0 357.500000,606.737122 A 64.375 46.875 0 1 0 486.25 606.737 L 421.875000 606.737122 z" sodipodi:cx="421.875000" sodipodi:cy="606.737122" sodipodi:rx="64.375015" sodipodi:ry="46.875000" transform="matrix(0.961165,0,0,0.44,229.062,50.6659)" /> <text style="fill:black;stroke:none;font-family:helvetica;font-style:normal;font-weight:normal;font-size:12px;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" x="602.321" y="319.594" id="text133"> <tspan id="tspan134"> byte source</tspan> </text> <g id="g156" transform="translate(158.75,-192.5)"> <text style="fill:black;stroke:none;font-family:helvetica;font-style:normal;font-weight:normal;font-size:12px;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" x="270.000031" y="517.362122" id="text136"> <tspan id="tspan137"> ClassFile</tspan> </text> <path sodipodi:type="arc" style="fill-rule:evenodd;stroke:#000000;fill:none;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" id="path152" d="M 192.500000 566.737122 A 43.124996 33.125000 0 1 0 106.250000,566.737122 A 43.125 33.125 0 1 0 192.5 566.737 L 149.375000 566.737122 z" sodipodi:cx="149.375000" sodipodi:cy="566.737122" sodipodi:rx="43.124996" sodipodi:ry="33.125000" transform="matrix(0.84058,0,0,0.754717,166.938,87.136)" /> </g> <g id="g161" transform="translate(71.25,-197.5)"> <text style="fill:black;stroke:none;font-family:helvetica;font-style:normal;font-weight:normal;font-size:12px;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" x="291.250031" y="581.112122" id="text139"> <tspan id="tspan140"> ConstantPool</tspan> </text> <path sodipodi:type="arc" style="fill-rule:evenodd;stroke:#000000;fill:none;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" id="path151" d="M 192.500000 566.737122 A 43.124996 33.125000 0 1 0 106.250000,566.737122 A 43.125 33.125 0 1 0 192.5 566.737 L 149.375000 566.737122 z" sodipodi:cx="149.375000" sodipodi:cy="566.737122" sodipodi:rx="43.124996" sodipodi:ry="33.125000" transform="matrix(0.84058,0,0,0.754717,200.688,150.886)" /> </g> <g id="g166" transform="translate(1.25,-83.75)"> <text style="fill:black;stroke:none;font-family:helvetica;font-style:normal;font-weight:normal;font-size:12px;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" x="400.000031" y="544.862122" id="text142"> <tspan id="tspan143"> Method</tspan> </text> <path sodipodi:type="arc" style="fill-rule:evenodd;stroke:#000000;fill:none;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" id="path153" d="M 192.500000 566.737122 A 43.124996 33.125000 0 1 0 106.250000,566.737122 A 43.125 33.125 0 1 0 192.5 566.737 L 149.375000 566.737122 z" sodipodi:cx="149.375000" sodipodi:cy="566.737122" sodipodi:rx="43.124996" sodipodi:ry="33.125000" transform="matrix(0.84058,0,0,0.754717,295.688,114.636)" /> </g> <g id="g171" transform="translate(-36.25,-140)"> <text style="fill:black;stroke:none;font-family:helvetica;font-style:normal;font-weight:normal;font-size:12px;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" x="515" y="584.862" id="text145"> <tspan id="tspan146"> Field</tspan> </text> <path sodipodi:type="arc" style="fill-rule:evenodd;stroke:#000000;fill:none;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" id="path154" d="M 192.500000 566.737122 A 43.124996 33.125000 0 1 0 106.250000,566.737122 A 43.125 33.125 0 1 0 192.5 566.737 L 149.375000 566.737122 z" sodipodi:cx="149.375000" sodipodi:cy="566.737122" sodipodi:rx="43.124996" sodipodi:ry="33.125000" transform="matrix(0.84058,0,0,0.754717,403.188,153.386)" /> </g> <g id="g176" transform="translate(26.0714,-256.429)"> <text style="fill:black;stroke:none;font-family:helvetica;font-style:normal;font-weight:normal;font-size:12px;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" x="473.75" y="652.362" id="text148"> <tspan id="tspan149"> Interface</tspan> </text> <path sodipodi:type="arc" style="fill-rule:evenodd;stroke:#000000;fill:none;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" id="path155" d="M 192.500000 566.737122 A 43.124996 33.125000 0 1 0 106.250000,566.737122 A 43.125 33.125 0 1 0 192.5 566.737 L 149.375000 566.737122 z" sodipodi:cx="149.375000" sodipodi:cy="566.737122" sodipodi:rx="43.124996" sodipodi:ry="33.125000" transform="matrix(0.84058,0,0,0.754717,370.688,222.136)" /> </g> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;" d="M 429.464 342.987 L 418.304 360.398 " id="path194" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;" d="M 446.429 347.451 L 426.786 433.612 " id="path195" sodipodi:nodetypes="cc" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;" d="M 460.268 347.005 L 477.679 417.541 " id="path196" sodipodi:nodetypes="cc" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;" d="M 475 341.648 L 499.554 373.791 " id="path197" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;" d="M 487.5 322.898 L 572.768 317.541 " id="path198" /> <g id="g227" transform="translate(-11.25,-237.5)"> <text style="font-size:12;font-weight:normal;stroke-width:1pt;font-family:helvetica;" x="291.250031" y="581.112122" id="text210" transform="translate(-126.25,-18.75)"> <tspan id="tspan211"> JiapiClass</tspan> </text> <path sodipodi:type="arc" style="font-size:12;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;" id="path213" d="M 192.500000 566.737122 A 43.124996 33.125000 0 1 0 106.250000,566.737122 A 43.125 33.125 0 1 0 192.5 566.737 L 149.375000 566.737122 z" sodipodi:cx="149.375000" sodipodi:cy="566.737122" sodipodi:rx="43.124996" sodipodi:ry="33.125000" transform="matrix(0.84058,0,0,0.754717,64.438,130.886)" /> </g> <g id="g232" transform="translate(-39.2938,-257.578)"> <text style="fill:black;stroke:none;font-family:helvetica;font-style:normal;font-weight:normal;font-size:12px;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" x="173.750000" y="664.862183" id="text221"> <tspan id="tspan222"> JiapiMethod</tspan> </text> <path sodipodi:type="arc" style="font-size:12;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;" id="path224" d="M 192.500000 566.737122 A 43.124996 33.125000 0 1 0 106.250000,566.737122 A 43.125 33.125 0 1 0 192.5 566.737 L 149.375000 566.737122 z" sodipodi:cx="149.375000" sodipodi:cy="566.737122" sodipodi:rx="43.124996" sodipodi:ry="33.125000" transform="matrix(0.84058,0,0,0.754717,81.938,233.386)" /> </g> <g id="g237" transform="translate(-32.5,-206.25)"> <text style="fill:black;stroke:none;font-family:helvetica;font-style:normal;font-weight:normal;font-size:12px;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" x="278.750031" y="628.612183" id="text218"> <tspan id="tspan219"> JiapiField</tspan> </text> <path sodipodi:type="arc" style="font-size:12;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;" id="path225" d="M 192.500000 566.737122 A 43.124996 33.125000 0 1 0 106.250000,566.737122 A 43.125 33.125 0 1 0 192.5 566.737 L 149.375000 566.737122 z" sodipodi:cx="149.375000" sodipodi:cy="566.737122" sodipodi:rx="43.124996" sodipodi:ry="33.125000" transform="matrix(0.84058,0,0,0.754717,178.188,197.136)" /> </g> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;" d="M 178.796 346.293 L 175.18 377.578 " id="path242" sodipodi:nodetypes="cc" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;" d="M 205.268 338.915 L 250.835 398.369 " id="path243" /> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;" d="M 215.249 320.689 L 415.309 320.689 " id="path244" /> <g id="g262"> <g id="g199" transform="translate(1.25,2.49997)"> <rect style="font-size:12;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.689462pt;" id="rect124" width="201.250031" height="227.500031" x="358.750031" y="257.361893" /> <text style="fill:black;stroke:none;font-family:helvetica;font-style:normal;font-weight:normal;font-size:12px;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" x="365" y="274.862" id="text125"> <tspan id="tspan126"> alt.jiapi.file</tspan> </text> </g> <text style="fill:black;stroke:none;font-family:helvetica;font-style:normal;font-weight:normal;font-size:12px;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" x="380.954" y="508.774" id="text246"> <tspan id="tspan247"> Implements class file format</tspan> <tspan sodipodi:role="line" id="tspan249" x="380.954" y="520.774"> specified in Java Virtual Machine</tspan> <tspan sodipodi:role="line" id="tspan251" x="380.954" y="532.774"> Specification</tspan> </text> </g> <g id="g275"> <g id="g204" transform="translate(5,9.99997)"> <rect style="font-size:12;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.689462pt;" id="rect128" width="201.250031" height="227.500031" x="110.000015" y="249.861862" /> <text style="fill:black;stroke:none;font-family:helvetica;font-style:normal;font-weight:normal;font-size:12px;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" x="117.5" y="266.112" id="text129"> <tspan id="tspan130"> alt.jiapi.reflect</tspan> </text> </g> <text style="fill:black;stroke:none;font-family:helvetica;font-style:normal;font-weight:normal;font-size:12px;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" x="137.886" y="508.774" id="text253"> <tspan id="tspan254"> Models java class files like</tspan> <tspan sodipodi:role="line" id="tspan256" x="137.886" y="520.774"> java.lang.reflect package does,</tspan> <tspan sodipodi:role="line" id="tspan258" x="137.886" y="532.774"> adding API to modify classes</tspan> </text> </g> <text style="fill:black;stroke:none;font-family:helvetica;font-style:normal;font-weight:normal;font-size:12px;fill-opacity:1;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;" x="71.5946" y="212.673" id="text288"> <tspan id="tspan289"> Conseptual model of Jiapi2</tspan> </text> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1.25;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;stroke-dasharray:2.5,2.5;stroke-dashoffset:0;" d="M 300.52 223.279 C 359.446 170.541 408.649 166.416 479.949 187.04 " id="path295" sodipodi:nodetypes="cc" /> <g id="g307" transform="translate(-18.5616,-111.369)"> <text style="font-size:12;font-weight:normal;stroke-width:1pt;font-family:helvetica;" x="191.909" y="569.034" id="text297"> <tspan id="tspan298"> Instruction</tspan> <tspan sodipodi:role="line" id="tspan305" x="191.909" y="581.034"> List</tspan> </text> <path sodipodi:type="arc" style="font-size:12;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;" id="path300" d="M 192.500000 566.737122 A 43.124996 33.125000 0 1 0 106.250000,566.737122 A 43.125 33.125 0 1 0 192.5 566.737 L 149.375000 566.737122 z" sodipodi:cx="149.375000" sodipodi:cy="566.737122" sodipodi:rx="43.124996" sodipodi:ry="33.125000" transform="matrix(0.84058,0,0,0.754717,93.0256,143.746)" /> </g> <path style="fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-width:1pt;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;" d="M 181.196 427.456 L 185.616 437.179 " id="path314" /> </svg>