PESIMDES provides estimations for two important performance metrics of a distributed embedded system: latencies and memory requirements. On the one hand the simulation allows to record the maximum observed end-to-end delay for the processing of event streams. On the other hand the maximum observed activation backlog of every single task can be monitored.
These results can be compared to the timing/memory requirements of the system and possible deadline misses or buffer overflows may be detected. The sequence of events leading to such a requirement violation can easily be traced back as all generated input stimuli are stored into trace-files which can be used to replicate the simulation.
Like any other simulation based approach, PESIMDES can only analyze single input instances out of all possible system inputs. Thus the tool itself cannot provide hard bounds for the worst-case performance of a system. It is up to the designer to provide a set of appropriate simulation stimuli which cover all relevant corner cases.
PESIMDES offers various components to model the environment, the computation and communication resources, the tasks and the buffers of a distributed embedded system. To create a new system model, it is suffcient to select the proper components, instantiate them and link them together. The following table gives an overview of the current modeling power of PESIMDES.
|Input event models||periodic|
periodic with jitter
periodic with burst
sporadic with jitter
sporadic with burst
input from tracefile
|Resource models & Scheduling||FP resource (preemptive/non-preemptive)|
EDF resource (preemptive/non-preemptive)
TDMA resource (preemptive/non-preemptive)*
|Processing Components||task with single activation|
task with multiple activation (AND)
task with multiple activation (OR)
The modeling scope can easily be extended by adding new components to the library.
(*) By non-preemptive TDMA we mean that the execution of a task starts only if it can be concluded within the remaining time of the corresponding TDMA-slot, i.e. if the task can be executed without preemption.