Live heap space bounds for real-time systems

  • Authors:
  • Martin Kero;Paweł Pietrzak;Johan Nordlander

  • Affiliations:
  • Department of Computer Science and Electrical Engineering, Luleå University of Technology;Department of Computer Science and Electrical Engineering, Luleå University of Technology;Department of Computer Science and Electrical Engineering, Luleå University of Technology

  • Venue:
  • APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Live heap space analyses have so far been concerned with the standard sequential programming model. However, that model is not very well suited for embedded real-time systems, where fragments of code execute concurrently and in orders determined by periodic and sporadic events. Schedulability analysis has shown that the programming model of real-time systems is not fundamentally in conflict with static predictability, but in contrast to accumulative properties like time, live heap space usage exhibits a very state-dependent behavior that renders direct application of schedulability analysis techniques unsuitable. In this paper we propose an analysis of live heap space upper bounds for real-time systems based on an accurate prediction of task execution orders. The key component of our analysis is the construction of a nondeterministic finite state machine capturing all task executions that are legal under given timing assumptions. By adding heap usage information inferred for each sequential task, our analysis finds an upper bound on the inter-task heap demands as the solution to an integer linear programming problem. Values so obtained are suitable inputs to other analyses depending on the size of a system's persistent state, such as running time prediction for a concurrent tracing garbage collector.