Lotos - Logical Topology Simulator
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.

ERROR: Unable to run applet. Either your browser does not support Java 1.4 or you have prohibited Java from running.



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.