A simulation program, stored on a non-transitory computer-readable medium, for use to design a bus controller that is arranged between a bus master and a networked communication bus in order to control the transmission route of a packet that flows through the communication bus,
- the simulation program causes a computer to execute the steps of:
- receiving information about output status from a class of other bus controllers, which are represented as objects on the simulation program and which exist on multiple transmission routes available;
- calculating uniformity of distribution index indicating a degree of non-uniformity in transmission flow rate between the respective transmission routes based on one of maximum, average with time and minimum values of numbers of bus cycles of output ports, a priority level of packet transfer, and weights added to the maximum, average and minimum values that are provided for the respective priority levels, all of which are included in information about the output status;
- determining multiple transmission routes, of which the transmission flow rates have been adjusted by reference to the uniformity of distribution index;
- generating the packet based on data that has been received from a class that is implemented as the bus master;
- outputting the packet through one of multiple output ports, which are connected to mutually different communication buses;
- determining which one of the multiple output ports is connected to one of the transmission routes that has been chosen by reference to information about a receiving end of the packet;
- and
- outputting the packet through the output port selected.