WCET determination tool for embedded systems software

  • Authors:
  • Carsten Albrecht;Roman Koch;Thilo Pionteck;Erik Maehle;Michael Werner;Rudolf Fuchsen

  • Affiliations:
  • University of Lübeck, Lübeck, Germany;University of Lübeck, Lübeck, Germany;University of Lübeck, Lübeck, Germany;University of Lübeck, Lübeck, Germany;Sysgo AG, Klein-Winternheim, Germany;Sysgo AG, Klein-Winternheim, Germany

  • Venue:
  • Proceedings of the 1st international conference on Simulation tools and techniques for communications, networks and systems & workshops
  • Year:
  • 2008

Quantified Score

Hi-index 0.01

Visualization

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.