LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
FunctionTask.m
1classdef FunctionTask < Task
2 % FunctionTask is an alias for Task, provided for backward compatibility.
3 %
4 % All setup/delayoff functionality has been moved to the base Task class.
5 % Any Task can now have setup time (cold start delay) and delay-off time
6 % (teardown delay) configured via setSetupTime() and setDelayOffTime().
7 %
8 % This class is retained for backward compatibility with existing code
9 % that uses FunctionTask to model serverless functions or tasks with
10 % initialization overhead.
11 %
12 % Copyright (c) 2012-2026, Imperial College London
13 % All rights reserved.
14
15 properties (Dependent)
16 % Backward-compatible property names (mapped to parent's camelCase properties)
17 SetupTime;
18 SetupTimeMean;
19 SetupTimeSCV;
20 DelayOffTime;
21 DelayOffTimeMean;
22 DelayOffTimeSCV;
23 end
24
25 methods
26 %constructor
27 function self = FunctionTask(model, name, multiplicity, scheduling)
28 % self = FunctionTask(model, name, multiplicity, scheduling)
29 % Create a FunctionTask (alias for Task with setup/delayoff support).
30
31 if nargin < 2
32 line_error(mfilename,'Constructor requires to specify at least a name.');
33 end
34
35 if nargin < 3
36 multiplicity = 1;
37 end
38
39 if nargin < 4
40 scheduling = SchedStrategy.FCFS;
41 end
42
43 self@Task(model, name, multiplicity, scheduling);
44 end
45
46 % Dependent property getters/setters for backward compatibility
47 function value = get.SetupTime(self)
48 value = self.setupTime;
49 end
50
51 function set.SetupTime(self, value)
52 self.setSetupTime(value);
53 end
54
55 function value = get.SetupTimeMean(self)
56 value = self.setupTimeMean;
57 end
58
59 function set.SetupTimeMean(self, value)
60 self.setupTimeMean = value;
61 end
62
63 function value = get.SetupTimeSCV(self)
64 value = self.setupTimeSCV;
65 end
66
67 function set.SetupTimeSCV(self, value)
68 self.setupTimeSCV = value;
69 end
70
71 function value = get.DelayOffTime(self)
72 value = self.delayOffTime;
73 end
74
75 function set.DelayOffTime(self, value)
76 self.setDelayOffTime(value);
77 end
78
79 function value = get.DelayOffTimeMean(self)
80 value = self.delayOffTimeMean;
81 end
82
83 function set.DelayOffTimeMean(self, value)
84 self.delayOffTimeMean = value;
85 end
86
87 function value = get.DelayOffTimeSCV(self)
88 value = self.delayOffTimeSCV;
89 end
90
91 function set.DelayOffTimeSCV(self, value)
92 self.delayOffTimeSCV = value;
93 end
94 end
95end