Results 1 - 10
of
17
Parametric timing analysis
- Workshop on Language, Compilers, and Tools for Embedded Systems
, 2001
"... Embedded systems often have real-time constraints. Traditional timing analysis statically determines the maximum execution time of a task or a program in a real-time system. These systems typically depend on the worst-case execution time of tasks in order to make static scheduling decisions so that ..."
Abstract
-
Cited by 38 (8 self)
- Add to MetaCart
Embedded systems often have real-time constraints. Traditional timing analysis statically determines the maximum execution time of a task or a program in a real-time system. These systems typically depend on the worst-case execution time of tasks in order to make static scheduling decisions so that tasks can meet their deadlines. Static determination of worst-case execution times imposes numerous restrictions on real-time programs, which include that the maximum number of iterations of each loop must be known statically. These restrictions can significantly limit the class of programs that would be suitable for a real-time embedded system. This paper describes work-in-progress that uses static timing analysis to aid in making dynamic scheduling decisions. For instance, different algorithms with varying levels of accuracy may be selected based on the algorithm’s predicted worst-case execution time and the time allotted for the task. We represent the worstcase execution time of a function or a loop as a formula, where the unknown values affecting the execution time are parameterized. This parametric timing analysis produces formulas that can then be quickly evaluated at run-time so dynamic scheduling decisions can be made with little overhead. Benefits of this work include expanding the class of applications that can be used in a real-time system, improving the accuracy of dynamic scheduling decisions, and more effective utilization of system resources. 1.
Supporting Timing Analysis by Automatic Bounding of Loop Iterations
- Journal of Real-Time Systems
, 2000
"... . Static timing analyzers, which are used to analyze real-time systems, need to know the minimum and maximum number of iterations associated with each loop in a real-time program so accurate timing predictions can be obtained. This paper describes three complementary methods to support timing analy ..."
Abstract
-
Cited by 32 (5 self)
- Add to MetaCart
. Static timing analyzers, which are used to analyze real-time systems, need to know the minimum and maximum number of iterations associated with each loop in a real-time program so accurate timing predictions can be obtained. This paper describes three complementary methods to support timing analysis by bounding the number of loop iterations. First, an algorithm is presented that determines the minimum and maximum number of iterations of loops with multiple exits. Even when the number of iterations cannot be exactly determined, it is desirable to know the lower and upper iteration bounds. Second, when the number of iterations is dependent on unknown values of variables, the user is asked to provide bounds for these variables. These bounds are used to determine the minimum and maximum number of iterations. Specifying the values of variables is less error prone than specifying the number of loop iterations directly. Finally, a method is given to tightly predict the execution time of in...
Efficient Longest Executable Path Search for Programs with Complex Flows and Pipeline Effects
"... Current development tools for embedded systems donot efficiently support the timing aspect of embedded real-time systems. The most important timing parameter for scheduling and system analysis is the WorstCase Execution Time (WCET) of a program. This paper presents a fast and effective WCET cal-cul ..."
Abstract
-
Cited by 24 (7 self)
- Add to MetaCart
Current development tools for embedded systems donot efficiently support the timing aspect of embedded real-time systems. The most important timing parameter for scheduling and system analysis is the WorstCase Execution Time (WCET) of a program. This paper presents a fast and effective WCET cal-culation method that takes account of low-level machine aspects like pipelining and caches, and high-level pro-gram flow like loops and infeasible paths. The method is more efficient than previous path-based approaches,and can easily handle complex programs. By separating the pipeline analysis from the calculation, the methodis easy to retarget. Experiments confirm that speed does not sacrifice precision, and that programs with extreme numbers of potential execution paths can be analyzed quickly.
A Tool for Automatic Flow Analysis of C-programs for WCET Calculation
- In 8 th IEEE International Workshop on Object-oriented Real-time Dependable Systems (WORDS 2003
, 2003
"... interpr. ..."
Algorithms for infeasible path calculation
- In WCET
, 2006
"... Static Worst-Case Execution Time (WCET) analysis is a technique to derive upper bounds for the execution times of programs. Such bounds are crucial when designing and verifying real-time systems. A key component in static WCET analysis is to derive flow information, such as loop bounds and infeasibl ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
Static Worst-Case Execution Time (WCET) analysis is a technique to derive upper bounds for the execution times of programs. Such bounds are crucial when designing and verifying real-time systems. A key component in static WCET analysis is to derive flow information, such as loop bounds and infeasible paths. Such flow information can be provided as either as annotations by the user, can be automatically calculated by a flow analysis, or by a combination of both. To make the analysis as simple, automatic and safe as possible, this flow information should be calculated automatically with no or very limited user interaction. In this paper we present three novel algorithms to calculate infeasible paths. The algorithms are all designed to be simple and efficient, both in terms of generated flow facts and in analysis running time. The algorithms have been implemented and tested for a set of WCET benchmarks programs. 1
Towards Industry Strength Worst-Case Execution Time Analysis
, 1999
"... The industrial deployment of real-time modeling and analysis techniques such as schedulability analysis creates an urgent need for methods and tools to calculate the execution time of real-time software. Recent advances in this area are promising, but there is yet no integrated solution taking into ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
The industrial deployment of real-time modeling and analysis techniques such as schedulability analysis creates an urgent need for methods and tools to calculate the execution time of real-time software. Recent advances in this area are promising, but there is yet no integrated solution taking into account the multitude of aspects relevant for execution time analysis in an industrial context. In this article we present an architectural framework for execution time analysis. The framework is modular and extendible, in that interfaces and data structures are clearly dened to allow new modules to be added and old ones to be replaced, e.g., making it possible for analysis modules for dierent CPUs to share the same program ow analysis modules. The architecture is intended to be included in an integrated development environment for real-time programs thereby allowing engineers to integrate execution time analysis in their everyday edit-compile-test-debug cycle. In addition to presenting t...
Approximation of Worst-Case Execution Time for Preemptive Multitasking Systems
- In Proceedings of LCTES 00: ACM Workshop on Languages, Compilers and Tools for Embedded Systems, volume 1985 of Lecture Notes in Computer Science
, 2000
"... . The control system of many complex mechatronic products requires for each task the Worst Case Execution Time (WCET), which is needed for the scheduler's admission tests and subsequently limits a task's execution time during operation. If a task exceeds the WCET, this situation is detected and eith ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
. The control system of many complex mechatronic products requires for each task the Worst Case Execution Time (WCET), which is needed for the scheduler's admission tests and subsequently limits a task's execution time during operation. If a task exceeds the WCET, this situation is detected and either a handler is invoked or control is transferred to a human operator. Such control systems usually support preemptive multitasking, and if an object-oriented programming language (e.g., Java, C++, Oberon) is used, then the system may also provide dynamic loading and unloading of software components (modules). Only modern, state-of-the art microprocessors can provide the necessary compute cycles, but this combination of features (preemption, dynamic un/loading of modules, advanced processors) creates unique challenges when estimating the WCET. Preemption makes it difficult to take the state of the caches and pipelines into account when determining the WCET, yet for modern process...
Automatic Utilization of Constraints for Timing Analysis
- Florida State University
, 1999
"... Users of real-time systems are not only interested in obtaining correct computations from their programs, but timely responses as well. Responses that are given past a deadline is not acceptable. Areal-time system is often comprised of a set of tasks that are statically scheduled. Therefore, it is n ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
Users of real-time systems are not only interested in obtaining correct computations from their programs, but timely responses as well. Responses that are given past a deadline is not acceptable. Areal-time system is often comprised of a set of tasks that are statically scheduled. Therefore, it is necessary to determine a program’s execution
Evaluating Static Worst-Case Execution-Time Analysis for a Commercial Real-Time Operating System
- Depature of Computer Science, Mälardalen University
, 2004
"... The worst case execution time (WCET) of a task is a key component in the design and development of hard real-time systems. Malfunctional real-time systems could cause an aeroplane to crash or the anti-lock braking system in a car to stop working. Static WCET analysis is a method to derive WCET estim ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
The worst case execution time (WCET) of a task is a key component in the design and development of hard real-time systems. Malfunctional real-time systems could cause an aeroplane to crash or the anti-lock braking system in a car to stop working. Static WCET analysis is a method to derive WCET estimates of programs. Such analysis obtains a WCET estimate without executing the program, instead relying on models of possible program executions and models of the hardware. In this thesis WCET estimates have been derived on an industrial real-time operating system code with a commercial state-of-the art WCET analysis tool. The goal was to investigate if WCET analysis tools are suited for this type of code. The analyses have been performed on selected system calls and on regions where interrupts are disabled. Our results indicate that static WCET analysis is a feasible method for deriving WCET estimates for real-time operating system code, with more or less intervention by the user. For all analysed code parts of the real-time operating system we were able to obtain WCET estimates. Our results show that the WCET of system calls are not always fixed but could depend on the current state of the operating system. These things are by nature hard to derive statically, and often require much manual intervention and detailed system knowledge. The regions where interrupts are disabled are easier to analyse automatically, since they are usually short and have simple code structures. 1
Studies on Different Modeling Aspects for Tight Calculations of Worst Case Execution Time
- In WIP-Proceedings of the 21th IEEE Real-Time Systems Symposium
, 2000
"... One architectural feature of modern processors, is speculative branch processing. In this paper we present a method, to consider branch processing with static timing analysis. The determination of path information is crucial for the correctness of WCET estimation. To maintain this information during ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
One architectural feature of modern processors, is speculative branch processing. In this paper we present a method, to consider branch processing with static timing analysis. The determination of path information is crucial for the correctness of WCET estimation. To maintain this information during development and provide it to the analysis tool is important to know the correspondence between source code and assembly code structures. In the second part of this paper we propose a method to perform a mapping between source code and assembly code, using structural information of the program as well as compiler generated debug information. 1

