Research Article
WCET determination tool for embedded systems software
@INPROCEEDINGS{10.4108/ICST.SIMUTOOLS2008.3044 , author={Carsten Albrecht and Roman Koch and Thilo Pionteck and Erik Maehle and Michael Werner and Rudolf Fuchsen}, title={WCET determination tool for embedded systems software}, proceedings={1st International ICST Conference on Simulation Tools and Techniques for Communications, Networks and Systems}, publisher={ICST}, proceedings_a={SIMUTOOLS}, year={2010}, month={5}, keywords={}, doi={10.4108/ICST.SIMUTOOLS2008.3044 } }
- Carsten Albrecht
Roman Koch
Thilo Pionteck
Erik Maehle
Michael Werner
Rudolf Fuchsen
Year: 2010
WCET determination tool for embedded systems software
SIMUTOOLS
ICST
DOI: 10.4108/ICST.SIMUTOOLS2008.3044
Abstract
Embedded systems are special-purpose computer systems within environments such as automotive, avionic, telecommunication, etc. As these systems often perform time-critical control tasks, it is necessary to precisely predict their behaviour. Software-based solutions on the one hand provide high flexibility. On the other hand, especially when multiple software processes are to be executed concurrently on the same hardware, the software approach makes prediction more difficult. Predictions essentially rely on the knowledge of when a software process terminates. For a reasonable system architecture it has to be known at an early stage of design time to scale the system well. Dynamic factors such as cache usage, amount of data, and availability of shared resources have great impact on the result. Thus, tools are necessary to determine execution time as accurate as possible. The execution time is commonly approximated by determining the interval of best and worst case execution time (BCET & WCET). While the BCET can be roughly estimated by evaluating the shortest path the achievement of good approximations for the WCET is heavy. Considering all possible execution paths of the analysed program as well as the effects of the underlying architecture on the timing properties affected by pipelining and caches create a hard issue to solve. Nevertheless these figures are important in certification processes in the application fields given above as well as performance prediction and solving design issues. Another motivation is the lack of tools targeted to an intermediate level of abstraction. In general tools are re-targetable frameworks analysing high-level code with sophisticated algorithms or similar algorithms are applied to low-level code that lacks context and type information.