Procédé de génération d’un fichier exécutable appelant, adapté pour être exécuté dans un mode appelant d’un processeur, tout en faisant appel à une fonction « externe » définit dans un fichier exécutable appelé, adapté pour être exécuté dans un mode appelé dudit processeur, le procédé consistant à : - fournir (210) une librairie comportant un méta-modèle définissant un prototype pour les appels à des fonctions « externes » et une pluralité de modèles, chaque modèle correspondant à une instanciation du méta-modèle pour une fonction « externe » particulière et implémentant une interface côté appelant définissant une fonction dite « interne » côté appelant et une interface côté appelé définissant une fonction dite « interne » côté appelé ; - éditer (220) un fichier source appelant du fichier exécutable appelant, le fichier source appelant comportant un appel à la fonction « interne » côté appelant, l’exécution par l’interface côté appelant de la fonction « interne » côté appelant consistant à appeler la fonction « externe » associée audit modèle et à renvoyer le résultat de l’exécution de ladite fonction « externe » par le code appelé ; - compiler (230) le fichier source appelant avec la librairie, le compilateur vérifiant que l’appel de la fonction « interne » côté appelant est conforme au contrat de ladite fonction « interne » côté appelant et la conformité au contrat de la fonction « externe » étant garantie par construction du modèle associé, de sorte que le fichier exécutable appelant obtenu est cohérent. Procédé de génération d’un fichier exécutable appelé, adapté pour être exécuté dans un mode appelé d’un processeur, le fichier exécutable appelé définissant une fonction « externe » pouvant être appelée par un fichier exécutable appelant, adapté pour être exécuté dans un mode appelant dudit processeur, le procédé consistant à : - fournir (210) une librairie comportant un méta-modèle définissant un prototype pour les appels à des fonctions « externes » et une pluralité de modèles, chaque modèle correspondant à une instanciation du méta-modèle pour une fonction « externe » particulière et implémentant une interface côté appelant définissant une fonction dite « interne » côté appelant et une interface côté appelé définissant une fonction dite « interne » côté appelé ; - éditer (220) un fichier source appelé du fichier exécutable appelé, le fichier source appelé comportant un appel à la fonction « interne » côté appelé, l’exécution par l’interface côté appelé de la fonction « interne » côté appelé consistant à recevoir l’appel à la fonction « externe » associée audit modèle et à renvoyer le résultat de l’exécution de ladite fonction « externe » par le code appelé ; - compiler (230) le fichier source appelé avec la librairie, le compilateur vérifiant que l’appel de la fonction « interne » côté appelé est conforme au contrat de ladite fonction « interne » côté appelé et la conformité au contrat de la fonction système « externe » étant garantie par construction du modèle associé, de sorte que le fichier exécutable appelé obtenu est cohérent. Procédé selon l’une quelconque des revendications précédentes, dans lequel l’appel à une fonction « interne » côté appelant ou côté appelé conduit l’interface correspondante côté appelant ou côté appelé à construire une instance des arguments d’entrées de la fonction « externe » avant d’appeler la fonction système « externe » sur ladite instance. Procédé selon l’une quelconque des revendications précédentes, dans lequel l’appel à une fonction « interne » côté appelant ou côté appelé conduit l’interface correspondante côté appelant ou côté appelé à renvoyer des arguments de sortie correspondant à ceux de la fonction « externe ». Procédé selon l’une quelconque des revendications précédentes, dans lequel la fonction « externe » est une fonction système. Procédé selon l’une quelconque des revendications 1 à 5, dans lequel le mode appelant est un mode utilisateur du processeur et le mode appelé est un mode superviseur du processeur. Procédé selon l’une quelconque des revendications 1 à 5, dans lequel le mode appelant est un mode superviseur du processeur et le mode appelé est un mode hyperviseur du processeur. Procédé selon l’une quelconque des revendications 1 à 5, dans lequel le mode appelant est un mode superviseur ou un mode hyperviseur du processeur et le mode appelé est un mode moniteur du processeur. Procédé selon l’une quelconque des revendications 1 à 8, dans lequel le fichier appelant est un logiciel applicatif et le fichier appelé est un système d’exploitation. Procédé selon l’une quelconque des revendications 1 à 8, dans lequel le fichier appelant est un système d’exploitation et le fichier appelé est un hyperviseur. Procédé selon l’une quelconque des revendications 1 à 8, dans lequel le fichier appelant est un système d’exploitation ou un hyperviseur et le fichier appelé est un moniteur d’environnement d’exécution de confiance. Procédé selon l’une quelconque des revendications précédentes, dans lequel le méta-modèle est défini par un « trait » du langage RUST, chaque modèle par une « structure » du langage RUST, et la fonction « interne » côté appelant ou côté appelé par une « fonction » du langage RUST. Procédé selon l’une quelconque des revendications précédentes, dans lequel, côté appelé, tous les modèles sont identiques et ne diffèrent donc pas du méta-modèle. Librairie comportant un méta-modèle définissant un prototype pour les appels à des fonctions « externes » et une pluralité de modèles, chaque modèle correspondant à une instanciation du méta-modèle pour une fonction « externe » particulière et implémentant une interface côté appelant définissant une fonction dite « interne » côté appelant et une interface côté appelé définissant une fonction dite « interne » côté appelé.