Brevet FR3071630A1 (20190329)

REVENDICATIONS1.- Procédé de gestion de modules logiciels (40) embarqués pour un calculateur électronique (10) embarqué d'un appareil électrique de coupure (2) d'un courant électrique, caractérisé en ce que ce procédé comporte des étapes : a) d'acquisition (1020), par un système de gestion (20) de modules logiciels du calculateur électronique (10) de l'appareil de coupure (2), d'un module logiciel (40) comprenant un code exécutable (42) et un contrat de service (44) déclarant les ressources matérielles requises par le code exécutable (42) lors de son exécution par le calculateur électronique ; b) d'installation (1004) du module logiciel (40) à l'intérieur d'un réceptacle hôte (50), par le système de gestion (20), ce réceptacle hôte appartenant à un ensemble de réceptacles hôtes (50) destinés à former chacun un environnement d'exécution d'un module logiciel (40), chaque réceptacle (50) comportant à cet effet un emplacement mémoire défini statiquement à l'intérieur d'une mémoire (14) du calculateur électronique (10) et étant associé à un sous-ensemble (52) de ressources matérielles du calculateur électronique (10) ; c) d'exécution (1010) du module logiciel (40) par le calculateur électronique (10) ; en ce que l'étape c) comporte, lors de l'exécution du module logiciel (40), une étape consistant à vérifier (1012), au moyen du système de gestion (20), si l'exécution du module logiciel (40) respecte le contrat de service (44) de ce module logiciel (40), en ce que l'exécution est autorisée à se poursuivre si le contrat de service est respecté et en ce que, si l'exécution du module logiciel (40) est identifiée comme ne respectant pas le contrat de service, une étape de récupération (1016) est mise en place dans le but d'interrompre l'exécution du module logiciel (40) par le calculateur électronique (10). 2.- Procédé selon la revendication 1, caractérisé en ce que le procédé comporte, avant l'étape b), une étape préalable de vérification (1002) du contrat de service (44) du module logiciel (40), l'installation du module logiciel (40) étant refusée si les ressources matérielles requises par le contrat de service (44) ne sont pas compatibles avec les ressources matérielles offertes par les réceptacles (50) disponibles. 3.- Procédé selon la revendication 1 ou 2, caractérisé en ce que, parallèlement à l'étape c), au moins un deuxième module logiciel (40) distinct installé dans un autre réceptacle (50) distinct est également en cours d'exécution, une deuxième étape 27 consistant à vérifier (1012) si l'exécution de ce deuxième module logiciel (40) respecte le contrat de service (44) de ce deuxième module logiciel (40) étant également mise en oeuvre. 5 4.- Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que, lors de l'étape c), l'exécution du code (42) comporte l'exécution de plusieurs tâches en temps réel par une unité logique de calcul (12) du calculateur électronique (10), chaque tâche étant associée à une fréquence d'exécution prédéfinie, et en ce que l'exécution des tâches par l'unité logique de calcul (12) est régulée par un premier 10 ordonnanceur (26) implémenté par le système de gestion (20) puis par un deuxième ordonnanceur implémenté par un système d'exploitation (18) en temps réel du calculateur électronique (10), le premier ordonnanceur (26) autorisant sélectivement l'exécution des tâches en attente d'exécution en fonction de leur fréquence d'exécution et leur affectant un niveau de priorité d'exécution pour le deuxième ordonnanceur qui dépend de la 15 fréquence d'exécution définie pour cette tâche. 5.- Procédé selon la revendication 4, caractérisé en ce qu'un premier groupe de tâches regroupe des tâches associées à une première fréquence d'exécution prédéfinie, en ce qu'un deuxième groupe de tâches regroupe des tâches associées à une deuxième 20 fréquence d'exécution prédéfinie inférieure à la première fréquence d'exécution, en ce que, lors de l'exécution du module logiciel (40), l'exécution des tâches appartenant au premier groupe est déclenchée (902) par l'ordonnanceur (26) lors de chaque réception (900) d'un signal de cadencement périodique, et en ce que l'exécution des tâches appartenant au deuxième groupe est 25 déclenchée (914) périodiquement par le premier ordonnanceur (26), les tâches appartenant au deuxième groupe présentant une priorité plus basse que les tâches appartenant au premier groupe. 6.- Procédé selon la revendication 4 ou 5, caractérisé en ce que l'appareil de 30 coupure (2) est connecté à une installation électrique pour interrompre un courant électrique alternatif au sein de cette installation électrique, les fréquences d'exécution étant choisies en fonction de la fréquence du courant électrique alternatif. 7.- Procédé selon l'une quelconque des revendications précédentes, caractérisé 35 en ce que la stratégie de récupération mise en oeuvre lors de l'étape de récupération 28 (1016) en cas de violation du contrat de service (44) d'un module logiciel (40) comporte l'arrêt de l'exécution du module logiciel (40). 8.- Procédé selon l'une quelconque des revendications précédentes, caractérisé 5 en ce que la stratégie de récupération mise en oeuvre lors de l'étape de récupération (1016) en cas de violation du contrat de service (44) d'un module logiciel (40) est choisie en fonction d'une valeur de criticité du code exécutable (42) déclarée dans le contrat de service (44) de ce module logiciel (40). 10 9.- Appareil de coupure (2) d'un courant électrique comprenant un calculateur électronique embarqué (10) apte à piloter le fonctionnement de l'appareil de coupure (2) et destiné à recevoir des modules logiciels embarqués (40), le calculateur électronique (10) étant caractérisé en ce qu'il comporte un ensemble de réceptacles hôtes (50) destinés à former chacun un environnement d'exécution d'un 15 module logiciel (40), chaque réceptacle (50) comportant à cet effet un emplacement mémoire défini statiquement à l'intérieur d'une mémoire (14) du calculateur électronique (10) et étant associé à un sous-ensemble (52) de ressources matérielles du calculateur électronique (10), ce calculateur électronique (10) implémentant en outre un système de gestion (20) 20 programmé pour mettre en oeuvre des étapes : a) d'acquisition d'un module logiciel (40) comprenant un code exécutable (42) et un contrat de service (44) déclarant les ressources matérielles requises par le code exécutable (42) lors de son exécution par le calculateur électronique ; b) d'installation (1004) du module logiciel (40) à l'intérieur d'un des réceptacles 25 (50) ; c) d'exécution (1010) du module logiciel (40) par le calculateur électronique (10), l'étape c) comportant, lors de l'exécution du module logiciel (40), une étape consistant à vérifier (1012) si l'exécution du module logiciel (40) respecte le contrat de service (44) de ce module logiciel (40), l'exécution est autorisée à se poursuivre si le contrat de service 30 est respectée et, si l'exécution du module logiciel (40) est identifiée comme ne respectant pas le contrat de service, une étape de récupération (1016) est mise en place dans le but d'interrompre l'exécution du module logiciel (40) par le calculateur électronique (10). 10.- Appareil de coupure (2) selon la revendication 9, caractérisé en ce que le 35 calculateur électronique (10) est en outre programmé pour mettre en oeuvre, avant l'étape 29 b), une étape préalable de vérification (1002) du contrat de service (44) du module logiciel (40), l'installation du module logiciel (40) étant refusée si les ressources matérielles requises par le contrat de service (44) ne sont pas compatibles avec les ressources matérielles offertes par les réceptacles (50) disponibles. 5