LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
saveJoinStrategy.m
1function [simDoc, section] = saveJoinStrategy(self, simDoc, section, ind)
2% [SIMDOC, SECTION] = SAVEJOINSTRATEGY(SIMDOC, SECTION, NODEIDX)
3
4% Copyright (c) 2012-2026, Imperial College London
5% All rights reserved.
6strategyNode = simDoc.createElement('parameter');
7strategyNode.setAttribute('array', 'true');
8strategyNode.setAttribute('classPath', 'jmt.engine.NetStrategies.JoinStrategy');
9strategyNode.setAttribute('name', 'JoinStrategy');
10
11sn = self.getStruct;
12numOfClasses = sn.nclasses;
13for r=1:numOfClasses
14 switch sn.nodeparam{ind}.joinStrategy{r}
15 case JoinStrategy.STD
16 refClassNode2 = simDoc.createElement('refClass');
17 refClassNode2.appendChild(simDoc.createTextNode(sn.classnames{r}));
18 strategyNode.appendChild(refClassNode2);
19
20 joinStrategyNode = simDoc.createElement('subParameter');
21 joinStrategyNode.setAttribute('classPath', 'jmt.engine.NetStrategies.JoinStrategies.NormalJoin');
22 joinStrategyNode.setAttribute('name', 'Standard Join');
23 reqNode = simDoc.createElement('subParameter');
24 reqNode.setAttribute('classPath', 'java.lang.Integer');
25 reqNode.setAttribute('name', 'numRequired');
26 valueNode = simDoc.createElement('value');
27 valueNode.appendChild(simDoc.createTextNode(int2str(sn.nodeparam{ind}.fanIn{r})));
28 reqNode.appendChild(valueNode);
29 joinStrategyNode.appendChild(reqNode);
30 strategyNode.appendChild(joinStrategyNode);
31 section.appendChild(strategyNode);
32 case JoinStrategy.PARTIAL
33 refClassNode2 = simDoc.createElement('refClass');
34 refClassNode2.appendChild(simDoc.createTextNode(sn.classnames{r}));
35 strategyNode.appendChild(refClassNode2);
36
37 joinStrategyNode = simDoc.createElement('subParameter');
38 joinStrategyNode.setAttribute('classPath', 'jmt.engine.NetStrategies.JoinStrategies.PartialJoin');
39 joinStrategyNode.setAttribute('name', 'Quorum');
40 reqNode = simDoc.createElement('subParameter');
41 reqNode.setAttribute('classPath', 'java.lang.Integer');
42 reqNode.setAttribute('name', 'numRequired');
43 valueNode = simDoc.createElement('value');
44 valueNode.appendChild(simDoc.createTextNode(int2str(sn.nodeparam{ind}.joinRequired{r})));
45 reqNode.appendChild(valueNode);
46 joinStrategyNode.appendChild(reqNode);
47 strategyNode.appendChild(joinStrategyNode);
48 section.appendChild(strategyNode);
49 % case JoinStrategy.Guard
50 % refClassNode2 = simDoc.createElement('refClass');
51 % refClassNode2.appendChild(simDoc.createTextNode(sn.classnames{r}));
52 % strategyNode.appendChild(refClassNode2);
53 %
54 % joinStrategyNode = simDoc.createElement('subParameter');
55 % joinStrategyNode.setAttribute('classPath', 'jmt.engine.NetStrategies.JoinStrategies.PartialJoin');
56 % joinStrategyNode.setAttribute('name', 'Quorum');
57 % reqNode = simDoc.createElement('subParameter');
58 % reqNode.setAttribute('classPath', 'java.lang.Integer');
59 % reqNode.setAttribute('name', 'numRequired');
60 % valueNode = simDoc.createElement('value');
61 % valueNode.appendChild(simDoc.createTextNode(int2str(sn.nodeparam{ind}.joinRequired{r})));
62 % reqNode.appendChild(valueNode);
63 % joinStrategyNode.appendChild(reqNode);
64 % strategyNode.appendChild(joinStrategyNode);
65 % section.appendChild(strategyNode);
66 end
67end
68end