Browse Source

Add Use Cases and design UML diagram for El-Torito.

release-1.5.4.branch
Vreixo Formoso 14 years ago
parent
commit
98c7c50da1
  1. 15
      doc/devel/3. Use Cases
  2. 399
      doc/devel/UML/eltorito.violet
  3. BIN
      doc/devel/UML/eltorito.violet.png

15
doc/devel/3. Use Cases

@ -137,7 +137,20 @@ Phases:
3.2.3 Bootable information
--------------------------
[TODO]
- Addition of a boot image to a volume.
- In most cases, the catalog and the boot image itself is added to the
iso tree.
- Alternatively, user can select to add a hidden images, i.e., images
that don't appear in the iso tree.
- Modification of boot image attributes:
- bootable flag
- load segment
- load size
- Automatic patching of isolinux images. User needs to set whether to apply
this.
- Reading of El-Torito info from multisession images. Modification of its
attributes.
- Removing of El-Torito images
3.2.4 Other operations

399
doc/devel/UML/eltorito.violet

@ -0,0 +1,399 @@
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.6.0" class="java.beans.XMLDecoder">
<object class="com.horstmann.violet.ClassDiagramGraph">
<void method="addNode">
<object id="ClassNode0" class="com.horstmann.violet.ClassNode">
<void property="name">
<void property="text">
<string>Volume</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>731.0</double>
<double>193.0</double>
</void>
</object>
</void>
<void method="addNode">
<object id="ClassNode1" class="com.horstmann.violet.ClassNode">
<void property="name">
<void property="text">
<string>ElToritoCatalog</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>474.0</double>
<double>192.0</double>
</void>
</object>
</void>
<void method="addNode">
<object id="ClassNode2" class="com.horstmann.violet.ClassNode">
<void property="attributes">
<void property="text">
<string>bootable : bool
type : enum
partition_type : enum
load_seg : uint16
load_size : uint16
patch_isolinux : bool</string>
</void>
</void>
<void property="name">
<void property="text">
<string>BootImage</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>469.0</double>
<double>329.0</double>
</void>
</object>
</void>
<void method="addNode">
<object id="NoteNode0" class="com.horstmann.violet.NoteNode">
<void property="text">
<void property="text">
<string>In a future we can support several boot
images</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>666.0</double>
<double>301.0</double>
</void>
</object>
</void>
<void method="addNode">
<object id="ClassNode3" class="com.horstmann.violet.ClassNode">
<void property="attributes">
<void property="text">
<string>img : boolean</string>
</void>
</void>
<void property="name">
<void property="text">
<string>BootNode</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>186.0</double>
<double>186.0</double>
</void>
</object>
</void>
<void method="addNode">
<object class="com.horstmann.violet.PackageNode">
<void method="addChild">
<object id="ClassNode4" class="com.horstmann.violet.ClassNode">
<void property="name">
<void property="text">
<string>TreeNode</string>
</void>
</void>
</object>
</void>
<void property="name">
<string>iso_tree</string>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>180.0</double>
<double>40.0</double>
</void>
</object>
</void>
<void method="addNode">
<object idref="ClassNode4"/>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>193.0</double>
<double>69.0</double>
</void>
</object>
</void>
<void method="addNode">
<object id="NoteNode1" class="com.horstmann.violet.NoteNode">
<void property="text">
<void property="text">
<string>The img field is an implementation detail, used
to distinguish between the catalog node and the image
node. This is needed when the image is written.</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>347.0</double>
<double>82.0</double>
</void>
</object>
</void>
<void method="addNode">
<object id="ClassNode5" class="com.horstmann.violet.ClassNode">
<void property="attributes">
<void property="text">
<string>block : uint32_t</string>
</void>
</void>
<void property="name">
<void property="text">
<string>PreviousSessionImage</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>539.0</double>
<double>509.0</double>
</void>
</object>
</void>
<void method="addNode">
<object id="InterfaceNode0" class="com.horstmann.violet.InterfaceNode">
<void property="name">
<void property="text">
<string>«interface»
DataSource</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>746.5857864376269</double>
<double>511.3380951166248</double>
</void>
</object>
</void>
<void method="addNode">
<object id="ClassNode6" class="com.horstmann.violet.ClassNode">
<void property="attributes">
<void property="text">
<string>block : uint32_t</string>
</void>
</void>
<void property="name">
<void property="text">
<string>PreviousSessionCatalog</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>287.0</double>
<double>292.0</double>
</void>
</object>
</void>
<void method="addNode">
<object id="NoteNode2" class="com.horstmann.violet.NoteNode">
<void property="text">
<void property="text">
<string>The support for growing or modify El-Torito images
is really hard to implement. The reason: when the
image is hidden, we don&apos;t know its size, so the best we
can do is just refer to the old image. When modify, all
we can do may be wrong.</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>644.3271028254218</double>
<double>382.5643050695048</double>
</void>
</object>
</void>
<void method="addNode">
<object id="ClassNode7" class="com.horstmann.violet.ClassNode">
<void property="attributes">
<void property="text">
<string>path : char *</string>
</void>
</void>
<void property="name">
<void property="text">
<string>LocalImage</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>424.0</double>
<double>511.0</double>
</void>
</object>
</void>
<void method="addNode">
<object id="NoteNode3" class="com.horstmann.violet.NoteNode">
<void property="text">
<void property="text">
<string>Once we have support for all El-Torito features, namelly
multiple boot images, this type is not needed, the info
can be read and cached in a new catalog.</string>
</void>
</void>
</object>
<object class="java.awt.geom.Point2D$Double">
<void method="setLocation">
<double>52.325113060119634</double>
<double>434.0605969759931</double>
</void>
</object>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="HVH"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="V"/>
</void>
<void property="endLabel">
<string>1 image</string>
</void>
<void property="startArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="BLACK_DIAMOND"/>
</void>
</object>
<object idref="ClassNode1"/>
<object idref="ClassNode2"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.NoteEdge"/>
<object idref="ClassNode1"/>
<object idref="NoteNode0"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="VHV"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
</void>
</object>
<object idref="ClassNode3"/>
<object idref="ClassNode4"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="HVH"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="V"/>
</void>
<void property="endLabel">
<string>0..1 boot_cat</string>
</void>
</object>
<object idref="ClassNode0"/>
<object idref="ClassNode1"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="HVH"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="V"/>
</void>
<void property="endLabel">
<string>0..1 node</string>
</void>
</object>
<object idref="ClassNode1"/>
<object idref="ClassNode3"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.NoteEdge"/>
<object idref="ClassNode3"/>
<object idref="NoteNode1"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="HV"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="V"/>
</void>
<void property="endLabel">
<string>0..1 node</string>
</void>
</object>
<object idref="ClassNode2"/>
<object idref="ClassNode3"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="VHV"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
</void>
</object>
<object idref="ClassNode5"/>
<object idref="ClassNode2"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="V"/>
</void>
<void property="lineStyle">
<object class="com.horstmann.violet.LineStyle" field="DOTTED"/>
</void>
</object>
<object idref="ClassNode5"/>
<object idref="InterfaceNode0"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="VHV"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
</void>
</object>
<object idref="ClassNode6"/>
<object idref="ClassNode1"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.NoteEdge"/>
<object idref="ClassNode5"/>
<object idref="NoteNode2"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.ClassRelationshipEdge">
<void property="bentStyle">
<object class="com.horstmann.violet.BentStyle" field="VHV"/>
</void>
<void property="endArrowHead">
<object class="com.horstmann.violet.ArrowHead" field="TRIANGLE"/>
</void>
</object>
<object idref="ClassNode7"/>
<object idref="ClassNode2"/>
</void>
<void method="connect">
<object class="com.horstmann.violet.NoteEdge"/>
<object idref="ClassNode6"/>
<object idref="NoteNode3"/>
</void>
</object>
</java>

BIN
doc/devel/UML/eltorito.violet.png

After

Width: 935  |  Height: 535  |  Size: 21 KiB

Loading…
Cancel
Save