# US 2018/0322282 A1 · Method and electronic device for monitoring an avionics software application, related computer program and avionics system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0322282 A1
- Document ID: US20180322282A1
- Status: Published application
- Kind: A1
- Application number: 15/970,151
- Filed: 2018-05-03
- Published: 2018-11-08
- Earliest claimed: 2017-05-04
- Assignees: Thales
- Applicants: Thales
- Inventors: Michael MARCOURT; Stéphane Jean-Mary Stéphane MONNIER; Marc Etienne FUMEY
- Web page: https://patentgrep.com/patent/US20180322282A1

## CPC

- G06F 21/554: {involving event detection and direct action}
- B64D 45/00: Aircraft indicators or protectors not otherwise provided for
- G06F 11/3013: {where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems (testing or monitoring of control systems or parts thereof G05B23/02)}
- G06F 11/3409: {for performance assessment}
- G06F 21/55: Detecting local intrusion or implementing counter-measures
- G06F 21/556: {involving covert channels, i.e. data leakage between processes (inhibiting the analysis of circuitry or operation with measures against power attack G06F21/755)}
- G06F 21/577: {Assessing vulnerabilities and evaluating computer system security}
- G08G 5/21: located onboard the aircraft
- H04L 63/0227: {Filtering policies (mail message filtering H04L51/212)}
- H04L 63/1408: {by monitoring network traffic (monitoring network traffic per se H04L43/00)}
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- G06F 2201/81: Threshold
- G06F 2201/865: Monitoring of software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- B64D: EQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
- G08G: TRAFFIC CONTROL SYSTEMS (guiding railway traffic, ensuring the safety of railway traffic B61L; arrangement of road signs or traffic signals E01F9/00; radar or analogous systems, sonar systems, lidar systems specially adapted for traffic control G01S13/91, G01S15/88, G01S17/88; {radar or analogous systems, sonar systems, lidar systems specially adapted for anti-collision purposes G01S13/93, G01S15/93, G01S17/93})
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Disclosed is method for monitoring an avionics software application, able to be executed on a platform including resources and hosting an operating system, the platform being intended to be on board an aircraft, implemented by an electronic monitoring device. The method includes: implementing at least one monitoring operation of the application from among syntactic monitoring of each call emitted by the application to the operating system; semantic monitoring of each call emitted by the application to the operating system; monitoring of a dynamic of the calls emitted by the application to the operating system; and monitoring of the use by the application of the resources of the platform; and generating an alarm signal if an abnormal behavior of the application is detected.

## Claims

### Claim 1

A method for monitoring an avionics software application, able to be executed on a platform including resources and hosting an operating system, the platform being intended to be on board an aircraft, the method being implemented by an electronic monitoring device and comprising:
implementing at least one monitoring operation of the application from among the following four monitoring operations:
syntactic monitoring of each call emitted by the application to the operating system,
semantic monitoring of each call emitted by the application to the operating system,
monitoring of a dynamic of the calls emitted by the application to the operating system, and
monitoring of the use of platform resources by the application;
generating an alarm signal if an abnormal behavior of the application is detected during the implementation of at least one of said monitoring operations.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the syntactic monitoring includes verifying at least one of first, second and third syntactic criteria,
the first syntactic criterion being the belonging of each emitted call to a list of authorized calls to the operating system,
the second syntactic criterion being the compliance of the series of calls with authorized call sequences,
the third syntactic criterion being the compliance of each datum relative to a predefined corresponding format.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the semantic monitoring includes verifying that at least one of first, second and third semantic criteria is met by one or more data contained in each call from the application to the operating system,
the first semantic criterion being the belonging to a predefined interval of values of the update time frame for each datum,
the second semantic criterion being a coherence criterion for at least one predefined datum, and
the third semantic criterion being a coherence criterion between at least two predefined data.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the operating system is able to offer several services, of different types, to the application, and
wherein the monitoring of the dynamics includes verifying that at least one of first, second, third, fourth and fifth dynamics criteria is met by the application,
the first dynamics criterion being that the number of services required by the application is, during a period of time with a predefined duration, below a predefined maximum number of services per unit of time,
the second dynamics criterion being that a number of errors on the services is, during a period of time with a predefined duration, below a predefined maximum number of errors,
the third dynamics criterion being that the number of different types of services required by the application is, during a period of time with a predefined duration, below a predefined maximum number of types,
the fourth dynamics criterion being that a variation in the number of calls for services by type and during different predefined time periods is below a threshold, and
the fifth dynamics criterion being that a number of call sequences for services is, during a period of time with a predefined duration, below a predefined maximum number of sequences.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the monitoring of the use includes verifying that at least one resource parameter belongs to a respective predefined value interval, each parameter being chosen from among the group consisting of: a memory access number, a quantity of memory used, a dispersion of memory accesses, a CPU execution time, a GPU execution time, a number of used inputs of the platform and a number of used outputs of the platform.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the implementing of at least one monitoring operation includes implementing at least two of the monitoring operations from among the syntactic monitoring, semantic monitoring, monitoring of the dynamics and monitoring of the use.

### Claim 7 (depends on 6)

The method according to claim 6, wherein the implementing of at least one monitoring operation includes implementing at least three of the monitoring operations from among the syntactic monitoring, semantic monitoring, monitoring of the dynamics and monitoring of the use.

### Claim 8 (depends on 7)

The method according to claim 7, wherein the implementing of at least one monitoring operation includes implementing each of the monitoring operations from among the syntactic monitoring, semantic monitoring, monitoring of the dynamics and monitoring of the use.

### Claim 9 (depends on 1)

The method according to claim 1, wherein the implementing of at least one monitoring operation is carried out regularly, during substantially the entire execution duration of the avionics software application by the platform.

### Claim 10 (depends on 1)

A non-transitory computer-readable medium including a computer program comprising software instructions which, when executed by a computer, implement a method according to claim 1.

### Claim 11

An electronic device for monitoring an avionics software application, able to be executed on a platform including resources and hosting an operating system, the platform being intended to be on board an aircraft,
the electronic monitoring device comprising:
a monitoring module configured to implement at least one monitoring operation of the application from among the following four monitoring operations:
syntactic monitoring of each call emitted by the application to the operating system,
semantic monitoring of each call emitted by the application to the operating system,
monitoring of a dynamic of the calls emitted by the application to the operating system, and
monitoring of the use of platform resources by the application;
a generating module configured to generate an alarm signal if an abnormal behavior of the application is detected during the implementation of at least one of said monitoring operations.

### Claim 12 (depends on 11)

An electronic avionics system, comprising:
a memory able to store at least one avionics software application;
a platform able to execute each avionics software application, the platform including resources and hosting an operating system; and
an electronic monitoring device for monitoring each avionics software application, the electronic monitoring device being according to claim 11.
