
This code is used to simulate a bi-directional network of nodes.
It uses a purely static routing scheme for messages. Each message
starts at a node and has a fixed path of arbitrary length through 
a set of adjacent nodes. Each node has as many transceivers as it 
has in-links from other nodes connected to it. Each transceiver
is modeled as a resource (facility) that contains a queue if
messages are waiting. The input file to 'network' is organized as follows:


#nodes time-for-node
adjacency matrix specifying connectivity
#messages
length-1 message 1 route
length-2 message 2 route
...


Note that the adjacency matrix specifies connectivity and the link
time for each link in the network. Node numbers start at zero.


Imagine the following network:

            0
           / \     3
          /   \   /
         /     \ /
        1-------2
             
Note that there are 4 nodes (0,1,2,3) and 8 transceivers (0-1,
1-0,0-2,2-0,1-2,2-1,2-3,3-2). Imagine that there are two messages 
to be routed and we want to simulate the network to study the 
network load. Let each node take 2 units of processing time, and 
let the links take 1 unit of time each.
We can now create a file called "ournet.dat" containing the following:

4 2.0
0 1 1 0
1 0 1 0
1 1 0 1
0 0 1 0
2
4 0 1 2 3
3 3 2 0

We can then simulate the system by:

%network < ournet.dat

