A Framework for Flexible Scheduling in the RTSJ

Alexandros Zerzelidis, Andy Wellings

Research output: Contribution to journalArticlepeer-review


This article presents a viable solution to introducing flexible scheduling in the Real-Time specification for Java (RTSJ), in the form of a flexible scheduling framework. The framework allows the concurrent use of multiple application-defined scheduling policies, each scheduling a subset of the total set of threads. Moreover, all threads, regardless of the policy under which they are scheduled, are permitted to share common resources. Thus, the framework can accommodate a variety of interworking applications (soft, firm, and hard) running under the RTSJ. The proposed approach is a two-level scheduling framework, where the first level is the RTSJ priority scheduler and the second level is under application control. This article describes the framework's protocol, examines the different types of scheduling policies that can be supported, and evaluates the proposed framework by measuring its execution cost. A description of an application-defined Earliest-Deadline-First (EDF) scheduler illustrates how the interface can be used. Minimum backward-compatible changes to the RTSJ specification are discussed to motivate the required interface. The only assumptions made about the underlying real-time operating system is that it supports preemptive priority-based dispatching of threads and that changes to priorities have immediate effect.

Original languageEnglish
Article number3
Number of pages44
JournalACM Transactions in Embedded Computing Systems
Issue number1
Publication statusPublished - Aug 2010


  • Algorithms
  • Design
  • Scheduling framework
  • flexible scheduling
  • RTSJ
  • ADA

Cite this