public class SubTask extends PeriodicTask
consumptionProfile
Constructor and Description |
---|
SubTask(long firstRelease,
long wcet,
long wcee,
long period,
long deadline,
int priority,
int nbProc,
IEnergyConsumptionProfile p) |
SubTask(SubTask subtask) |
Modifier and Type | Method and Description |
---|---|
void |
accept(ITaskElementVisitor visitor) |
void |
addChildTask(SubTask child)
adds a child to the subtask
|
void |
addParentTask(SubTask parent)
adds a parent to the subtask
|
ITask |
cloneTask()
Duplicates the task's object
|
List<Integer> |
getChildrenIndices() |
ArrayList<SubTask> |
getChildrenTasks()
gets the children subtasks of the subtask
|
long |
getEarliestFinishTime()
gets the earliest time of a subtask to finish its execution
|
long |
getGraphLaxity() |
long |
getLatestFinisheTime()
gets the latest time of a subtask to finish its execution
|
long |
getLaxity()
Laxity of a subtask is the difference between the finish time of this
subtask after calculating the critical path
|
int |
getNumOfProc()
gets the number of processors on which a subtask can execute
|
ArrayList<SubTask> |
getParentTasks()
gets the parent subtasks of the subtask
|
String |
getType()
Gets the type of the task (simple, subtask, graph, ...)
|
boolean |
isCriticalTask()
Verifies if the subtask is one of critical path subtasks
|
boolean |
isEndingSubtask()
Checks if the subtask is the ending subtask of the graph, which is the
only subtask in the graph which has no children
|
boolean |
isStartingSubtask()
Checks if the subtask is the starting subtask of the graph, which is the
only subtask in the graph which has no parents
|
void |
setChildrenIndices(String[] indices) |
void |
setChildrenTasks(ArrayList<SubTask> children)
sets the children subtasks of the subtask
|
void |
setEarliestFinishTime(long time)
sets the earliest time of a subtask to finish its execution
|
void |
setGraphLaxity(long graphLaxity) |
void |
setIndex(ArrayList<SubTask> list)
Sets the index of a subtask in the graph according to the index of the
last subtask in the list
|
void |
setIndex(CopyOnWriteArrayList<SubTask> list) |
void |
setLatestFinisheTime(long time)
sets the latest time of a subtask to finish its execution
|
void |
setNumOfProc(int nbProc)
sets the number of processors on which a subtask can execute
|
void |
setParentTasks(ArrayList<SubTask> parents)
sets the parent subtasks of the subtask
|
String |
toString() |
getDensity, getUtilization, isArbitraryDeadline, isConstrainedDeadline, isImplicitDeadline
activate, checkDeadlineMissed, getActiveJobs, getCurrentJob, getDeadline, getEnergyConsumption, getEnergyConsumptionProfile, getEnergyConsumptionRate, getFirstRelease, getId, getLastExecutedJob, getNextAbsoluteDeadline, getNextActivation, getNextDeadline, getPeriod, getPreviousAbsoluteDeadline, getPriority, getRemainingCost, getWcee, getWcet, isActivationTime, isActive, lastExecutedJobHasCompleted, setEnergyConsumptionProfile, setFirstRelease, setId, setLastExecutedJob, setPriority
public SubTask(long firstRelease, long wcet, long wcee, long period, long deadline, int priority, int nbProc, IEnergyConsumptionProfile p)
public SubTask(SubTask subtask)
public void setIndex(ArrayList<SubTask> list)
list
- list of all subtaskspublic void setIndex(CopyOnWriteArrayList<SubTask> list)
public ArrayList<SubTask> getParentTasks()
public void setParentTasks(ArrayList<SubTask> parents)
parents
- parent subtaskspublic ArrayList<SubTask> getChildrenTasks()
public void setChildrenTasks(ArrayList<SubTask> children)
children
- children subtaskspublic void addChildTask(SubTask child)
child
- child subtaskpublic void addParentTask(SubTask parent)
parent
- parent subtaskpublic long getEarliestFinishTime()
public void setEarliestFinishTime(long time)
time
- earliest execution timepublic long getLatestFinisheTime()
public void setLatestFinisheTime(long time)
time
- latest execution timepublic int getNumOfProc()
public void setNumOfProc(int nbProc)
numOfProc
- number of processorspublic boolean isCriticalTask()
public boolean isStartingSubtask()
public boolean isEndingSubtask()
public void accept(ITaskElementVisitor visitor)
public ITask cloneTask()
ITask
public void setChildrenIndices(String[] indices)
public String getType()
ITask
getType
in interface ITask
getType
in class AbstractTask
public long getLaxity()
public long getGraphLaxity()
public void setGraphLaxity(long graphLaxity)
graphLaxity
- the graph's laxity to setCopyright © 2012. All Rights Reserved.