BESSIE


Bessie is a Java (JDK1.2) application for generating random network topologies, primarily to support research into efficient multicast tree generation algorithms. The current version is 2.5. Bessie source is currently available by request only. After some code cleanup, the source code will be available publically. However, you can obtain the .class files for Bessie below. The following class files are necessary to run Bessie:


Bessie.class
DialogBox.class
Network.class
NetworkCanvas.class
Node.class
ProgressBox.class
QuickSort.class
SaneInput.class
WeightedEdge.class



Bessie generates ASCII files describing network topologies. The Bessie file format is self-documenting. Double slash ("//") comments are recognized and ignored. Here's a sample:


sample.net



Bessie calls external code to generate multicast trees. The following is a Java application for generating optimal multicast trees using spanning tree enumeration. It uses some of the Bessie classes, so you'll need those, too. Both source and a .class file are provided. (This currently works only for networks with no satellites!).


OptimalMT.java
OptimalMT.class



The following (briefly) describes Bessie command line options. For now, it's just a snip from the top of the main Bessie source file:


//
// "Bessie", a network generation tool: generates random
// flat/hierarchical/separated/non-separated
// point-to-point networks for simulation purposes.
//
// Written by Prof. Golden G. Richard III, in collaboration with
// Fred Hosch, Frank Adelstein and Loren Schwiebert,
// December 1997-November 1998.
//
// The following command line parameters are supported.
//
// -nogui (generate a single network and exit, no GUI)
//
// -net (filename w/o extension for generated network, default = "default",useful only with -nogui)
//
// -doar (use Doar edge model instead of default improved model)
//
// -a (alpha, default = .25)
//
// -b (beta, default = .25, only useful with -doar)
//
// -k (k, default = 25, only useful with -doar)
//
// -degree (desired avg node degree, default = 3)
//
// -size (size of central network, default = 20)
//
// -multicast (percentage of nodes which are multicast, default = 25)
//
// -numsat (number of satellite networks, default = 0)
//
// -sizesat (avg size of a satellite network, default = 20)
//
// -satradius (maximum radius of a satellite, default = 50)
//
// -separated (restrict overlap of satellites and central network)
//
// -repeat (number of networks to generate, default = 1. A counter value is used to generate distinct filenames based on the -net argument)
//
// -createmt (command to generate a multicast tree; ex: -creatmt "java OptimalMT %s", where %s is a placeholder for the name of the currently loaded network description.
//
// TODO:
//
// o Currently, command line values (e.g., numsatellites < centralsize) are not checked.
//
// o Needs to read/write an .ini file so complex options can be saved between sessions.
//


Please email for further details.


Back to my home page