1function [simDoc, section] = savePutStrategies(self, simDoc, section, ind)
2% [SIMDOC, SECTION] = SAVEPUTSTRATEGIES(SIMDOC, SECTION, ind)
4% Copyright (c) 2012-2026, Imperial College London
6queuePutStrategyNode = simDoc.createElement(
'parameter');
7queuePutStrategyNode.setAttribute(
'array',
'true');
8queuePutStrategyNode.setAttribute(
'classPath',
'jmt.engine.NetStrategies.QueuePutStrategy');
9queuePutStrategyNode.setAttribute(
'name',
'QueuePutStrategy');
12numOfClasses = sn.nclasses;
13exportClasses = self.getExportableClasses();
14i = sn.nodeToStation(ind);
17 % Skip
classes that should not be exported to JMT
22 refClassNode2 = simDoc.createElement(
'refClass');
23 refClassNode2.appendChild(simDoc.createTextNode(sn.classnames{r}));
24 queuePutStrategyNode.appendChild(refClassNode2);
25 % Different to savePutStrategy.
26 switch sn.sched(i) %contrary to JMT, we assume identical across
classes
27 case SchedStrategy.SIRO
28 subParameterNode2 = simDoc.createElement(
'subParameter');
29 subParameterNode2.setAttribute(
'classPath',
'jmt.engine.NetStrategies.QueuePutStrategies.RandStrategy');
30 subParameterNode2.setAttribute(
'name',
'RandStrategy');
31 case SchedStrategy.LCFS
32 subParameterNode2 = simDoc.createElement(
'subParameter');
33 subParameterNode2.setAttribute(
'classPath',
'jmt.engine.NetStrategies.QueuePutStrategies.HeadStrategy');
34 subParameterNode2.setAttribute(
'name',
'HeadStrategy');
35 otherwise % treat as FCFS -
this is required
for PS
36 subParameterNode2 = simDoc.createElement(
'subParameter');
37 subParameterNode2.setAttribute(
'classPath',
'jmt.engine.NetStrategies.QueuePutStrategies.TailStrategy');
38 subParameterNode2.setAttribute(
'name',
'TailStrategy');
40 queuePutStrategyNode.appendChild(subParameterNode2);
41 section.appendChild(queuePutStrategyNode);