1% Example: Baseline Model Without Impatience
3% This example serves as a baseline to verify backward compatibility.
4% It creates a simple queueing network WITHOUT any impatience configured,
5% ensuring that existing models
continue to work as expected.
8% - Two queues in series
10% - NO impatience configured (standard queueing behavior)
12% Purpose: Verify that:
13% 1. Models without impatience
continue to work correctly
14% 2. JMT XML generation produces
'null' for impatience parameters
15% 3. Results match standard queueing theory predictions
17% Copyright (c) 2012-2026, Imperial College London
22model = Network(
'Baseline - No Impatience');
25node{1} = Source(model,
'Source');
26node{2} = Queue(model,
'Queue1', SchedStrategy.FCFS);
27node{3} = Queue(model,
'Queue2', SchedStrategy.FCFS);
28node{4} = Sink(model,
'Sink');
31jobclass{1} = OpenClass(model,
'Class1', 0);
34node{2}.setService(
jobclass{1}, Exp(2.0)); % Mean service = 0.5
35node{3}.setService(
jobclass{1}, Exp(1.0)); % Mean service = 1.0
38node{1}.setArrival(
jobclass{1}, Exp(0.4)); % Arrival rate = 0.4
40% NOTE: NO patience
is configured -
this is intentional!
41% The model should work exactly as before the impatience feature was added.
44K = model.getNumberOfClasses();
46P{1,1} = [0, 1, 0, 0; % Source -> Queue1
47 0, 0, 1, 0; % Queue1 -> Queue2
48 0, 0, 0, 1; % Queue2 -> Sink
49 0, 0, 0, 0]; % Sink -> nowhere
54options = Solver.defaultOptions;
60disp(
'This is a baseline example WITHOUT impatience to verify backward compatibility.');
62disp(
'Model parameters:');
63disp(
' - Arrival rate: 0.4');
64disp(
' - Queue1 service rate: 2.0');
65disp(
' - Queue2 service rate: 1.0');
66disp(
' - NO impatience configured');
68disp(
'Expected behavior:');
69disp(
' - Standard M/M/1 queueing with no job abandonment');
70disp(
' - JMT XML should contain <value>null</value> for impatience parameters');
71disp(
' - Results should match traditional queueing analysis');
74solver{1} = JMT(model, options);
76fprintf(1,
'SOLVER: %s\n', solver{1}.getName());
77AvgTable{1} = solver{1}.getAvgTable();
81disp(
'Backward compatibility verified: Model runs successfully without impatience.');