Class DeploymentUtil
- Object
-
- DeploymentUtil
-
public class DeploymentUtil extends Object
-
-
Method Summary
All Methods Modifier and Type Method Description static Set<ProcessingUnit>
getAssignedCoreForProcess(Process process, Amalthea model)
Returns the cores the process is assigned to.static List<HwFeatureCategory>
getFeatureCategories(ProcessingUnitDefinition procUnitDef)
static Set<ISR>
getISRsMappedToCore(ProcessingUnit core, Amalthea model)
Returns a set of all ISR mapped to that corestatic Set<Memory>
getLabelMapping(Label label)
Set of memories the label is mapped to (should be only one!)static Set<Process>
getProcessesMappedToCore(ProcessingUnit core, Amalthea model)
static List<ProcessingUnitDefinition>
getProcessingUnitDefinitionsForHwCategories(HwFeatureCategory hwFeatureCat, List<ProcessingUnitDefinition> procUnitDefinitons)
static List<ProcessingUnitDefinition>
getProcessingUnitDefinitionsForHwFeature(HwFeature feature, List<ProcessingUnitDefinition> procUnitDefinitons)
static List<TaskAllocation>
getTaskAllocations(Task task, Amalthea model)
Returns a list of all allocations of a taskstatic Set<Task>
getTasksMappedToCore(ProcessingUnit core, Amalthea model)
Returns a set of tasks mapped to a core.static boolean
isMapped(Label label)
Returns true if at least a label mapping existsstatic MemoryMapping
setLabelMapping(Label label, Memory mem, Amalthea model)
Returns a created LabelMapping element which was already added to the model
-
-
-
Method Detail
-
getProcessesMappedToCore
public static Set<Process> getProcessesMappedToCore(ProcessingUnit core, Amalthea model)
-
getTasksMappedToCore
public static Set<Task> getTasksMappedToCore(ProcessingUnit core, Amalthea model)
Returns a set of tasks mapped to a core. Depends on responsibilities of schedulers and the task allocated to them Assumption: Scheduler responsibilities are set empty core affinities are ignored otherwise the intersection of core affinity and scheduler responsibility is returned- Returns:
- Set of tasks
-
getISRsMappedToCore
public static Set<ISR> getISRsMappedToCore(ProcessingUnit core, Amalthea model)
Returns a set of all ISR mapped to that core- Returns:
- Set of interrupt service routines (ISR)
-
getTaskAllocations
public static List<TaskAllocation> getTaskAllocations(Task task, Amalthea model)
Returns a list of all allocations of a task- Returns:
- List of task allocations
-
isMapped
public static boolean isMapped(Label label)
Returns true if at least a label mapping exists
-
getLabelMapping
public static Set<Memory> getLabelMapping(Label label)
Set of memories the label is mapped to (should be only one!)- Returns:
- Set of Memories
-
setLabelMapping
public static MemoryMapping setLabelMapping(Label label, Memory mem, Amalthea model)
Returns a created LabelMapping element which was already added to the model- Returns:
- MemoryMapping
-
getAssignedCoreForProcess
public static Set<ProcessingUnit> getAssignedCoreForProcess(Process process, Amalthea model)
Returns the cores the process is assigned to. Empty core affinities are ignored, otherwise the intersection of core affinity and scheduler responsibility is returned.- Parameters:
process
- Task or ISRmodel
- the containing model- Returns:
- Set of cores
-
getFeatureCategories
public static List<HwFeatureCategory> getFeatureCategories(ProcessingUnitDefinition procUnitDef)
- Parameters:
procUnitDef
- processing unit definition
-
getProcessingUnitDefinitionsForHwCategories
public static List<ProcessingUnitDefinition> getProcessingUnitDefinitionsForHwCategories(HwFeatureCategory hwFeatureCat, List<ProcessingUnitDefinition> procUnitDefinitons)
- Parameters:
hwFeatureCat
- selection criteriaprocUnitDefinitons
- list of potential definitions
-
getProcessingUnitDefinitionsForHwFeature
public static List<ProcessingUnitDefinition> getProcessingUnitDefinitionsForHwFeature(HwFeature feature, List<ProcessingUnitDefinition> procUnitDefinitons)
- Parameters:
feature
- selection criteriaprocUnitDefinitons
- list of potential definitions
-
-