// build the RoutingAlgorithm object using the data from the // "ProgramInput" object (network, traffic matrix, selected // algorithms). From the traffic matrix we find the commodities, // and we create a DAG for each such commodity in the routing // table. *operation* RoutingAlgorithm* build() *wrapper* ProgramInput (@ Node_List* nodelist; Network* net = get_network()->rebuild_network(nodelist); Ring* ring = net->create_ring(); Commodity_List* commodities = get_traffic()->find_commodities(nodelist, ring); RoutingTable* rtable = commodities->build_routing_table(ring); return_val = new RoutingAlgorithm(net, ring, rtable, get_init(), get_prox(), get_prob(), get_flow(), get_util(), get_max_iter()); @)