LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
Place.m
1classdef Place < Station
2 %
3 %
4 % Copyright (c) 2012-2026, Imperial College London
5 % All rights reserved.
6
7 properties
8 schedStrategies;
9 schedStrategy;
10 schedStrategyPar;
11 end
12
13 methods
14 function self = Place(model,name)
15 % PLACE(MODEL, NAME)
16
17 self@Station(name);
18 if model.isMatlabNative()
19 classes = model.getClasses();
20 self.input = Storage(classes);
21 self.output = Linkage(classes);
22 self.setModel(model);
23 self.model.addNode(self);
24 self.server = ServiceTunnel();
25
26 %numOfClasses = [];
27 self.numberOfServers = 1;
28 self.schedStrategy = SchedStrategy.FCFS;
29 self.schedStrategyPar = [];
30
31 self.classCap = [];
32 self.cap = [];
33 self.schedStrategies = [];
34 self.dropRule = [];
35 elseif model.isJavaNative()
36 self.setModel(model);
37 self.obj = jline.lang.nodes.Place(model.obj, name);
38 self.index = model.obj.getNodeIndex(self.obj);
39 end
40 end
41
42 function init(self)
43 numOfClasses = length(self.model.getClasses());
44 self.schedStrategy = SchedStrategy.FCFS;
45 self.schedStrategyPar = zeros(1,numOfClasses);
46
47 self.classCap = Inf(1,numOfClasses);
48 self.cap = Inf;
49 self.schedStrategies = ones(1, numOfClasses);
50 for r=1:numOfClasses
51 classes = self.model.getClasses();
52 self.dropRule(classes{r}.index) = DropStrategy.WAITQ;
53 end
54 end
55
56 function self = setClassCapacity(self, class, capacity)
57 % SELF = SETCLASSCAPACITY(CLASS, CAPACITY)
58
59 self.classCap(class) = capacity;
60 end
61
62 function self = setSchedStrategies(self, class, strategy)
63 % SELF = SETSCHEDSTRATEGIES(CLASS, STRATEGY)
64
65 self.schedStrategies(class) = strategy;
66 end
67
68 end
69end
70