public class SoftwareUtil
extends Object
Constructor and Description |
---|
SoftwareUtil() |
Modifier and Type | Method and Description |
---|---|
static EList<ActivityGraphItem> |
collectActivityGraphItems(IActivityGraphItemContainer container)
Traverse the contained call graph items and collect all items.
|
static EList<ActivityGraphItem> |
collectActivityGraphItems(IActivityGraphItemContainer container,
EMap<ModeLabel,String> modes)
Traverse the contained call graph items and collect all items.
|
static <T extends ActivityGraphItem> |
collectActivityGraphItems(IActivityGraphItemContainer container,
EMap<ModeLabel,String> modes,
Class<T> targetClass)
Traverse the runnable items graph of a runnable and collect all items.
|
static <T extends ActivityGraphItem> |
collectActivityGraphItems(IActivityGraphItemContainer container,
EMap<ModeLabel,String> modes,
Class<T> targetClass,
Function<T,Boolean> filter)
Traverse the runnable items graph of a runnable and collect all items.
|
static EList<ActivityGraphItem> |
collectActivityGraphItems(IActivityGraphItemContainer container,
EMap<ModeLabel,String> modes,
Function<ActivityGraphItem,Boolean> filter)
Traverse the contained call graph items and collect all items.
|
static List<ClearEvent> |
collectClearEvents(Process process,
EMap<ModeLabel,String> modes)
Collects a list of clear event calls for a process
|
static List<ActivityGraphItem> |
collectEventsOfProcess(Process process,
EMap<ModeLabel,String> modes)
Collects a list of event calls (clear, set or wait) of a process
|
static List<SetEvent> |
collectSetEvents(Process process,
EMap<ModeLabel,String> modes)
Collects a list of set events calls for a process
|
static List<WaitEvent> |
collectWaitEvents(Process process,
EMap<ModeLabel,String> modes)
Collects a list of wait event calls for a process
|
static Set<Label> |
getAccessedLabelSet(Process process,
EMap<ModeLabel,String> modes)
Returns a set of labels accessed by the process
|
static Set<Label> |
getAccessedLabelSet(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a set of labels accessed from the runnable
|
static List<Runnable> |
getCalledRunnables(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a list of runnables directly called by the runnable
|
static List<Process> |
getCallingProcesses(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a list of processes calling the runnable
|
static List<Runnable> |
getCallingRunnables(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a list of runnables directly calling the runnable
|
static List<ExecutionNeed> |
getExecutionNeeds(Process process,
EMap<ModeLabel,String> modes)
Returns a list of all execution needs for a given process
|
static List<ExecutionNeed> |
getExecutionNeeds(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a list of all execution needs for a given runnable
|
static List<Label> |
getInterTaskCommunication(Process sender,
Process receiver,
EMap<ModeLabel,String> modes)
Returns a list of all exchanged labels that are written by the sender process and read by the receiver process
|
static float |
getLabelAccessCountFromStatistics(LabelAccess labelAcc,
RuntimeUtil.TimeType accType)
Returns the number of label accesses from a statistic.
|
static List<LabelAccess> |
getLabelAccessList(Process process,
EMap<ModeLabel,String> modes)
Returns a list of all label accesses of the process
|
static List<LabelAccess> |
getLabelAccessList(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a list of all label accesses of the runnable
|
static Map<Label,List<LabelAccessStatistic>> |
getLabelAccessStatisticsMap(Process process,
EMap<ModeLabel,String> modes)
Returns a map: labels accessed by the process -> the corresponding label access statistics
|
static Map<Label,List<LabelAccessStatistic>> |
getLabelAccessStatisticsMap(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a map: labels accessed by the runnable -> the corresponding LabelAccessStatistics
|
static float |
getLabelReadCount(Label label,
Process process,
EMap<ModeLabel,String> modes,
RuntimeUtil.TimeType timeType)
Returns the reads from a process to a certain label.
|
static Map<Label,List<LabelAccess>> |
getLabelToLabelAccessMap(Process process,
EMap<ModeLabel,String> modes)
Returns a map: accessed labels of the process -> the corresponding label accesses
|
static Map<Label,List<LabelAccess>> |
getLabelToLabelAccessMap(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a map: labels accessed from runnable -> the corresponding label accesses
|
static float |
getLabelWriteCount(Label label,
Process process,
EMap<ModeLabel,String> modes,
RuntimeUtil.TimeType timeType)
Returns the writes from a process to a certain label.
|
static List<Runnable> |
getReaderListOfLabel(Label label,
EMap<ModeLabel,String> modes)
Returns a list of runnables reading the label
|
static Set<Runnable> |
getReadersSetOfLabel(Label label,
EMap<ModeLabel,String> modes)
Returns a set of runnables reading the label
|
static List<LabelAccess> |
getReadLabelAccessList(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a list of read label accesses of the runnable
|
static Map<Label,List<LabelAccessStatistic>> |
getReadLabelAccessStatisticsMap(Process process,
EMap<ModeLabel,String> modes)
Returns a map: labels read the process -> the corresponding label access statistics
|
static Map<Label,List<LabelAccessStatistic>> |
getReadLabelAccessStatisticsMap(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a map: labels read by the runnable -> the corresponding LabelAccessStatistics
|
static Set<Label> |
getReadLabelSet(Process process,
EMap<ModeLabel,String> modes)
Returns a set of labels read by the process
|
static Set<Label> |
getReadLabelSet(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a set of labels read by the runnable
|
static List<Runnable> |
getRunnableList(Process process,
EMap<ModeLabel,String> modes)
Returns a list of runnables called by the process
|
static Set<Runnable> |
getRunnableSet(Process process,
EMap<ModeLabel,String> modes)
Returns a set of runnables called by the process - no duplicates
|
static Set<ServerCall> |
getServerCallSet(Process process,
EMap<ModeLabel,String> modes)
Returns a set of server calls for a process
|
static Set<ServerCall> |
getServerCallSet(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a set of server calls for a runnable
|
static List<Ticks> |
getTicks(Process process,
EMap<ModeLabel,String> modes)
Returns a list of all ticks for a given process
|
static List<Ticks> |
getTicks(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a list of all ticks for a given runnable
|
static List<LabelAccess> |
getWriteLabelAccessList(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a list of write label accesses of the runnable
|
static Map<Label,List<LabelAccessStatistic>> |
getWriteLabelAccessStatisticsMap(Process process,
EMap<ModeLabel,String> modes)
Returns a map: labels written by the process -> the corresponding label access statistics
|
static Map<Label,List<LabelAccessStatistic>> |
getWriteLabelAccessStatisticsMap(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a map: labels written by the runnable -> the corresponding LabelAccessStatistics
|
static Set<Label> |
getWriteLabelSet(Process process,
EMap<ModeLabel,String> modes)
Returns a set of labels written by the process
|
static Set<Label> |
getWriteLabelSet(Runnable runnable,
EMap<ModeLabel,String> modes)
Returns a set of labels written by the runnable
|
static List<Runnable> |
getWriterListOfLabel(Label label,
EMap<ModeLabel,String> modes)
Returns a list of runnables writing the label
|
static Set<Runnable> |
getWriterSetOfLabel(Label label,
EMap<ModeLabel,String> modes)
Returns a set of runnables writing the label
|
public static EList<ActivityGraphItem> collectActivityGraphItems(IActivityGraphItemContainer container)
container
- call graph, group, ...public static EList<ActivityGraphItem> collectActivityGraphItems(IActivityGraphItemContainer container, EMap<ModeLabel,String> modes)
container
- call graph, group, ...modes
- (optional) - null workspublic static EList<ActivityGraphItem> collectActivityGraphItems(IActivityGraphItemContainer container, EMap<ModeLabel,String> modes, Function<ActivityGraphItem,Boolean> filter)
container
- call graph, group, ...modes
- (optional) - null worksfilter
- lambda expression (e.g. "a -> a instanceof LabelAccess")public static <T extends ActivityGraphItem> EList<T> collectActivityGraphItems(IActivityGraphItemContainer container, EMap<ModeLabel,String> modes, Class<T> targetClass)
container
- call graph, group, ...modes
- (optional) - null workstargetClass
- subclass of ActivityGraphItem that restricts the resultpublic static <T extends ActivityGraphItem> EList<T> collectActivityGraphItems(IActivityGraphItemContainer container, EMap<ModeLabel,String> modes, Class<T> targetClass, Function<T,Boolean> filter)
container
- call graph, group, ...modes
- (optional) - null workstargetClass
- subclass of ActivityGraphItem that restricts the resultfilter
- lambda expression (e.g. "a -> a instanceof LabelAccess")public static Set<Label> getAccessedLabelSet(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static Set<Label> getReadLabelSet(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static Set<Label> getWriteLabelSet(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static List<LabelAccess> getLabelAccessList(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static List<LabelAccess> getReadLabelAccessList(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static List<LabelAccess> getWriteLabelAccessList(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static Map<Label,List<LabelAccess>> getLabelToLabelAccessMap(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static Map<Label,List<LabelAccessStatistic>> getLabelAccessStatisticsMap(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static Map<Label,List<LabelAccessStatistic>> getReadLabelAccessStatisticsMap(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static Map<Label,List<LabelAccessStatistic>> getWriteLabelAccessStatisticsMap(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static Set<Label> getAccessedLabelSet(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static Set<Label> getReadLabelSet(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static Set<Label> getWriteLabelSet(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static List<LabelAccess> getLabelAccessList(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static Map<Label,List<LabelAccess>> getLabelToLabelAccessMap(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static Map<Label,List<LabelAccessStatistic>> getLabelAccessStatisticsMap(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static Map<Label,List<LabelAccessStatistic>> getReadLabelAccessStatisticsMap(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static Map<Label,List<LabelAccessStatistic>> getWriteLabelAccessStatisticsMap(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static float getLabelReadCount(Label label, Process process, EMap<ModeLabel,String> modes, RuntimeUtil.TimeType timeType)
public static float getLabelWriteCount(Label label, Process process, EMap<ModeLabel,String> modes, RuntimeUtil.TimeType timeType)
public static List<Runnable> getRunnableList(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static Set<Runnable> getRunnableSet(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static float getLabelAccessCountFromStatistics(LabelAccess labelAcc, RuntimeUtil.TimeType accType)
public static List<Runnable> getReaderListOfLabel(Label label, EMap<ModeLabel,String> modes)
label
- labelmodes
- (optional) - null workspublic static Set<Runnable> getReadersSetOfLabel(Label label, EMap<ModeLabel,String> modes)
label
- labelmodes
- (optional) - null workspublic static List<Runnable> getWriterListOfLabel(Label label, EMap<ModeLabel,String> modes)
label
- labelmodes
- (optional) - null workspublic static Set<Runnable> getWriterSetOfLabel(Label label, EMap<ModeLabel,String> modes)
label
- labelmodes
- (optional) - null workspublic static List<SetEvent> collectSetEvents(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static List<ClearEvent> collectClearEvents(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static List<WaitEvent> collectWaitEvents(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static List<ActivityGraphItem> collectEventsOfProcess(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static List<Label> getInterTaskCommunication(Process sender, Process receiver, EMap<ModeLabel,String> modes)
sender
- process (Task or ISR)receiver
- process (Task or ISR)modes
- (optional) - null workspublic static List<Process> getCallingProcesses(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static List<Runnable> getCallingRunnables(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static List<Runnable> getCalledRunnables(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static List<ExecutionNeed> getExecutionNeeds(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static List<ExecutionNeed> getExecutionNeeds(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static List<Ticks> getTicks(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static List<Ticks> getTicks(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null workspublic static Set<ServerCall> getServerCallSet(Runnable runnable, EMap<ModeLabel,String> modes)
runnable
- runnablemodes
- (optional) - null workspublic static Set<ServerCall> getServerCallSet(Process process, EMap<ModeLabel,String> modes)
process
- process (Task or ISR)modes
- (optional) - null works