1classdef Network < MNetwork
2 % Main queueing network model
class for LINE analysis
4 % Provides methods
for adding
nodes, job
classes, and links to create queueing networks.
6 % Copyright (c) 2012-2026, Imperial College London
10 methods (Access=
public)
12 function self = Network(name, varargin)
13 % NETWORK Create a
new queueing network model
15 % @brief Creates a Network instance
for queueing model construction
16 % @param name String identifier
for the network model
17 % @param varargin Optional implementation parameter (ignored
for performance)
18 % @
return self Network instance ready
for model construction
20 % For compatibility, accepts but ignores the implementation argument.
21 % Always uses MNetwork (MATLAB) implementation
for optimal performance.
23 self@MNetwork(name); % Always use MNetwork
for performance
25 % Parse optional implementation argument
for compatibility
26 % but ignore it - always use MNetwork
27 if nargin >= 2 && ischar(varargin{1})
28 implementation = lower(varargin{1});
29 if strcmp(implementation,
'java') || strcmp(implementation,
'j') || strcmp(implementation,
'jnetwork')
30 warning('Network:JavaNotSupported', ...
31 'Java implementation requested but not supported in performance-optimized mode. Using MATLAB implementation.');
39 function model = cyclic(N, D, strategy, S)
40 % MODEL = CYCLIC(N, D, STRATEGY, S)
42 % Generates a cyclic queueing network
43 model = MNetwork.cyclic(N, D, strategy, S);
46 function model = tandem(lambda, D, strategy)
47 % MODEL = TANDEM(LAMBDA, D, STRATEGY)
49 % Generates a tandem queueing network
50 model = MNetwork.tandem(lambda, D, strategy);