Measuring and analyzing real-time performance

To satisfy the deadline requirements of hard real-time systems, programmers must be able to determine the maximum execution time of any task. The use of Flex, an experimental real-time language being developed for the Concord project, is examined. The Flex system embodies an empirical approach that first measures the actual timing behavior and then uses the measurement results to determine the parameters of a programmer-supplied timing model. This timing model gives the system the programmer's understanding of the program's timing behavior in terms of its asymptotic time complexity. The measurement system determines the exact values of model parameters using sophisticated statistical methods to derive the program's timing characteristics precisely. Flex is better than performance analyzers that examine only code because it can cope with more kinds of program structures and its does not depend on an underlying hardware model. The integration of measurement and formal analysis is discussed.<<ETX>>