Application-defined scheduling in Ada

This paper is a proposal for an application program interface (API) that would enable Ada applications to use application-defined scheduling algorithms in a way compatible with the scheduling model of the Ada 95 Real-Time Systems Annex. With this API, several application-defined schedulers, implemented by extending a tagged type, can coexist in the system in a predictable way together with their scheduled tasks, and with regular fixed priority tasks directly scheduled by the run-time system. Task synchronization through protected objects is also considered by adding the Stack Resource Policy, which can be used in a large variety of fixed and dynamic priority scheduling policies.

[1]  Mario Aldea Rivas,et al.  Michael González Harbour: MaRTE OS: An Ada Kernel for Real-Time Embedded Applications , 2001, Ada-Europe.

[2]  Alan Burns,et al.  A Round Robin Scheduling Policy for Ada , 2003, Ada-Europe.

[3]  Michael González Harbour,et al.  A POSIX-Ada Interface for Application-Defined Scheduling , 2002, Ada-Europe.

[4]  Kwei-Jay Lin,et al.  Implementing a general real-time scheduling framework in the RED-Linux real-time kernel , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[5]  Theodore P. Baker,et al.  Stack-based scheduling of realtime processes , 1991, Real-Time Systems.

[6]  Buttazzo Giorgio,et al.  Mutual exclusion in operating systems with application defined scheduling , 2003 .

[7]  Michael González Harbour,et al.  POSIX-compatible application-defined scheduling in MaRTE OS , 2002, Proceedings 14th Euromicro Conference on Real-Time Systems. Euromicro RTS 2002.

[8]  L. Abeni,et al.  A new kernel approach for modular real-time systems development , 2001, Proceedings 13th Euromicro Conference on Real-Time Systems.

[9]  Corporate Ieee,et al.  Information Technology-Portable Operating System Interface , 1990 .

[10]  Michael B. Jones,et al.  Vassal: loadable scheduler support for multi-policy scheduling , 1998 .

[11]  Giorgio C. Buttazzo,et al.  Integrating multimedia applications in hard real-time systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[12]  T. P. Baker,et al.  The GNU Ada runtime library (GNARL) , 1994, WADAS '94.

[13]  Bryan Ford,et al.  CPU inheritance scheduling , 1996, OSDI '96.