Class 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 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