Patent ID: 10761916

Abstract:
A method for executing programs (P) in an electronic system for applications with functional safety that comprises a single-processor or multiprocessor processing system (10) and a further independent control module (15), including: carrying out a decomposition of a program (P) that includes a safety function (SF) to be executed via said system (10) into a plurality of parallel subprograms (P1, . . . , Pn); assigning execution of each parallel subprogram (P1, . . . , Pn) to a respective processing module (11) of the system, in particular a processor (C1, . . . , Cm) of said multiprocessor architecture (10) or a virtual machine (V1, . . . , Vn) associated to one of said processors (C1, . . . , Cm); carrying out in the system (10), periodically according to a cycle frequency (fcyc) of the program (P) during normal operation of said system (10), in the context of said safety function (SF), self-test operations (Astl, Asys, Achk) associated to each of said subprograms (P1, . . . , Pn) and to the corresponding processing modules (11) on which they are executed, said self-test operations (Astl, Asys, Achk) including: diagnostic-self-test operations (Astl), which carry out diagnostic self-tests; operations (Asys) of self-testing of system values measured on the architecture (10); applicational self-test operations (Achk), which include operations of checking execution of conditions of use (Acou) and/or execution of LBISTs (Logic Built-in Self-Tests) (Abst), and including: generating respective self-test data (Dstl, Dsys, Dchk) corresponding to the self-test operations (Astl, Asys, Achk) and carrying out checking operations (51, 61) on said self-test data (Dstl, Dsys, Dchk); exchanging said self-test data (Dstl, Dsys, Dchk) continuously via a protocol (PL) of messages (MC) with the further independent control module (15); carrying out at least part of said checking operations (51, 61) in said further control module (15); and executing said operation of decomposition of the program (P) into a plurality of parallel subprograms (P1, . . . , Pn) to achieve a coverage target (Astl, Asys, Achk) for each of said self-test operations (Astl, Asys, Achk) associated to a respective subprogram (P1, . . . , Pn) or processing module (11) in such a way that it respects a given failure-probability target (g12).