Optional user annotations such as targets of indirect function calls, upper bounds on loop iteration counts, recursion depth, code snippets that should not be analyzed, infeasible code, etc.
Annotations are only required if the information cannot be detected automatically by aiT, e.g. for dynamic program properties. Furthermore, the amount of required annotations is dramatically reduced by several advanced techniques such as automatic loop-bound and array-call recognition.
Annotations for library functions (RT, communication) and RTOS functions can be provided by the respective developers either on source level or in separate files.
allocfamily (such as
calloc) must not occur in the analyzed code.
longjmpstatements must not be used in the analyzed code.
The worst-case execution time of each task in a real-time system has to be known prior to its execution. In event-triggered or periodic systems (e.g. RMA) it is required for schedulability analysis, in time-triggered systems (e.g. TTA, FlexRay,…) it is required for determining a static schedule.
aiT WCET Analyzers can replace the error-prone methods based on measuring and testing. Thus, aiT enhances safety.
The increasing performance of microcontrollers enables more and more functionality to be implemented by a single embedded control unit. The software is complex and the timing behavior of the interacting software components is rarely known. Typically, it is not practical — or even possible — to test the system with all potential inputs.
aiT WCET Analyzers compute the results automatically. The computed WCET bounds are valid for all possible inputs and each execution of a task under any circumstances. No longer do you have to manually determine worst-case inputs and to measure execution time over and over again. Thus, aiT saves valuable development time.