Avionics Software Installation on Multi-Core Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The qualification of multi-core processor platforms in the avionics field is challenging due to contentions arising from shared resources, making it difficult to guarantee deterministic behavior, especially when using Commercial Off-The-Shelf processors where internal design details are inaccessible.

Innovation Solution

A method for installing avionics software applications on a multi-core processor platform that involves determining an installation plan using rules to associate software processing operations with specific cores and time clusters, optimizing criticality levels and prohibiting critical applications on certain cores to minimize contention risks, and incorporating additional time margins for safety.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple software applications are run simultaneously on a multi-core processor, then processing capacity and productivity are improved, but contention risks increase due to sharing of common resources

Engineering Contradiction:
Improveprocessing capacityVSAvoidcontention risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the multi-core processor into distinct execution environments or partitions, where each software application is assigned to a specific core or isolated execution context. This segmentation prevents contention by ensuring that software applications do not share common resources simultaneously, thereby maintaining both high processing capacity and reliability.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If shared resources are used by multiple cores, then device complexity is reduced, but deterministic behavior cannot be guaranteed due to uncontrollable contention

Engineering Contradiction:
Improveprocessor structureVSAvoiddeterministic behavior
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent applies local quality by creating heterogeneous execution environments where different cores or execution contexts have different resource access privileges. Critical software applications are assigned to cores with guaranteed resource access, while non-critical applications share resources. This localized differentiation ensures deterministic behavior for critical functions while maintaining overall system simplicity.

Inventive Principle:
Principle #3Local quality

3Ease of manufacture

If COTS processors are used, then ease of manufacture and cost are improved, but qualification difficulty increases due to inaccessible internal design details

Engineering Contradiction:
Improveprocessor acquisitionVSAvoidqualification difficulty
Core Design Contradiction:
Ease of manufactureVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces an intermediary layer (such as a hypervisor, operating system, or resource management software) that sits between the software applications and the COTS processor. This intermediary abstracts the processor's internal design details, providing a controlled interface for resource allocation and contention management. This allows the use of commercially available processors while still enabling qualification through software-based determinism.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If critical software applications are installed on all cores, then productivity is maximized, but the risk of contention affecting critical functions increases

Engineering Contradiction:
Improveapplication executionVSAvoidcontention impact on critical functions
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent assigns different quality levels or priority classifications to different cores or execution contexts. Critical software applications are restricted to running on cores designated as 'critical' or 'safety' cores, which have guaranteed resource access and protected execution environments. Non-critical applications run on other cores that may share resources. This local differentiation maximizes overall productivity while protecting critical functions from contention impacts.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10983777B2Method and electronic device for installing avionics software applications on a platform comprising a multi-core processor, related computer program and electronic system
Publication Date: 2021.04.20 THALES SA
  • US10983777B2 patent drawing
  • US10983777B2 patent drawing
  • US10983777B2 patent drawing

AI summary

This method for installing avionics software applications on a platform with a multi-core processor and intended to be on board an aircraft is implemented by an electronic installation device. Each avionics software application includes one or several software processing operations to be executed over a predefined time period including one or several successive time clusters.It comprises determining an installation plan for the software processing operations according to a first installation rule and/or a second installation rule, the installation plan defining, for each software processing operation, at least one core and at least one time cluster that are associated with said software processing operation, the first rule consisting of predetermining a list of authorized combinations of criticality levels for applications intended to be executed during a same time cluster, and the second rule consisting of prohibiting installation of critical software application(s) on one or several cores of the plurality of cores.