Evolving real-time systems using hierarchical scheduling and concurrency analysis

  • Authors:
  • John Regehr;Alastair Reid;Kirk Webb;Michael Parker;Jay Lepreau

  • Affiliations:
  • -;-;-;-;-

  • Venue:
  • RTSS '03 Proceedings of the 24th IEEE International Real-Time Systems Symposium
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

We have developed a new way to look at real-time andembedded software: as a collection of execution environmentscreated by a hierarchy of schedulers. Common schedulersinclude those that run interrupts, bottom-half handlers,threads, and events. We have created algorithms forderiving response times, scheduling overheads, and blockingterms for tasks in systems containing multiple executionenvironments. We have also created task scheduler logic,a formalism that permits checking systems for race conditionsand other errors. Concurrency analysis of low-levelsoftware is challenging because there are typically severalkinds of locks, such as thread mutexes and disabling interrupts,and groups of cooperating tasks may need to acquiresome, all, or none of the available types of locks to createcorrect software. Our high-level goal is to create systemsthat are evolvable: they are easier to modify in responseto changing requirements than are systems created usingtraditional techniques. We have applied our approach totwo case studies in evolving software for networked sensornodes.