Package org.eclipse.app4mc.amalthea.model.util

## Class DeploymentUtil

- Object
- - DeploymentUtil

    public class DeploymentUtil
    extends Object

### Method Summary

All Methods
`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 core
`static 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 task
`static 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 exists
`static MemoryMapping` `setLabelMapping​(Label label, Memory mem, Amalthea model)` Returns a created LabelMapping element which was already added to the model

### Methods inherited from class Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### 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 ISR
  `model` - 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 criteria
  `procUnitDefinitons` - list of potential definitions

#### getProcessingUnitDefinitionsForHwFeature

    public static List<ProcessingUnitDefinition> getProcessingUnitDefinitionsForHwFeature​(HwFeature feature,
                                                                                          List<ProcessingUnitDefinition> procUnitDefinitons)

Parameters:
  `feature` - selection criteria
  `procUnitDefinitons` - list of potential definitions