CAST-32A


CAST-32A, Multi-core Processors is a position paper, by the Certification Authorities Software Team. It is not official guidance, but is considered informational by certification authorities such as the FAA and EASA. A key point is that Multi-core processor "interference can affect execution timing behavior, including worst case execution time."
The original document was published in 2014 by an "international group of certification and regulatory authority representatives." The current revision A was released in 2016. "The Federal Aviation Administration and European Aviation Safety Agency worked with industry to quantify a set of requirements and guidance that should be met to certify and use multi-core processors in civil aviation, described e.g. in the FAA CAST-32A Position Paper and the EASA Use of MULticore proCessORs in airborne Systems research report."
For applicants certifying under EASA, AMC 20-193 has now superseded CAST-32A since its release on 21 January 2022. FAA released its Advisory Circular AC 20-193 guidance in January 2024, which is almost identical to AMC 20-193.
The first mixed-criticality multicore real-time operating system avionics systems was certified in 2021. The objectives of the standard are applicable to software on multicore processors, including the operating system. However, the nature of the underlying processor hardware must be examined in detail to identify potential interference channels due to inter-core contention for shared resources. Verification that multicore interference channels have been mitigated can be accomplished through the use of interference generators i.e. software tuned to create a heavy usage pattern on a shared resource.

Objectives

The paper presents ten objectives that must be met for Design Assurance Level A or B. Six of the objectives apply for DAL C. The paper does not apply for DAL D or E.
ObjectiveApplicable Design Assurance Levels
MCP Planning 1A, B, C
MCP Resource Usage 1A, B, C
MCP Resource Usage 2A, B
MCP Planning 2A, B, C
MCP Resource Usage 3A, B
MCP Resource Usage 4A, B
MCP Software 1A, B, C
MCP Software 2A, B, C
MCP Error Handling 1A, B
MCP Accomplishment Summary 1A, B, C