PADS: An approach to modeling resource demand and supply for the formal analysis of hierarchical scheduling

  • Authors:
  • Anna Philippou;Insup Lee;Oleg Sokolsky

  • Affiliations:
  • Department of Computer Science, University of Cyprus, Nicosia, Cyprus;Department of Computer and Info. Science, University of Pennsylvania, Philadelphia, PA, USA;Department of Computer and Info. Science, University of Pennsylvania, Philadelphia, PA, USA

  • Venue:
  • Theoretical Computer Science
  • Year:
  • 2012

Quantified Score

Hi-index 5.23

Visualization

Abstract

As real-time embedded systems become more complex, resource partitioning is increasingly used to guarantee real-time performance. Recently, several compositional frameworks of resource partitioning have been proposed using real-time scheduling theory with various notions of real-time tasks running under restricted resource supply environments. However, these real-time scheduling-based approaches are limited in their expressiveness in that, although capable of describing resource-demand tasks, they are unable to model resource supply. This paper describes a process algebraic framework PADSfor reasoning about resource demand and resource supply inspired by the timed process algebra ACSR. In ACSR, real-time tasks are specified by enunciating their consumption needs for resources. To also accommodate resource-supply processes in PADS, given a resource cpu, we write cpu@? to denote the availability of cpu for a requesting task process. Using PADS, we define a supply-demand relation where a pair (T,S) belongs to the relation if the demand process T can be scheduled under supply S. We develop a theory of compositional schedulability analysis as well as a technique for synthesizing an optimal supply process for a set of tasks. Furthermore, we define ordering relations between supplies which describe when a supply offers more resource capacity than another. With this notion it is possible to formally represent hierarchical scheduling approaches that assign more ''generous'' resource allocations to tasks in exchange for a simple representation. We illustrate our techniques via a number of examples.