Brevet FR3162300A1 — publié le 20251121

L’invention concerne un procédé de commande d’un dispositif (104) d’un véhicule (102) afin de modifier un état du véhicule (102), du type comportant, pour chaque problème (P) dans un domaine (D), le domaine (D) définissant des actions possibles du dispositif (104) modifiant l’état du véhicule (102) et le problème (P) indiquant un état de départ du véhicule (102) et un état d’arrivée du véhicule (102) : - une recherche, par un logiciel planificateur (110) installé sur un système informatique embarqué (108) dans le véhicule (102), d’une solution (S) au problème (P), la solution (S) listant des actions du domaine (D) pour passer de l’état de départ à l’état d’arrivée ; - une évaluation, par un logiciel valideur (116) installé sur le système informatique embarqué (108), de la solution (S) ; et - si la solution (S) est validée par le logiciel valideur (116), une transmission de la solution (S) à un système (106) de commande du dispositif (104) pour que le dispositif réalise successivement les actions listées dans la solution (S). Le logiciel valideur (116) est préalablement obtenu par une traduction, par un logiciel traducteur (114) exécuté par un système informatique (114) extérieur au véhicule (102), du domaine (D) de sorte que le logiciel valideur (116) soit dédié au domaine (D), puis installé sur le système informatique embarqué (108). Figure pour l’abrégé : Fig. 1 VALIDATION DE SOLUTION D’UN PLANIFICATEUR DANS UN VÉHICULE Domaine technique de l’invention La présente invention concerne : - un procédé de commande d’un dispositif d’un véhicule au moyen d’un logiciel planificateur et d’un logiciel valideur, - un logiciel traducteur d’un domaine en logiciel valideur, - un logiciel valideur, et - un véhicule comportant un système informatique embarqué sur lequel est installé un logiciel planificateur et un logiciel valideur. Dans la description et les revendications qui vont suivre, un système informatique peut regrouper un ou plusieurs ordinateurs, par exemple connectés en réseau. Arrière-plan technologique On connait de l’état de la technique un procédé de commande d’un dispositif d’un véhicule afin de modifier un état du véhicule, du type comportant, pour chaque problème dans un domaine, le domaine définissant des actions possibles du dispositif modifiant l’état du véhicule et le problème indiquant un état de départ du véhicule et un état d’arrivée du véhicule : une recherche, par un logiciel planificateur installé sur un système informatique embarqué dans le véhicule, d’une solution au problème, la solution listant des actions du domaine pour passer de l’état de départ à l’état d’arrivée ; une évaluation, par un logiciel valideur installé sur le système informatique embarqué, de la solution ; et si la solution est validée par le logiciel valideur, une transmission de la solution à un système de commande du dispositif pour que le dispositif réalise successivement les actions listées dans la solution. Le domaine fourni en entrée du logiciel planificateur est généralement une spécification de haut niveau de mission, par exemple en langage PDDL. En outre, le logiciel planificateur est générique en ce sens qu’il peut utiliser différents domaines. Ainsi, le logiciel planificateur est généralement très complexe, en tout cas trop complexe pour être certifié à un niveau de certification supérieur à DAL E (de l’anglais « Design Assurance Level »), qui est le niveau le plus bas en avionique, le plus haut niveau étant DAL A. Ainsi, la solution fournie par le logiciel planificateur ne peut donc pas être utilisé telle quelle lorsque le dispositif est de niveau de certification supérieur. Le logiciel valideur apporte une solution à ce problème, en évaluant successivement les solutions trouvées par le logiciel planificateur. Ainsi, le niveau de certification de la solution sera celui du logiciel valideur, qui est plus simple que le logiciel planificateur. Par exemple, il existe le logiciel valideur pour PDDL appelé « VAL » (https://github.com/KCL-Planning/VAL). Ce logiciel valideur est générique, c’est-à-dire qu’il attend en entrée le domaine dans lequel la solution doit être évaluée. De ce fait, il est volumineux (plus de 25 000 lignes de C++) et n’a pas été conçu pour être embarqué dans un système critique. En particulier, il est conçu pour enregistrer les actions définies dans le domaine, dans des structures de données temporaires allouées dynamiquement en mémoire. Cela signifie que ni l’espace mémoire à allouer, ni la taille de cet espace ne sont indiqués explicitement dans le logiciel valideur VAL, mais alloués en cours d’exécution au fur et à mesure des besoins. En particulier, il est difficile de s’assurer qu’il reste suffisamment de mémoire lorsqu’une allocation est demandée, ce qui risque d’interrompre le logiciel valideur au cours de son fonctionnement . Ainsi, le logiciel valideur VAL est encore trop complexe pour espérer un niveau de certification DAL B ou DAL A. Il peut ainsi être souhaité de prévoir un procédé de commande qui permette de s’affranchir d’au moins une partie des problèmes et contraintes précités. Il est donc proposé un procédé de commande d’un dispositif d’un véhicule afin de modifier un état du véhicule, du type précité, caractérisé en ce que le logiciel valideur est préalablement obtenu par une traduction, par un logiciel traducteur exécuté par un système informatique extérieur au véhicule, du domaine de sorte que le logiciel valideur soit dédié au domaine, puis installé sur le système informatique embarqué. Ainsi, du fait que le logiciel valideur est dédié au domaine, il peut être simple et donc plus facilement certifiable à un niveau de certification élevé. En particulier, les actions du domaine sont explicitement définies dans le logiciel valideur, de sorte que leur allocation mémoire se fait de manière statique, au moment du lancement (de l’initialisation) du logiciel valideur, ce qui évite le risque d’interruption pour manque de mémoire en cours d’exécution. L’invention peut en outre comporter l’une ou plusieurs des caractéristiques optionnelles suivantes, selon toute combinaison techniquement possible. De façon optionnelle, la traduction comporte : une génération de code informatique implémentant une fonction dite d’entrée conçue pour recevoir l’état de départ et pour enregistrer l’état de départ dans une variable d’état ; pour chaque action du domaine, une génération de code informatique implémentant une fonction dite d’action conçue pour modifier la variable d’état selon l’action considérée ; une génération de code informatique implémentant une fonction dite de séquencement conçue pour successivement appeler les fonctions d’action correspondant aux actions de la solution dans l’ordre listé, afin de successivement modifier la variable d’état ; et une génération de code informatique implémentant une fonction dite de validation conçue pour comparer l’état d’arrivée du problème à la variable d’état après une exécution de la fonction de séquencement, afin de valider ou non la solution. De façon optionnelle également, chaque action inclut une formule de modification de l’état du véhicule, la fonction d’action étant conçue pour mettre en œuvre cette formule de modification. De façon optionnelle également, au moins une action du domaine comporte une ou plusieurs préconditions sur l’état du véhicule, la fonction d’action étant conçue pour vérifier chaque précondition de l’action considérée et pour modifier la variable d’état si chaque précondition est vérifiée. De façon optionnelle également, le domaine est en langage PDDL. De façon optionnelle également, le logiciel traducteur est conçu pour générer le code informatique du logiciel valideur en langage SCADE. Il est également proposé un programme d’ordinateur, dit logiciel traducteur, téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur, caractérisé en ce qu’il comprend des instructions pour, lorsque ledit logiciel traducteur est exécuté sur un système informatique : générer, à partir d’un domaine définissant des actions possibles d’un dispositif modifiant un état d’un véhicule comportant le dispositif, du code informatique implémentant un logiciel valideur dédié au domaine, ce logiciel valideur étant conçu pour évaluer une solution à un problème indiquant un état de départ du véhicule et un état d’arrivée du véhicule, la solution listant des actions du domaine pour passer de l’état de départ à l’état d’arrivée. Il est également proposé un programme d’ordinateur, dit logiciel valideur, téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur, caractérisé en ce qu’il comprend des instructions pour, lorsque ledit logiciel valideur est exécuté sur un système informatique : évaluer une solution à un problème dans un domaine, le domaine définissant des actions possibles du dispositif modifiant l’état du véhicule, le problème indiquant un état de départ du véhicule et un état d’arrivée du véhicule, et la solution listant des actions du domaine pour passer de l’état de départ à l’état d’arrivée ; les instructions étant dédiées au domaine. Il est également proposé un véhicule, par exemple un aéronef, comportant : un dispositif ; un système de commande du dispositif ; et un système informatique embarqué sur lequel est installé : un logiciel planificateur conçu pour rechercher une solution à un problème dans un domaine, le domaine définissant des actions possibles du dispositif modifiant l’état du véhicule, le problème indiquant un état de départ du véhicule et un état d’arrivée du véhicule, et la solution listant des actions du domaine pour passer de l’état de départ à l’état d’arrivée, et un logiciel valideur conçu pour évaluer la solution et, si la solution est validée, transmettre la solution au système de commande du dispositif pour que le dispositif réalise successivement les actions listées dans la solution ; caractérisé en ce que le logiciel valideur est dédié au domaine. Brève description des figures L’invention sera mieux comprise à l’aide de la description qui va suivre, donnée uniquement à titre d’exemple et faite en se référant aux dessins annexés dans lesquels : la FIG. 1 est une vue simplifiée d’une installation comportant, d’une part, un véhicule muni d’un système informatique embarqué sur lequel est installé un logiciel planificateur et, d’autre part, un système informatique extérieur sur lequel est installé un logiciel traducteur conçu pour générer un logiciel valideur, la FIG. 2 est un schéma bloc d’un procédé de commande d’un dispositif du véhicule de la FIG. 1 , la FIG. 3 est une vue simplifiée d’un mode de réalisation avec plusieurs logiciels valideurs installés sur le système informatique embarqué, et la FIG. 4 est une vue simplifiée d’un ordinateur pouvant faire partie des systèmes informatiques utilisés dans l’invention. Description détaillée de l’invention En référence à la FIG. 1 , une installation 100 selon l’invention va à présent être décrite. L’installation 100 comporte tout d’abord un véhicule 102, tel qu’un aéronef. Le véhicule 102 comporte en particulier un dispositif 104, un système 106 de commande du dispositif 104 et un système informatique embarqué 108. Le dispositif 104 est par exemple un dispositif de guidage et/ou de suivi de trajectoire, ou bien un dispositif de pilotage de capteurs (par exemple, caméra ou pose [position et/ou attitude]) ou bien d’actuateurs (par exemple, préhension ou mobilité). Un logiciel planificateur 110 est installé sur le système informatique embarqué 108, afin de pouvoir être exécuté par ce dernier. Le logiciel planificateur 110 est conçu pour recevoir un domaine D et un problème P dans ce domaine D. Le domaine D définit en particulier des actions possibles du dispositif 104, ces actions modifiant un état du véhicule 102. Le problème P indique un état de départ du véhicule 102 et un état d’arrivée du véhicule 102. Le logiciel planificateur 110 est ainsi conçu pour rechercher une solution S au problème P dans le domaine D, cette solution S listant des actions du domaine D pour passer de l’état de départ à l’état d’arrivée. L’installation 100 comporte en outre système informatique 112 extérieur au véhicule 102. Un logiciel traducteur 114 est installé sur le système informatique débarqué 112. Le logiciel traducteur 114 est conçu pour traduire le domaine D en un logiciel valideur 116, c’est-à-dire pour générer le logiciel valideur 116 à partir du domaine D. Le logiciel valideur 116 est conçu, une fois installé sur le système informatique embarqué 108 (comme cela est illustré par la flèche pointillée sur la FIG. 1 ), pour recevoir le problème P et la solution S à ce problème P trouvée par le planificateur 110 afin de valider ou non la solution S. Si la solution S est validée, le logiciel valideur 116 est conçu pour transmettre la solution S au système de commande 106, afin que ce dernier commande le dispositif 104 pour que le dispositif 104 réalise successivement les actions listées dans la solution S. Comme cela sera expliqué plus en détail par la suite, le logiciel valideur 116 est dédié au domaine D, de sorte qu’il n’a besoin de recevoir que le problème P et la solution S pour valider cette dernière, mais pas le domaine D. En référence à la FIG. 2 , un procédé 200 selon l’invention de commande du dispositif 104, va à présent être décrit. Le procédé 200 comporte tout d’abord une phase préparatoire 202, regroupant les étapes 204 à 210 suivantes. Ainsi, au cours d’une étape 204, le logiciel traducteur 114 obtient le domaine D. Comme indiqué plus haut, le domaine D définit des actions possibles du dispositif 104, ces actions modifiant l’état du véhicule 102. Chaque action du domaine D inclut en particulier une formule de modification de l’état du véhicule 102. Par ailleurs, une ou plusieurs des actions du domaine D peuvent comporter une ou plusieurs préconditions sur l’état du véhicule 102, ces préconditions devant être vérifiées pour la mise en œuvre de l’action. Par exemple, le domaine peut être écrit en langage PDDL (de l’anglais « Planning Domain Description Language »), auquel cas la définition de chaque action suit un formalisme spécifique. Ce formalisme peut être illustré par l’exemple suivant d’une action consistant à verser le contenu d’une première carafe appelée jug1 dans une deuxième carafe appelée jug2 : Les caractères « :action » introduit l’action. Les caractères « :parameters » introduit les paramètres utilisés par l’action. Dans le présent exemple, il s’agit des paramètres jug1 et jug 2. Les caractères « :precondition » introduit les préconditions de l’action. Dans le présent exemple, il s’agit du fait que la capacité de la carafe jug2 est supérieur au contenu de la carafe jug2. Les caractères « :effect » introduit la formule de modification de l’état. Dans le présent exemple, lorsque la carafe jug1 est complètement vidée, le contenu de la carafe jug2 est augmenté du contenu de la carafe jug1 et le contenu de la carafe jug1 est mis à zéro. Le cas où la carafe jug1 n’est que partiellement vidée, est omis dans l’exemple ci-dessus. Au cours d’une étape 206, le logiciel traducteur 114 analyse le domaine D pour rechercher les actions du domaine D, et, pour chaque action trouvée, la ou les préconditions de cette action et la formule de cette action. Par exemple, le logiciel traducteur 114 repère dans le domaine D des groupes de caractères indique la présence des éléments recherchés. Par exemple, dans le cas du langage PDDL, le logiciel traducteur 114 repère les caractères « :action » pour trouver chaque action. En outre, le logiciel traducteur 114 repère les caractères « :precondition » et les caractères « :effect » pour trouver respectivement les préconditions et la formule de l’action. Au cours d’une étape 208, le logiciel traducteur 114 génère du code informatique constituant le logiciel valideur 116. Plus précisément, le logiciel traducteur 114 génère du code informatique implémentant une fonction dite d’entrée conçue pour recevoir l’état de départ et pour enregistrer l’état de départ dans une variable d’état. Le logiciel traducteur 114 génère en outre, pour chaque action trouvée, du code informatique implémentant une fonction dite d’action conçue pour modifier la variable d’état selon l’action considérée. La fonction d’action est conçue pour vérifier chaque précondition, si présente, de l’action considérée, et, si chaque précondition est vérifiée, pour mettre en œuvre la formule de modification de l’action considérée. Le logiciel traducteur 114 génère en outre du code informatique implémentant une fonction dite de séquencement conçue pour successivement appeler les fonctions d’action correspondant aux actions de la solution dans l’ordre listé, afin de successivement modifier la variable d’état. Le logiciel traducteur 114 génère en outre du code informatique implémentant une fonction dite de validation conçue pour comparer l’état d’arrivée du problème à la variable d’état après une exécution de la fonction de séquencement, afin de valider ou non la solution. Par exemple, le code informatique du logiciel valideur 116 peut être en langage SCADE. Dans ce cas, l’action précédente serait convertie dans le code informatique suivant : Du fait que le logiciel valideur 116 comporte explicitement les fonctions d’entrée, d’action, de séquencement et de sortie, les structures de données utilisées par ces dernières sont allouées de manière statique au moment du lancement du logiciel valideur 116. Au cours d’une étape 210, le logiciel valideur 116 généré par le logiciel traducteur 114 est installé sur le système informatique embarqué 108, afin d’être exécuté par ce dernier. Cette installation comporte en particulier une compilation du logiciel valideur 116 en code machine exécutable par le système informatique embarqué 108. Par exemple, le langage SCADE est tout d’abord convertit en code C, ce dernier étant alors compilé en code machine. Le procédé 200 comporte alors une phase opérationnelle 212, regroupant les étapes 214 à 224 suivantes. Au cours d’une étape 214, le logiciel planificateur 110 obtient le domaine D et un problème P dans ce domaine D, ce problème P indiquant un état de départ du véhicule 102 et un état d’arrivée du véhicule 102. Au cours d’une étape 216, le logiciel planificateur 110 recherche une solution S au problème P, cette solution S listant des actions du domaine D pour passer de l’état de départ à l’état d’arrivée. Au cours d’une étape 218, le logiciel valideur 116 évalue la solution S trouvée par le logiciel planificateur 110, afin de valider ou non cette solution S. Au cours d’une étape 220, si la solution S n’est pas validée par le logiciel valideur 116, ce dernier ne transmet pas la solution S au système de commande 106. Au cours d’une étape 222, si la solution S est validée par le logiciel valideur 116, ce dernier transmet la solution S au système de commande 106. Au cours d’une étape 224, le système de commande 106 commande le dispositif 104 pour que ce dernier réalise successivement les actions listées dans la solution S. La phase opérationnelle 212 est répétée pour chaque nouveau problème P dans le domaine D, reçu par le logiciel planificateur 110. Le logiciel planificateur 110 étant générique, il est capable de trouver des solutions à des problèmes dans différents domaines D 1 …D N . Ainsi, en référence à la FIG. 3 , de manière générale, autant de logiciels valideurs 116 1 …116 N que de domaines D 1 …D N seront installés sur le système informatique embarqué 108. Chacun de ces logiciels valideurs 116 1 …116 N sera dédié à l’un respectif des domaines D 1 …D N et obtenu par le logiciel traducteur 114 auquel ce domaine D 1 …D N aura été fourni en entrée. Chacun de ces logiciels valideurs 116 1 …116 N sera ainsi conçu pour évaluer la solution S 1 …S N d’un problème P 1 …P N dans le domaine D 1 …D N associé. Chaque système informatique 108, 112 peut comporter un ou plusieurs ordinateurs comme l’ordinateur 400 illustré sur la FIG. 4 . L’ordinateur 400 comporte une unité 402 de traitement de données (telle qu’un microprocesseur) et une mémoire principale 404 (telle qu’une mémoire RAM, de l’anglais « Random Access Memory ») accessible par l’unité de traitement 402. L’ordinateur 400 comporte en outre par exemple une interface réseau et/ou un support lisible par ordinateur, comme par exemple un support local 406 (tel qu’un disque dur local) ou bien un support distant (tel qu’un disque dur distant et accessible via l’interface réseau au travers d’un réseau de communication) ou bien encore un support amovible (tel qu’une clé USB, de l’anglais « Universal Serial Bus », ou bien un CD, de l’anglais « Compact Disc » ou bien un DVD, de l’anglais « Digital Versatile Disc ») lisible au moyen d’un lecteur approprié de l’ordinateur 400 (tel qu’un port USB ou bien un lecteur de disque CD et/ou DVD). Un programme d'ordinateur 408, par exemple tout ou partie des logiciels 110, 114, 116, contenant des instructions pour l’unité de traitement 402 est enregistré sur le support local 406 et/ou téléchargeable via l’interface réseau. Ce programme d’ordinateur 408 est par exemple destiné à être chargé dans la mémoire principale 404, afin que l’unité de traitement 402 exécute ses instructions. En conclusion, il apparaît clairement qu’un logiciel valideur tel que celui décrit précédemment est suffisamment simple pour obtenir un niveau de certification élevé. On notera par ailleurs que l’invention n’est pas limitée aux modes de réalisation décrits précédemment. Il apparaîtra en effet à l'homme de l'art que diverses modifications peuvent être apportées aux modes de réalisation décrits ci-dessus, à la lumière de l'enseignement qui vient de lui être divulgué. Dans la présentation détaillée de l’invention qui est faite précédemment, les termes utilisés ne doivent pas être interprétés comme limitant l’invention aux modes de réalisation exposés dans la présente description, mais doivent être interprétés pour y inclure tous les équivalents dont la prévision est à la portée de l'homme de l'art en appliquant ses connaissances générales à la mise en œuvre de l'enseignement qui vient de lui être divulgué. Procédé (200) de commande d’un dispositif (104) d’un véhicule (102) afin de modifier un état du véhicule (102), du type comportant, pour chaque problème (P) dans un domaine (D), le domaine (D) définissant des actions possibles du dispositif (104) modifiant l’état du véhicule (102) et le problème (P) indiquant un état de départ du véhicule (102) et un état d’arrivée du véhicule (102) : une recherche (216), par un logiciel planificateur (110) installé sur un système informatique embarqué (108) dans le véhicule (102), d’une solution (S) au problème (P), la solution (S) listant des actions du domaine (D) pour passer de l’état de départ à l’état d’arrivée ; une évaluation (218), par un logiciel valideur (116) installé sur le système informatique embarqué (108), de la solution (S) ; et si la solution (S) est validée par le logiciel valideur (116), une transmission (222) de la solution (S) à un système (106) de commande du dispositif (104) pour que le dispositif réalise successivement les actions listées dans la solution (S) ; caractérisé en ce que le logiciel valideur (116) est préalablement obtenu par une traduction (208), par un logiciel traducteur (114) exécuté par un système informatique (114) extérieur au véhicule (102), du domaine (D) de sorte que le logiciel valideur (116) soit dédié au domaine (D), puis installé (210) sur le système informatique embarqué (108). Procédé (200) selon la revendication 1, dans lequel la traduction comporte : une génération de code informatique implémentant une fonction dite d’entrée conçue pour recevoir l’état de départ et pour enregistrer l’état de départ dans une variable d’état ; pour chaque action du domaine, une génération de code informatique implémentant une fonction dite d’action conçue pour modifier la variable d’état selon l’action considérée ; une génération de code informatique implémentant une fonction dite de séquencement conçue pour successivement appeler les fonctions d’action correspondant aux actions de la solution dans l’ordre listé, afin de successivement modifier la variable d’état ; et une génération de code informatique implémentant une fonction dite de validation conçue pour comparer l’état d’arrivée du problème à la variable d’état après une exécution de la fonction de séquencement, afin de valider ou non la solution. Procédé (200) selon la revendication 1 ou 2, dans lequel chaque action inclut une formule de modification de l’état du véhicule (102), la fonction d’action étant conçue pour mettre en œuvre cette formule de modification. Procédé (200) selon l’une quelconque des revendications 1 à 3, dans lequel au moins une action du domaine (D) comporte une ou plusieurs préconditions sur l’état du véhicule (102), la fonction d’action étant conçue pour vérifier chaque précondition de l’action considérée et pour modifier la variable d’état si chaque précondition est vérifiée. Procédé (200) selon l’une quelconque des revendications 1 à 4, dans lequel le domaine (D) est en langage PDDL. Procédé (200) selon l’une quelconque des revendications 1 à 5, dans lequel le logiciel traducteur (114) est conçu pour générer le code informatique du logiciel valideur (116) en langage SCADE. Programme d’ordinateur, dit logiciel traducteur (114), téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur, caractérisé en ce qu’il comprend des instructions pour, lorsque ledit logiciel traducteur (114) est exécuté sur un système informatique (108) : générer, à partir d’un domaine (D) définissant des actions possibles d’un dispositif (104) modifiant un état d’un véhicule (102) comportant le dispositif (104), du code informatique implémentant un logiciel valideur (116) dédié au domaine (D), ce logiciel valideur (116) étant conçu pour évaluer une solution (S) à un problème (P) indiquant un état de départ du véhicule (102) et un état d’arrivée du véhicule (102), la solution (S) listant des actions du domaine (D) pour passer de l’état de départ à l’état d’arrivée. Programme d’ordinateur, dit logiciel valideur (116), téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur, caractérisé en ce qu’il comprend des instructions pour, lorsque ledit logiciel valideur (116) est exécuté sur un système informatique (108) : évaluer une solution (S) à un problème (P) dans un domaine (D), le domaine (D) définissant des actions possibles du dispositif (104) modifiant l’état du véhicule (102), le problème (P) indiquant un état de départ du véhicule (102) et un état d’arrivée du véhicule (102), et la solution (S) listant des actions du domaine (D) pour passer de l’état de départ à l’état d’arrivée ; les instructions étant dédiées au domaine (D). Véhicule (102), par exemple un aéronef, comportant : un dispositif (104) ; un système (106) de commande du dispositif (104) ; et un système informatique embarqué (108) sur lequel est installé : un logiciel planificateur (110) conçu pour rechercher une solution (S) à un problème (P) dans un domaine (D), le domaine (D) définissant des actions possibles du dispositif (104) modifiant l’état du véhicule (102), le problème (P) indiquant un état de départ du véhicule (102) et un état d’arrivée du véhicule (102), et la solution (S) listant des actions du domaine (D) pour passer de l’état de départ à l’état d’arrivée, et un logiciel valideur (116) conçu pour évaluer la solution (S) et, si la solution (S) est validée, transmettre la solution (S) au système (106) de commande du dispositif (104) pour que le dispositif (104) réalise successivement les actions listées dans la solution (S) ; caractérisé en ce que le logiciel valideur (116) est dédié au domaine (D).