3model = Network(
'model');
6source = Source(model,
'Source');
7sink = Sink(model,
'Sink');
9P{1} = Place(model,
'P1');
11T{1} = Transition(model,
'T1');
14jobclass{1} = OpenClass(model,
'Class1', 0);
15source.setArrival(
jobclass{1}, Exp(0.5)); % arrival rate 0.5
19% T1 with Pareto service time
20% Pareto(shape, scale) - shape must be >= 2
21% With shape=3 and scale=1, mean service time = 3*1/(3-1) = 1.5
22mode = T{1}.addMode(
'Mode1');
23T{1}.setNumberOfServers(mode, 1);
24T{1}.setDistribution(mode, Pareto(3, 1)); % Pareto with shape=3, scale=1
25T{1}.setEnablingConditions(mode,
jobclass{1},
P{1}, 1);
26T{1}.setFiringOutcome(mode,
jobclass{1}, sink, 1);
29R = model.initRoutingMatrix(); % initialize routing matrix
31R{1,1}(source,
P{1}) = 1; % (Source,Class1) -> (P1,Class1)
32R{1,1}(
P{1}, T{1}) = 1;
33R{1,1}(T{1}, sink) = 1;
38options = Solver.defaultOptions;
41options.samples = 1e4; % limit samples
for faster execution
44solver{1} = JMT(model, options);
45AvgTable{1} = solver{1}.getAvgTable();