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.