Software Partitioning
Section 08: Software Certification (DO-178C)
Definition
A design technique that provides isolation between software components or applications sharing common computing resources (processor, memory, I/O), such that a fault in one partition cannot adversely affect software in another partition. Partitioning has two dimensions: time partitioning (ensuring each partition receives its allocated processing time regardless of the behavior of other partitions) and space partitioning (ensuring each partition can only access its own memory regions and cannot corrupt another partition's data or code). Robust partitioning provides sufficient isolation that a software error in one partition cannot propagate to another partition, allowing partitions of different software levels to coexist on the same hardware platform.
Where This Shows Up
Partitioning is essential for Integrated Modular Avionics (IMA) architectures, where multiple software applications of different criticality levels share a common computing platform. Without robust partitioning, a defect in a Level D application could corrupt a Level A application running on the same processor. The partitioning mechanism — typically implemented by a real-time operating system with partitioning support (e.g., ARINC 653) — must itself be verified to the highest DAL of any hosted application. RTCA DO-297 / EUROCAE ED-124 provides additional guidance on IMA partitioning.
Primary Sources
Addresses partitioning as a means of supporting software level assignment and isolation.
Provides detailed guidance on robust partitioning in IMA architectures.
Related Terms
Need help navigating certification?
Understanding the terminology is the first step. If you need expert guidance on DO-178C, DO-254, ARP4754B, or any aspect of FAA, EASA, or TCCA certification, our team is here to help.