| Modifier and Type | Class and Description |
|---|---|
static class |
RuntimeUtil.AccessDirection |
static class |
RuntimeUtil.PositionType |
static class |
RuntimeUtil.TimeType |
| Modifier and Type | Method and Description |
|---|---|
static Runnable |
addRuntimeToProcessAsNewRunnable(Process process,
ExecutionNeed executionNeeds,
String runnableName,
RuntimeUtil.PositionType positon)
Creates a new Runnable with the given runtime and create a CallSequence at
beginning / end of the given process
|
static void |
addRuntimeToRunnable(Runnable runnable,
ExecutionNeed executionNeeds)
Adds Runtime (given as ExecutionNeed) to an existing Runnable currently
without consideration of modes //TODO: Mode-based API
|
static void |
clearRuntimeOfModel(Amalthea model,
ProcessingUnitDefinition procUnitDef,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Removes all runtimes of the whole model If the procUnitDef is null, the
complete ExecutionNeed is deleted if it is not null, then only the runtime
for the given procUnitDef is removed
|
static void |
clearRuntimeOfProcess(Process process,
ProcessingUnitDefinition procUnitDef,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Removes all runtimes set in the given process If the procUnitDef is null, the
complete ExecutionNeed is deleted if it is not null, then only the runtime
for the given procUnitDef is removed
|
static void |
clearRuntimeOfRunnable(Runnable runnable,
ProcessingUnitDefinition procUnitDef,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Clears all runtime information, for all procUnitDefs, for all modes
|
static boolean |
customStimulusFilter(Stimulus stimulus) |
static Map<Process,Double> |
getCumulativeProcessUtilizations(Amalthea model,
RuntimeUtil.TimeType tt,
List<HwFeature> hwFeatures,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Returns the cumulative process utilization, i.e.
|
static HashMap<ProcessingUnitDefinition,Long> |
getExecutionNeedValueCountExtendedForProcess(Process process,
RuntimeUtil.TimeType execTimeType,
HwFeature hwFeature,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Returns a map that contains the value of ExecutionNeedValueCounts for all (in the
runnables) specified ProcessUnitDefinition
|
static HashMap<ProcessingUnitDefinition,Long> |
getExecutionNeedValueCountExtendedForRunnable(Runnable runnable,
RuntimeUtil.TimeType execTimeType,
HwFeature hwFeature,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Returns a map that contains the ExecutionNeedValueCounts for all specified
procUnitDefs - all values will just be added up.
|
static Long |
getExecutionNeedValueCountForProcess(Process process,
RuntimeUtil.TimeType execTimeType,
ProcessingUnitDefinition procUnitDef,
HwFeature hwFeature,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Returns the execution need value a process would need to execute for a given
feature and the given ProcessUnitdefition
|
static Long |
getExecutionNeedValueCountForRunnable(Runnable runnable,
RuntimeUtil.TimeType execTimeType,
ProcessingUnitDefinition procUnitDef,
HwFeature hwFeature,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Returns the ExecutionNeed value count a runnable would need to execute for a
given feature and the given ProcessUnitdefition
|
static LongObject |
getExecutionNeedValueCountForTime(ProcessingUnit procUnit,
Time time,
HwFeature hwFeature)
convert a time into an ExecutionNeed value count for one feature
|
static HashMap<ProcessingUnit,Time> |
getExecutionTimeExtendedForProcess(Amalthea model,
Process process,
RuntimeUtil.TimeType execTimeType,
HwFeature hwFeature,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Returns a map that contains the execution for all procUnit for which a procUnitDef
has specified runtime
|
static Map<ProcessingUnit,Time> |
getExecutionTimeExtendedForRunnable(Amalthea model,
Runnable runnable,
RuntimeUtil.TimeType execTimeType,
HwFeature hwFeature,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Gets execution times for given runnable on all possible procUnits (with specified
procUnitDef)
|
static Time |
getExecutionTimeForExecutionNeedValueCount(long executionNeedValueCount,
ProcessingUnit procUnit,
HwFeature hwFeature,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Converts a number (ExecutionNeeds) into execution time on the given procUnit for one feature
|
static Time |
getExecutionTimeForProcess(Process process,
RuntimeUtil.TimeType execTimeType,
ProcessingUnit procUnit,
List<HwFeature> hwFeatures,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Returns the execution time for the given process on the given procUnit
|
static Time |
getExecutionTimeForRunnable(Runnable runnable,
RuntimeUtil.TimeType execTimeType,
ProcessingUnit procUnit,
List<HwFeature> hwFeatures,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Returns the execution time for the given runnable on the given procUnit
|
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,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
gets all Period ranges from the model
|
static List<Time> |
getPeriodsOfProcess(Amalthea model,
Process process,
RuntimeUtil.TimeType tt,
org.eclipse.emf.common.util.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)
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)
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)
Returns a Map of all sporadically triggered processes with their prescaler
|
static Map<Process,List<Time>> |
getProcessesWithRelativePeriodicStimulus(Amalthea model,
RuntimeUtil.TimeType tt)
Returns a Map of all sporadically triggered processes with their prescaler
|
static Map<ProcessingUnit,Double> |
getProcessUtilization(Process process,
Amalthea model,
RuntimeUtil.TimeType tt,
List<HwFeature> hwFeatures,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Calculates the utilization for a given process
|
static double |
getProcessUtilization(Process process,
ProcessingUnit procUnit,
Amalthea model,
RuntimeUtil.TimeType tt,
List<HwFeature> hwFeatures,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Calculates the utilization for a given process on a given procUnit Assumption
(wrong): All triggers activate the process on all procUnits together! (at the
same time)
|
static double |
getProcessUtilization(Process process,
Time period,
ProcessingUnit procUnit,
Amalthea model,
RuntimeUtil.TimeType tt,
List<HwFeature> hwFeatures,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Calculates the process utilization
|
static List<ProcessingUnitDefinition> |
getprocUnitDefsWithSpecifiedExecutionNeedsOfRunnable(Runnable runnable,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Returns a list of all ProcessingUnitDefinitions for which the given runnable
contains runtime in a ExecutionNeed element
|
static double |
getprocUnitUtilization(ProcessingUnit procUnit,
Amalthea model,
RuntimeUtil.TimeType tt,
List<HwFeature> hwFeatures,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Calculates the utilization for a given procUnit
|
static HashMap<Stimulus,Long> |
getTriggeredStimuli(Process process,
org.eclipse.emf.common.util.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,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
Returns 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,
ExecutionNeed ExecutionNeeds,
ProcessingUnitDefinition procUnitDef,
org.eclipse.emf.common.util.EMap<ModeLabel,ModeLiteral> modes)
set the runtime of the given runnable to the given runnable ExecutionNeed
|
static boolean |
sporadicStimulusFilter(Stimulus stimulus) |