Lotos
- Logical Topology Simulator
-
This applet
visualizes the operation of the overlay protocols of HyperCast.
- The applet requires Java 1.4
or a later version.
- Instructions are provided below.
- Lotos can also be run as a
Java application (with additional features).
- A more detailed description
including a set of exercises can be found in a chapter of the design
document.
Instructions
Toolbar
The toolbar includes a series of buttons, that each display a pull down
menu when selected. The Speed field sets the speed of all mobile nodes
in terms of meters per second. The Multicast Hop Limit field sets the
range of broadcast messages in the underlay network, in terms of number
of hops traversed in the underlay network before a message
is dropped.
The buttons function as follows.
- Demo:
Displays a list of
pre-configured network topologies. The demo button gives the ability to
quickly run simulations. A simulation is run by selection a topology
from the pull down menu and then selecting Start. See Section 2 for
customizing the pull down menu menu.
- File:
Deals with saving and loading the substrate and logical
network setting displayed in the simulation window. The user can choose
to save/load only the substrate or logical network, or both. The
network is saved to an XML file with a user specified name. The button
is not displayed when the program is run as an Applet.
View: Sets display options of the overlay network. A user can choose to
zoom in, zoom out or scale the network to the size of the simulation
window. Also, it is possible to select the displayed items in the
simulation menu, by toggling checkboxes.
- Protocol:
Displays a list of available overlay protocols that can be
simulated. When a protocol on this menu is checked, the next node that
is created or activated will run the selected protocol. If some nodes
are selected using the Select/Move button, the selected nodes
(indicated by a red circle) change to the selected protocol.
Note:
Initially, when Lotos is started, no protocol is selected.
- Security:
Displays security modes that can be simulated by Lotos. When
a security setting on this menu is checked, the next node that is
created or activated will run the selected security setting. If some
nodes are selected using the Select/Move button, the selected nodes
(indicated by a red circle) change to the selected security setting.
- Mobility Mode: Chooses
the mobility mode of mobile wireless nodes added
to the network. Currently there is only one mobility mode is supported.
Simulation controls
The simulation control buttons control the progress of the simulation:
- Run/Pause: Starts
or pauses the simulation.
Simulation speed: Sets the speed of the simulation in terms of
simulated second per second of wall clock time.
- Go To Next Event:
Runs the simulation until the next event, e.g., until
a message is sent or received.
- Go To Next Frame: Moves
the simulation ahead by one displayed frame.
Restart: Resets the simulation clock to 0, and resets all protocol
nodes. The substrate network is not modified.
- Reset:
Resets simulation clock to 0 and clears the substrate network
and overlay nodes in the simulation window.
Node type selection
When a new node is created (with the Add
Nodes) function, the selected node type is created. The following
settings
are available:
- Static Wired: Selects
a wireline node. A wireline node must be
connected to other wireline nodes by a link (as is done with the Add
Link function).
- Static Wireless:
Selects a non-mobile node that uses wireless
transmissions. The range of transmissions is graphically indicated by
circles.
- Static Both:
A node that transmits and receives over a wireless
interface as well as over wireline links. A node of this type can act
as a bridge between wireless and wireline nodes.
- Mobile Wireless:
A node that transmits over a wireless interface and is
mobile following the mobility mode and speed specified in the toolbar.
Mouse mode
The mouse mode determines the operations performed when clicking the
left mouse button in the blue simulation window. The available mouse
modes are as follows:
- Select/Move: Clicking
on a node selects a node. A selected node is
indicated by a red circle. By holding the Control key multiple nodes
can be selected. All nodes in a rectangular area can be selected by
clicking in the upper left corner of the area and dragging the mouse to
the lower right corner of the area. Selected nodes can be moved in the
simulation window by clicking on one of the selected nodes and dragging
the mouse to the new position. The protocol and security settings of
selected nodes is changed by selecting a protocol and a security mode
from the toolbar.
- Add Nodes:
When a user clicks in the simulation window, a new substrate
node will be added at that position. If a protocol has been selected in
the protocol menu, a protocol node is activated on the created
substrate node.
- Delete Nodes:
Clicking on a node in the simulation node removes the
substrate node and, if activated, the protocol node.
- Add Links:
A substrate network link between two nodes is created by
clicking on one node and dragging the mouse to the other node. Both
nodes must have a wired interface, that is, they must be either of type
Static Wired or Static Both.
- Delete Links:
Clicking on a substrate network link removes the link.
- Activate/Deactivate Node:
Clicking on a node toggles the activation and
deactivation of the overlay protocol. This is equivalent to joining and
leaving the overlay network. If an overlay protocol is running on the
substrate node, the node is deactivated. If no overlay protocol is
running on the substrate node, the overlay protocol selected in the
toolbar is activated on this node.
- Multicast Tree:
Clicking on an activated node displays the multicast
distribution tree that has the selected node as the root of the tree.
The displayed tree illustrates how multicast application messages from
the selected node will be forwarded in the overlay network.
- Select Src:
Clicking on a protocol node to choose the source of a
unicast path. If both source and destination is selected, a unicast
route between them is displayed if it is available.
- Select Dst:
Click on a protocol node to choose the destination of a
unicast path. If both source and destination is selected, a unicast
route between them is displayed if it is available.
Popup menu.
Whenever user clicks with the right mouse button on a node in the
simulation window, a popup menu is displayed. The
selections are as follows:
- Activate: If
there is no protocol running, selecting this item adds
(activates) a protocol node on the substrate node using the protocol
selected in the protocol menu.
- Deactivate:
Removes (deactivates) a protocol node if an overlay node is
activated.
- Node Statistics:
Displays a dialog box that accesses the statistics of
the protocol node. Statistics in HyperCast are organized as XML
documents and are accessed with XPath expressions. The user types in an
XPath
expression in the top line (e.g., /Node/NodeAdapter), and
then selects one of the buttons at the bottom of the box. The results
of the access to statistics are displayed in the dialogue
box. The buttons perform the following functions:
- getStats –
Reads a statistic indicated by the provided XPath
expression and displays the result as an XML document.
- setStats –
Changes values of a statistic. This command assumes that
there is an XPath indicating the value to be changed and an XML element
that indicates the new value. For example, the string
/Node/LogicalAddress 1234
changes the logical address to 1234.
- getReadSchema
– Displays an XML schema that shows the structure and
the format of statistics that can be read by a getStats invocation.
- getWriteSchema
– Displays an XML schema that shows the structure and
the format of statistics that can be changed by a setStats invocation.
- close
– Closes the dialogue box.
- Event History:
Displays a window that shows the recent event history of
the selected protocol node. The events recorded include timer events,
messages sent, and messages received. The window displays the 100 most
recent events of the node. The figure displays three smaller windows.
The window on
the left shows a summary of the recorded events, including the time of
the event and a description of the event type. Selecting one of these
events displays the details of the event in the upper box on the right,
including the source and destination address and the message, as well
as a hex dump of the complete message. The lower window on the right
displays log messages generated by this node.
|