1classdef FunctionTask < Task
2 % FunctionTask
is an alias
for Task, provided
for backward compatibility.
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().
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.
12 % Copyright (c) 2012-2026, Imperial College London
13 % All rights reserved.
15 properties (Dependent)
16 % Backward-compatible
property names (mapped to parent
's camelCase properties)
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).
32 line_error(mfilename,'Constructor
requires to specify at least a name.
');
40 scheduling = SchedStrategy.FCFS;
43 self@Task(model, name, multiplicity, scheduling);
46 % Dependent property getters/setters for backward compatibility
47 function value = get.SetupTime(self)
48 value = self.setupTime;
51 function set.SetupTime(self, value)
52 self.setSetupTime(value);
55 function value = get.SetupTimeMean(self)
56 value = self.setupTimeMean;
59 function set.SetupTimeMean(self, value)
60 self.setupTimeMean = value;
63 function value = get.SetupTimeSCV(self)
64 value = self.setupTimeSCV;
67 function set.SetupTimeSCV(self, value)
68 self.setupTimeSCV = value;
71 function value = get.DelayOffTime(self)
72 value = self.delayOffTime;
75 function set.DelayOffTime(self, value)
76 self.setDelayOffTime(value);
79 function value = get.DelayOffTimeMean(self)
80 value = self.delayOffTimeMean;
83 function set.DelayOffTimeMean(self, value)
84 self.delayOffTimeMean = value;
87 function value = get.DelayOffTimeSCV(self)
88 value = self.delayOffTimeSCV;
91 function set.DelayOffTimeSCV(self, value)
92 self.delayOffTimeSCV = value;