Honeywell Aerospace Engineering

Slack Stealing

Slack Stealing

Honeywell is working to solve a number of open processing problems critical to maintaining our technology advantage in real-time safety critical systems, such as those found in avionics and automotive platforms.

Slack stealing efficiently allocates unscheduled and reclaimed CPU time for aperiodic task execution. Slack servers provide this rapid response to non-critical aperiodic tasks (when generalized rate monotonic scheduling (GRMS) is used for safety critical periodic tasks) by favoring a high-priority, event-driven aperiodic task when all critical deadlines for periodic tasks can be guaranteed.

Slack Stealing also reclaims compute time from periodic tasks that complete early for reassignment to aperiodic tasks. This reclamation capability is particularly useful in safety-critical systems where worst-case execution time bounds are often highly conservative.

Time partitioning with slack stealing offers significant benefits over an ARINC 653 partitioned RTOS.

More rapid response times for event-triggered processor tasks layered on time-triggered safety critical task traffic. Host mixtures of application tasking models: periodic, event-driven, client/server (e.g., Host critical vehicle control and C4ISR applications on the same system).
Improved network bus integration - slack server implemented in Honeywell's DeosTM RTOS yielded >3X improvement in bus throughput for a COTS FTP protocol.
Increased system configuration flexibility for reduced system development and certification costs - slack server on Honeywell's Primus DeosTM RTOS cut in half the "certified" application configurations required to support customers.


Reduction of hardware requirements - slack stealing optimizes processor usage, allowing hosting of more applications without increasing CPU space. Honeywell's DeosTM implementation obtained a 7X reduction in reserved processor utilization for an FTP stack, allowing >90% allocation for critical periodic tasks, with sufficient slack for aperiodic tasks to run in unscheduled and reclaimed time. Additionally, an avionics Communication Management Unit written in SDL (System Design Language) hosted on a DeosTM implementation required no additional hardware. The CMU added to an ARINC 653 architecture did.

Slack stealing can be implemented on top of COTS RTOS - in testing, a thin middle layer implementation on a COTS RTOS proved fully functional.
Better incremental processing performance - improves display refresh rates, delivering above the guaranteed minimum whenever processor space is available.


Event triggered aperiodic messages ping-pong between a PC and two embedded target VME/VMIC boards, each co-hosting a time triggered, safety-critical workload and a COTS IP/UDP ack/nak message stream for display update flow control. Potential applications of Slack Stealing Protocol include:

Tactical Internet access for helicopters.
Integration with SDL applications.
Valuable "plug and play" enabler technology - configuration flexibility provided by slack stealing makes the protocol valuable in modular applications.
Performance degradations from slack overheads are often offset for interactive applications with short exchanges.


Honeywell has also redefined and extended slack stealing to support advanced time partitioning concepts such as selectively sharing slack both within and between time partitions. Additional extensions include support for:

dynamic tasks
dynamic time partitions
incremental and design-to-time tasks
overhead accounting policies
slack priority semantics for non-monotonic task criticality assignments


Slack stealing for event driven processes has been demonstrated in MetaH, the foundation for AADL (an emerging SAE standard). Adaptations for dynamic time partitions have been implemented and flown in Honeywell's Primus Epic® RTOS DeosTM.