| Modifier and Type | Class and Description |
|---|---|
static class |
RuntimeUtil.PositionType |
static class |
RuntimeUtil.TimeType |
| Modifier and Type | Method and Description |
|---|---|
static Runnable |
addRuntimeToProcessAsNewRunnable(Process process,
RunnableInstructions instructions,
String runnableName,
RuntimeUtil.PositionType positon)
Create a new Runnable with the given runtime and
create a Callsequence at beginning / end of the given process
|
static void |
addRuntimeToRunnable(Runnable runnable,
RunnableInstructions instructions)
add Runtime (given as RunnableInstructions) to an existing Runnable
currently without consideration of modes
//TODO: Mode-based API
|
static void |
clearRuntimeOfModel(Amalthea model,
CoreType coreType,
EMap<ModeLabel,ModeLiteral> modes)
Removes all runtimes of the whole model
If the coreType is null, the complete RunnableInstruction is deleted
if it is not null, then only the runtime for the given coretype is removed
|
static void |
clearRuntimeOfProcess(Process process,
CoreType coreType,
EMap<ModeLabel,ModeLiteral> modes)
Removes all runtimes set in the given process
If the coreType is null, the complete RunnableInstruction is deleted
if it is not null, then only the runtime for the given coretype is removed
|
static void |
clearRuntimeOfRunnable(Runnable runnable,
CoreType coreType,
EMap<ModeLabel,ModeLiteral> modes)
clears all runtime information, for all coreTypes, for all modes
|
static boolean |
customStimulusFilter(Stimulus stimulus) |
static List<CoreType> |
getCoreTypesWithSpecifiedInstructionsOfRunnable(Runnable runnable,
EMap<ModeLabel,ModeLiteral> modes)
This method returns a list of all coreTypes for which the given runnable
contains runtime in a RunnableInstruction element
|
static double |
getCoreUtilization(Core core,
Amalthea model,
RuntimeUtil.TimeType tt,
EMap<ModeLabel,ModeLiteral> modes)
Calculates the utilization for a given core
|
static Map<Process,Double> |
getCumulativeProcessUtilizations(Amalthea model,
RuntimeUtil.TimeType tt,
EMap<ModeLabel,ModeLiteral> modes)
Returns the cumulative process utilization, i.e.
|
static HashMap<Core,Time> |
getExecutionTimeExtendedForProcess(Amalthea model,
Process process,
RuntimeUtil.TimeType execTimeType,
EMap<ModeLabel,ModeLiteral> modes)
get a map that contains the execution for all core for which a coreType has specified runtime
|
static Map<Core,Time> |
getExecutionTimeExtendedForRunnable(Amalthea model,
Runnable runnable,
RuntimeUtil.TimeType execTimeType,
EMap<ModeLabel,ModeLiteral> modes)
Gets execution times for given runnable on all possible cores (with specified coreType)
|
static Time |
getExecutionTimeForInstructionCount(long instructionCount,
Core core,
EMap<ModeLabel,ModeLiteral> modes)
convert a number (instructions) into execution time on the given core
|
static Time |
getExecutionTimeForProcess(Process process,
RuntimeUtil.TimeType execTimeType,
Core core,
EMap<ModeLabel,ModeLiteral> modes)
get the execution time for the given process on the given core
|
static Time |
getExecutionTimeForRunnable(Runnable runnable,
RuntimeUtil.TimeType execTimeType,
Core core,
EMap<ModeLabel,ModeLiteral> modes)
get the execution time for the given runnable on the given core
|
static HashMap<CoreType,Long> |
getInstructionCountExtendedForProcess(Process process,
RuntimeUtil.TimeType execTimeType,
EMap<ModeLabel,ModeLiteral> modes)
get a map that contains the instructionCounts for all (in the runnables) specified coreTypes
|
static HashMap<CoreType,Long> |
getInstructionCountExtendedForRunnable(Runnable runnable,
RuntimeUtil.TimeType execTimeType,
EMap<ModeLabel,ModeLiteral> modes)
get a map that contains the instructionCounts for all specified coreTypes
|
static Long |
getInstructionCountForProcess(Process process,
RuntimeUtil.TimeType execTimeType,
CoreType coreType,
EMap<ModeLabel,ModeLiteral> modes)
get the number of instructions that the given process would need to execute
on the given coretype
|
static Long |
getInstructionCountForRunnable(Runnable runnable,
RuntimeUtil.TimeType execTimeType,
CoreType coreType,
EMap<ModeLabel,ModeLiteral> modes)
get the number of instructions that the given runnable would need to execute
on the given coretype
|
static LongObject |
getInstructionCountForTime(Core core,
Time time)
convert a time into an instruction count
|
static Time |
getMean(Deviation<? extends Time> deviation) |
static Time |
getMean(Distribution<? extends Time> distribution2,
Time lowerBound,
Time upperBound) |
static <T> long |
getMean(Distribution<T> distribution,
long lowerBound,
long upperBound) |
static Map<Process,List<Time>> |
getPeriodsOfAllProcesses(Amalthea model,
RuntimeUtil.TimeType tt,
EMap<ModeLabel,ModeLiteral> modes)
gets all Period ranges from the model
|
static List<Time> |
getPeriodsOfProcess(Amalthea model,
Process process,
RuntimeUtil.TimeType tt,
EMap<ModeLabel,ModeLiteral> modes)
Returns a list of all triggering periods.
|
static <T> Map<Stimulus,Long> |
getPlainTriggerForProcess(Amalthea model,
Process process,
long depthCounter,
function.Function<Stimulus,Boolean> filter)
this method returns all stimuli (matching filter) that trigger the given process
|
static <T> Map<Process,Map<Stimulus,Long>> |
getPlainTriggersForModel(Amalthea model,
function.Function<Stimulus,Boolean> filter)
this method returns a map from process to all stimuli (matching filter) that lead to that process with the correct prescaler
|
static Map<Process,List<Deviation<Time>>> |
getProcessesWithRelativePeriodicStimulus(Amalthea model)
get a Map of all sporadically triggered processes with their prescaler
|
static Map<Process,List<Time>> |
getProcessesWithRelativePeriodicStimulus(Amalthea model,
RuntimeUtil.TimeType tt)
get a Map of all sporadically triggered processes with their prescaler
|
static Map<Core,Double> |
getProcessUtilization(Process process,
Amalthea model,
RuntimeUtil.TimeType tt,
EMap<ModeLabel,ModeLiteral> modes)
Calculates the utilization for a given process
|
static double |
getProcessUtilization(Process process,
Core core,
Amalthea model,
RuntimeUtil.TimeType tt,
EMap<ModeLabel,ModeLiteral> modes)
Calculates the utilization for a given process on a given core
Assumption (wrong): All triggers activate the process on all cores together! (at the same time)
|
static double |
getProcessUtilization(Process process,
Time period,
Core core,
Amalthea model,
RuntimeUtil.TimeType tt,
EMap<ModeLabel,ModeLiteral> modes)
calculate the process utilization
|
static HashMap<Stimulus,Long> |
getTriggeredStimuli(Process process,
EMap<ModeLabel,ModeLiteral> modes)
Returns a map of all stimuli, triggered by this process, associated with its prescaler.
|
static Map<Process,Long> |
getTriggeringProcesses(Amalthea model,
InterProcessStimulus ip,
EMap<ModeLabel,ModeLiteral> modes)
this method return all Processes that trigger the given InterProcessStimulus
|
static boolean |
periodicStimulusFilter(Stimulus stimulus) |
static <T> void |
setMean(Distribution<T> distribution,
long l) |
static void |
setRuntimeOfRunnable(Runnable runnable,
RunnableInstructions instructions,
CoreType coreType,
EMap<ModeLabel,ModeLiteral> modes)
set the runtime of the given runnable to the given runnable instruction
|
static boolean |
sporadicStimulusFilter(Stimulus stimulus) |