1function model = json_hetero_servers()
2% Closed 2-
class network with heterogeneous servers.
3model = Network(
'HeteroServers');
5delay = Delay(model,
'Delay');
6queue = Queue(model,
'Queue', SchedStrategy.FCFS);
7queue.setNumberOfServers(3);
9class1 = ClosedClass(model,
'Class1', 3, delay);
10class2 = ClosedClass(model,
'Class2', 2, delay);
12delay.setService(class1, Exp(1));
13delay.setService(class2, Exp(2));
15% Default service (required before hetero setup)
16queue.setService(class1, Exp(3));
17queue.setService(class2, Exp(2));
19% Heterogeneous server types
20fast = ServerType(
'Fast', 2, {class1, class2});
21slow = ServerType(
'Slow', 1, {class1});
23queue.addServerType(fast);
24queue.addServerType(slow);
26queue.setHeteroSchedPolicy(HeteroSchedPolicy.ORDER);
28queue.setHeteroService(class1, fast, Exp(5));
29queue.setHeteroService(class2, fast, Exp(3));
30queue.setHeteroService(class1, slow, Exp(1));
32P = model.initRoutingMatrix();
33P{class1} = Network.serialRouting(delay, queue);
34P{class2} = Network.serialRouting(delay, queue);