📄 index-1.html.htm
字号:
touch lib/parser-smi.lo lib/parser-smi.ymakemake install</tt></pre><p> Refer to the <a href="download.xml" tppabs="http://www.ibr.cs.tu-bs.de/projects/libsmi/download.xml">download</a> section for further instructions. </p><p> If you cannot or don't want to compile and install the <em>libsmi</em> software on your own computer, you can use a web interface which generates SVG diagrams. See below. </p><h2>Invocation</h2><p> The general invocation of smidump is described in the <a href="smidump.html" tppabs="http://www.ibr.cs.tu-bs.de/projects/libsmi/smidump.html">manpage</a>. To generate SVG diagrams invoke smidump with the option <tt>-f svg</tt>. As the XML output goes to stdout, it is highly recommended to redirect stdout into a file. If you specify multiple module arguments you should use the option <tt>-u</tt>, otherwise your generated XML file will be invalid. Here are two basic examples: </p><pre><tt>smidump -f svg ./IF-MIB > IF-MIB.svgsmidump -u -f svg ./IF-MIB ./IF-INVERTED-STACK-MIB > IF-MIB-IF-INVERTED-STACK-MIB.svg</tt></pre><p> The SVG output driver understands the following options: <table summary=""><tr align="left"><td><tt>--svg-width=number</tt></td><td> Width of the SVG output (default=1100) </td></tr><tr align="left"><td><tt>--svg-height=number</tt></td><td> Height of the SVG output (default=700) </td></tr><tr align="left"><td><tt>--svg-show-deprecated</tt></td><td> Show deprecated objects </td></tr><tr align="left"><td><tt>--svg-show-depr-obsolete</tt></td><td> Show deprecated and obsolete objects </td></tr><tr align="left"><td><tt>--svg-static-output</tt></td><td> Disable all interactivity (e.g. for printing) </td></tr></table></p><p> Enhanced examples could look like this: </p><pre><tt>smidump -f svg --svg-static-output --svg-show-depr-obsolete ./IF-MIB > IF-MIB.svgsmidump -f svg --svg-width=800 --svg-height=600 ./IF-MIB > IF-MIB.svg</tt></pre><h2>SVG Diagram</h2><p> A sample output of <tt>smidump -f svg ETHER-WIS</tt> would look like this: </p><img src="etherwis.jpg" tppabs="http://www.ibr.cs.tu-bs.de/projects/libsmi/svg/etherwis.jpg" alt="ETHER-WIS SVG diagram"><p> On the left side the UML class diagram of the MIB modules, which is generated by the reverse engineering algorithm, is displayed. There is a UML class for each conceptual row definition in the MIB modules. These are organized as follows: </p><ul><li> The name of the UML class is taken from the row definition and printed in the first section. The gray rectangle at the left side is used as the handle for dragging the class with the mouse. When the mouse is moved over the class name a tooltip containing the descriptions of the table and the entries appears. </li><li> A second (optional) section shows the scalar objects which are associated with the respective UML class. (None of the classes in the example has objects in this section, so they are omitted.) </li><li> In the third section all objects are presented which are listed in the INDEX clause of the row definition. </li><li> The last section contains all objects of which the conceptual row consist. Hence index objects which are defined in the same table appear in the last two sections. </li></ul><p> In the latter three sections each entry shows the name of an object and its type. If the object is not-accessible it is preceded by a <tt>-</tt>, otherwise by a <tt>+</tt>. When the mouse is moved over the object name or the type a tooltip shows the appropriate description. An objects which is printed in <span style="color:blue">blue</span> color represents a links to new a SVG diagram showing the MIBs currently displayed and the MIB in which the object is defined. </p><p> All scalar objects which are not bound to a conceptual row are logically grouped into additional UML classes which only contain these scalar objects. (There is no such class in the example.) </p><p> In addition to the unlabeled edges shown in the example there are 4 types of labeled edges: augments, sparsly augments, reorders and expands. The meanings of these labels are explained in the <a href="javascript:if(confirm('http://www.ibr.cs.tu-bs.de/vs/papers/im-2001.pdf \n\n该文件未被 Teleport Pro 下载,因为 它位于起始地址以设置的边界以外的域或路径中。 \n\n你想要从服务器打开它吗?'))window.location='http://www.ibr.cs.tu-bs.de/vs/papers/im-2001.pdf'" tppabs="http://www.ibr.cs.tu-bs.de/vs/papers/im-2001.pdf">paper</a> mentioned above. Each labeled edge also comes with cardinalities and arrowheads. Dashed edges are so called <tt>dependency relationships</tt>. </p><p> On the right side varios additional information about the modules are shown: </p><ul><li> In the <em>Modules</em> section the displayed modules are listed with their revision history. The descriptions of the module and the revisions appear as tooltips when the mouse is moved over the entries. </li><li> The next section <em>Notifications</em> contains the notification-type objects defined in the modules. In addition to a tooltip with the description of the notification all corresponding objects are highlighted in the class diagram when the mouse is moved over the entries. If an entry is clicked by the mouse the highlighted objects remain colored, until the object gets clicked again. (This section is not present in our example.) </li><li> Nearly the same applies to the <em>Object Groups</em> section, but there are the object-group objects listed. </li><li> The <em>Notification Groups</em> section is made the same way as the two above, the only difference is, that not only the objects in the class diagram are highlighted, but the notification in the second section as well. (Again, this section is not present in our example.) </li><li> The last section shows the defined <em>Compliance Statements</em>. For every statement all corresponding Modules are listed with all mandatory groups, groups and objects. Mouseover effects are programmed for the compliance name and the mandatory groups, groups and objects in a similar way as in the preceding sections. Again, these texts can be clicked. If a compliance refers to a module which is not displayed, a link (in <span style="color:blue">blue</span> color) to a new diagram with all shown modules and the new one is provided. </li></ul><h2>Web Interface</h2><p> As mentioned above a <a href="javascript:if(confirm('http://www.ibr.cs.tu-bs.de/bin/mib2svg.cgi \n\n该文件未被 Teleport Pro 下载,因为 它位于起始地址以设置的边界以外的域或路径中。 \n\n你想要从服务器打开它吗?'))window.location='http://www.ibr.cs.tu-bs.de/bin/mib2svg.cgi'" tppabs="http://www.ibr.cs.tu-bs.de/bin/mib2svg.cgi">web interface</a> to smidump is provided. It gives an easy to use alternative to generate SVG diagrams in an interactive manner. Within the interface you can select multiple MIBs which come with the <em>libsmi</em> distribution. Additional you can upload a MIB from your computer which will then be used as input for smidump. Furthermore all the options described above in the invocation section can be selected by text fields, radio buttons or check boxes. </p><hr><p> Mail comments and suggestions to the <a href="mailinglist.html" tppabs="http://www.ibr.cs.tu-bs.de/projects/libsmi/mailinglist.html"><em>libsmi</em> mailing list</a>: <a href="mailto:libsmi%20at%20ibr.cs.tu-bs.de">libsmi at ibr.cs.tu-bs.de</a>. </p></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -