< Back to previous page

Publication

Hybrid timing analysis based on a block-isolation technique

Book - Dissertation

Real-time embedded systems are electronic systems designed to perform a dedicated function within a given time frame. They are often a part of a more extensive system. Such systems must provide a guaranteed worst-case execution time to satisfy the time constraints. Therefore, understanding the timing behaviour of such systems is of the utmost importance. Various timing analysis techniques have been developed in the past years, such as static timing analysis, measurement-based timing analysis, and hybrid timing analysis. Static timing analysis is able to provide reliable timing information by constructing an accurate timing model of the system. Due to the increased complexity of modern systems, it is no longer feasible to derive good quality timing analysis results within a reasonable cost using static timing analysis. Measurement-based timing analysis is developed as an alternative to static timing analysis. The target program is executed on the target hardware, which reduces the cost needed to create and deal with the complicated hardware model in static timing analysis. However, the result is highly dependent on the test cases exercised during the analysis. Hybrid timing analysis combines both static and measurement-based techniques to provide reasonable timing analysis results at a reasonable cost. Since not all real-time systems have to meet strict deadlines, different applications usually have different requirements regarding the quality of the results and the engineering cost spent on deriving the results. However, most of the current hybrid timing analysis techniques cannot be easily adjusted by the user. Consequently, either the result might not provide reliable timing information for the application, or unnecessary engineering resources are spent during the analysis. In this thesis, we introduce a hybrid approach that allows the user to adjust the granularity level of the timing analysis based on the end-user requirement. At a higher granularity level, the target program is divided into more blocks with smaller size. The results suggest that at a higher granularity level, the cost of the analysis increases and the results become more reliable. To perform timing analysis on an individual code block, we developed a block-isolation technique that can decouple the execution of a block from the rest of the program. Because of this technique, our hybrid timing analysis approach is able to: (i) generate input data specifically for a block; (ii) adjust the hardware to a desired state for timing analysis; (iii) guarantee the code under analysis is the same as the code under real operation. To reduce the cost of timing analysis, we investigated the possibility of reusing the timing information of a software component based on the idea of model-based design. The results prove that the proposed component-based approach allows the safe reuse of the timing information when applying the block-isolation technique. However, a certain degree of pessimism is introduced by assuming the worst-case execution scenarios of all the components occur simultaneously. In real-time systems, failing to meet the deadline does not necessarily imply a failure of the system, and a certain degree of deadline miss is still tolerable. Therefore, we extended our approach with probabilistic timing analysis to provide more flexibility and potentially reduce the pessimism in our hybrid approach.
Number of pages: 134
ISBN:978-90-5728-687-2
Publication year:2021
Keywords:Doctoral thesis
Accessibility:Open