Getting started...

The toolbox comes in two archives : a binary one with a precompiled toolbox and a source one with all the Java sources. These archives contain the following directories :

Currently, the toolbox has been tested only on linux platforms.


To use the toolbox, you need a Java Virtual Machine 2 (J2SE 5.0 or newer). If you haven't a Java Virtual machine you have to download and install it. Don't forget to set the JAVA_HOME environment variable to your JVM installation directory.

Decompress the TOTEM archive with

tar -xzvf totem-<version>.tar.gz

With the binary archive, the installation is finished. You can go to section 2.3 to briefly see how to use the toolbox. With the source release, you need to compile the toolbox as described in the next section.


The source archive contains all the Java source files and you need to compile them before running the toolbox. To compile the toolbox, we need Ant 3 (release 1.6.2 or newer) provided by the Apache project. Ant is a Java-based build tool. It is kind of tool like Make. If you haven't Ant installed, download and install it. Don't forget to set the ANT_HOME environment variable.

The Ant build file (build.xml) contains the following interesting targets :

By using :

ant clean build

You compile and build the whole toolbox in the dist/totem-<version>.jar file. If you compile for the first time the toolbox, you need to call ant clean to create the needed directories. More information can be found in the README file.

The "" command

This shell script runs the toolbox setting the maximum heap size to 512Mb. The following options are available to the command line. If no option is set, the GUI will be launched (see section 10).
-demo. Launch the GUI with increased font size (so that it can be projected for a live demo).
-s <scenario.xml> [stopOnError]. Executes the scenario scenario.xml (see section 9 for more information about scenarios). If stopOnerror is true, the scenario will stop executing after the first errror. In the example directory, you can see some scenarios examples highlighting the main functionalities of the toolbox 4.
-dir <dirname>. Executes all the scenario files contained in the directory dirname.
-validate <file.xml> [<schemaLocation>]. Validates the XML file file.xml.
schemaLocation is optional (if not present, the validator uses the schema specified in the XML file).
-gs <type> -f <scen.xml> -d <domain.xml> -t <tm.xml> -m <method>. Generates a scenario XML file scen.xml using the XML domain file domain.xml and the XML traffic matrix file tm.xml. The generated scenario depends on type which can be wca or fullmesh.
wca generates a scenario which simulates the failure of each link and displays the resulting load. If wca scenario is chosen, an additional parameter which is -c <chartname> can be added. If specified, a chart will be created in the file chartname in eps, jpg or png format depending on the given file extension.
fullmesh generates a scenario which establishes a full mesh of LSPs. The method used to route the traffic is given by method which can be CSPF, CSPFInvFreeBw, CSPFHopCount, CSPFInvCap, CSPFTEMetric and DAMOTE.

For example, the following command line

./ -s examples/abilene/scenario/CSPF-fullmesh.xml

execute the scenario file CSPF-fullmesh.xml of the directory examples/abilene/scenario. This scenario computes an LSP between each nodes with a reservation corresponding to the demand given by TM0-abilene.xml using CSPF. At the end, it displays the bandwidth reservation on each links. This scenario has been generated using ./ -gs fullmesh.

Simon Balon 2008-06-18