Reducing the cost of real-time software through a cyclic task abstraction for Ada
type: CreativeWork
description: Ada is unique as a software engineering language, facilitating the development of reliable and maintainable software through clear, unambiguous, modular code enforced to a specification. However, despite comprehensive real-time systems support, Ada lacks the abstraction at the heart of these systems: cyclic tasks. Without it, users resort to solutions decomposing their designs: introducing unnecessary complexity to a real-time systems primitive. Furthermore, the only Ada executive for microcontrollers, GNAT for Bare Boards, impedes the timing analysis of tasks and schedulability analysis of systems. Consequently, Ada and its environments do not reach their potential of producing low-cost, reliable and maintainable real-time systems. This thesis unlocks this latent potential through the development of the Cyclic Task Specification and Acton. The Specification extends Ada to incorporate cyclic tasks within Ada’s existing task abstraction using a simple but powerful model. Acton, on the other hand, is a new Ada executive built from the ground up to support real-time systems, forgoing an existing Ada tasking run-time in favour of building the tasking semantics natively within its kernel. The result is a flexible and portable Ada executive which correctly apportions execution time and enforces cyclic task attributes. Furthermore, tasks only perform user assigned activities and lower priority tasks cannot interrupt a running task. Their contributions come at the cost of a more complex language and larger execution time overheads for kernel operations. For Acton, the up to order of magnitude larger overheads is the cost of simplifying task timing and system schedulability analysis. For the Cyclic Task Specification, the added complexity simplifies the expression of cyclic task patterns for a wide range of systems. Its simple model centred on task attributes permits model expansion outside the formal language, addressing aversions to incorporating high-level abstractions. T…
abstract: Ada is unique as a software engineering language, facilitating the development of reliable and maintainable software through clear, unambiguous, modular code enforced to a specification. However, despite comprehensive real-time systems support, Ada lacks the abstraction at the heart of these systems: cyclic tasks. Without it, users resort to solutions decomposing their designs: introducing unnecessary complexity to a real-time systems primitive. Furthermore, the only Ada executive for microcontrollers, GNAT for Bare Boards, impedes the timing analysis of tasks and schedulability analysis of systems. Consequently, Ada and its environments do not reach their potential of producing low-cost, reliable and maintainable real-time systems. This thesis unlocks this latent potential through the development of the Cyclic Task Specification and Acton. The Specification extends Ada to incorporate cyclic tasks within Ada’s existing task abstraction using a simple but powerful model. Acton, on the other hand, is a new Ada executive built from the ground up to support real-time systems, forgoing an existing Ada tasking run-time in favour of building the tasking semantics natively within its kernel. The result is a flexible and portable Ada executive which correctly apportions execution time and enforces cyclic task attributes. Furthermore, tasks only perform user assigned activities and lower priority tasks cannot interrupt a running task. Their contributions come at the cost of a more complex language and larger execution time overheads for kernel operations. For Acton, the up to order of magnitude larger overheads is the cost of simplifying task timing and system schedulability analysis. For the Cyclic Task Specification, the added complexity simplifies the expression of cyclic task patterns for a wide range of systems. Its simple model centred on task attributes permits model expansion outside the formal language, addressing aversions to incorporating high-level abstractions. T…
author: Bernardi, Patrick
language: en
keywords: Ada, Real-time, Cyclic task, Ravenscar, Real-time executive, Run-time, Microcontroller, Programming abstraction, Bare board, Bare metal, Real-time abstraction
date published: 2017
date modified: 2026-07-24T01:07:11Z
provider: Australian Catholic University
publisher: Networked Digital Library of Theses and Dissertations
type: WebPage
source organization: Australian Catholic University

PropertyValue
property ID: Handle
value: http://hdl.handle.net/1885/112723