Brevet FR2871592A1 — publié le 20051216

L'invention concerne un procédé et un agencement pour la recherche et la transmission des temps d'exécution de programmes, par exemple d'une fonction prédéfinie d'un programme informatique qui est exécuté par un système informatique. L'invention est notamment utilisée dans des systèmes embarqués, par exemple des instruments de commande de moteurs, dans lesquels seuls des mémoires limitées sont disponibles pour la sauvegarde de données de mesure. Les mesures des temps d'exécution de fonctions sont utilisées pour optimiser des programmes informatiques, en utilisant de façon optimale les ressources d'un système informatique. Le temps d'exécution d'une fonction est le temps dont a besoin un processeur pour exécuter la fonction. Le temps d'exécution fournit par exemple des renseignements sur la proportion de la capacité du processeur qui est occupée pour l'exécution d'une fonction précise. Cette optimisation des ressources est nécessaire notamment lors du développement de programmes informatiques pour l'exploitation de systèmes dits temps réel . Dans les systèmes temps réel, les programmes pour le traitement des données résultantes sont constamment prêts à fonctionner, pour que les résultats du traitement soient disponibles dans un délai prédéfini. En fonction du cas d'application, les données peuvent résulter selon une distribution aléatoire dans le temps ou à des instants définis à l'avance (voir par exemple DIN 44300). Les systèmes temps réel sont souvent des systèmes dits embarqués qui se chargent de travaux complexes de commande et de traitement des données dans des systèmes techniques. Les systèmes embarqués sont généralement réalisés par intégration d'un matériel informatique spécial, avec des processeurs et des logiciels. Des systèmes de ce type sont utilisés par exemple pour commander des moteurs dans le domaine automobile. Plusieurs systèmes embarqués peuvent être reliés entre eux et former une unité, appelée bus CAN (de l'anglais Controller Area Network ) pouvant être utilisé par exemple pour leur liaison. A cet effet, plusieurs programmes indépendants, qui se partagent le temps de calcul d'un processeur, peuvent s'exécuter sur un système informatique ou processeur. Les programmes sont souvent divisés en fonctions simples délimitables (fonctions). Pour effectuer un travail précis, il arrive souvent que plusieurs fonctions soient exécutées consécutivement. Pour exécuter un travail de ce type, les fonctions nécessaires pour son exécution peuvent être regroupées en ce que l'on appelle une tâche. Ces tâches contiennent donc des fonctions et les appellent. Comme il est d'usage dans la pratique, les termes "fonction" et "tâche" (également arrêt d'interruption (de l'anglais Interrupt , exception, sousprogramme, routine, agrégat, objet, bloc de code, bloc de texte) sont largement utilisés à titre de synonymes. Dans les systèmes temps réel, les programmes informatiques sont souvent conçus de façon à ce que les tâches soient appelées de façon itérative, à intervalles réguliers (par exemple toutes les 10 millisecondes). La période de répétition est souvent désignée par le terme "tranche d'exécution". Plusieurs tâches peuvent se dérouler soit de façon indépendante soit en parallèle, en dépendance l'une de l'autre. Comme en règle générale, plusieurs tâches se partagent le temps de calcul d'un processeur, les tâches sont souvent divisées en plusieurs fractions de temps, qui sont exécutées soit en mode séquentiel ou en mode imbriqué. A cet effet, on peut attribuer à certaines tâches une priorité plus haute qu'à d'autres, pour que lors de la réalisation d'une tâche à priorité plus haute, l'exécution d'une tâche à priorité plus basse soit interrompue. Par ailleurs, l'exécution du programme informatique peut également être interrompue par des événements particuliers internes ou externes (par exemple par la modification d'un signal de tension à l'entrée d'une interface ou par un résultat non valide lors de l'exécution d'une tâche). Des interruptions exceptionnelles de ce type sont désignées par le terme anglais Interrupts ou arrêts d'interruption. Du fait de ce séquençage et de cette imbrication de plusieurs tâches avec la nécessité simultanée d'exécuter des travaux dans des intervalles de temps fixes prédéfinis, l'optimisation de l'exploitation des ressources dans des systèmes temps réel prend une signification toute particulière. Pour cette optimisation, il est à nouveau nécessaire de rechercher les temps d'exécution des fonctions principales, voire de toutes les fonctions. Pour procéder à des mesures des temps d'exécution d'une fonction prédéfinie de programmes informatiques, on utilise souvent dans la pratique, des fonctions dites horodateur . Dans ces procédés de mesure de temps d'exécution, le code initial du programme informatique est modifié de façon à ce qu'avant et après l'exécution de la fonction prédéfinie (qui opportunément peuvent être également des blocs de textes ou des blocs de codes quelconques dans le code du programme, qui ne sont pas des fonctions fermées en soi, voir ci-dessus) dans le code du programme, des éléments de commande supplémentaires soient insérés. Ces éléments de commande supplémentaires contiennent respectivement un appel d'une fonction horodateur. A chaque appel, cette fonction horodateur sauvegarde une information temporelle dans une mémoire de données, ainsi que des données diverses, comme par exemple un identifiant de la fonction prédéfinie ou un type d'événement (par exemple s'il s'agit du démarrage ou de la fin de l'exécution de la fonction prédéfinie). Le code de programme ainsi muni des éléments de commande supplémentaires pour la mesure du temps d'exécution d'une,fonction prédéfinie est alors traduit en un code lisible par informatique. On dit qu'un code modifié de ce type est "instrumenté", distinguant à cet effet les programmes informatiques "partiellement instrumentés", dans lesquels la fonction horodateur est appelée uniquement pour l'exécution d'une fonction unique ou de plusieurs fonctions du code programme, des programmes informatiques "complètement instrumentés", dans lesquels la fonction horodateur est appelée à chaque appel d'une fonction. Des procédés horodateurs actuels présentent quelques inconvénients déterminants pour l'optimisation de programmes complexes pour la commande de systèmes temps réel. Un inconvénient majeur réside en ce que l'interruption de l'exécution de la fonction prédéfinie n'est pas prise en considération par d'autres fonctions ou arrêts d'interruption ( Interrupts ). Avec le procédé décrit pour la mesure du temps d'exécution, on obtient donc des valeurs mesurées plus importantes (temps d'exécution bruts) que le temps d'exécution net réel des fonctions. C'est pourquoi, dans la pratique, le temps d'exécution mesuré est souvent multiplié par un coefficient de correction, qui est inférieur à 1 (par exemple 0,8 pour une sollicitation par des interruptions de 20 %). Pourtant, ce coefficient de correction ne peut pas être déterminé de façon indubitable, il s'agit souvent d'une valeur expérimentale fortement dépendante du système. La reproductibilité de mesures de ce type est faible en conséquence et la dispersion des valeurs mesurées est élevée en conséquence, en cas de mesures répétées. C'est pourquoi, dans de nombreux cas, lors de l'application de procédés horodateurs, on modifie le programme informatique et/ou même l'ensemble du système informatique de façon à minimiser le nombre d'interruptions du déroulement de la fonction à mesurer. Ce qui peut s'effectuer par exemple par déconnexion d'arrêts d'interruption ( Interrupts ). Mais cette modification du matériel informatique et du logiciel a pour effet de modifier le système à un point tel, que le temps d'exécution mesuré de la fonction ne correspond pas au temps d'exécution en exploitation réelle de l'ensemble du système. Par ailleurs, une mesure de ce type ne peut pas être effectuée dans le système réel (par exemple dans la voiture). En outre, une telle procédure ne tient pas compte des conditions environnantes du système. Mais sous certaines conditions, le temps d'exécution de certaines fonctions dans des systèmes temps réel dépend fortement de certains paramètres du système, comme par exemple des signaux externes analogiques ou numériques à une interface du système. Cette carence réduit encore la reproductibilité de la mesure. En outre, le procédé décrit est extrêmement long et nécessite d'importantes capacités de calcul et une grande mémoire. Des programmes typiques pour des systèmes temps réel pour commander des cycles de processus complexes peuvent contenir plusieurs milliers de fonctions. Mais en règle générale, les mémoires de données disponibles dans des systèmes embarqués ne sont pas suffisantes pour pouvoir sauvegarder des informations temporelles pour toutes les fonctions. Les mémoires de données dans des systèmes embarqués sans extension de mémoire sont par exemple des tampons d'une capacité de mémoire d'environ 35 kilo-octets, ce qui correspond à 4400 informations temporelles. Mais cette mémoire est aussi utilisée pour l'exécution du programme informatique, ce qui réduit encore la place de mémoire disponible pour la sauvegarde des informations temporelles. Dans des systèmes typiques de commande de moteurs, on utilise toutefois quelques milliers de fonctions, qui sont exécutées de façon fortement imbriquée, par exemple respectivement en séquences, dont la longueur se situe dans la plage de quelques microsecondes. Après une tranche d'exécution de 10 millisecondes, on obtient ainsi pour un logiciel de commande une quantité de données d'environ 10.000 informations temporelles, les interruptions supplémentaires par arrêts d'interruption ( Interrupts ) (par exemple 30 interruptions en une milliseconde dans des systèmes typiques de commande de moteurs) n'étant pas encore prises en considération. Les mémoires de données dans des systèmes typiques en temps réel ne peuvent donc accueillir que des informations d'une fonction individuelle ou de quelques rares fonctions et uniquement sur un intervalle de temps d'une ou de quelques tranches d'exécution. En principe, selon le procédé précédemment décrit, le code programme devrait d'abord être instrumenté pour chaque fonction simple, puis être traduit en un code lisible par informatique (sur une durée respective d'environ 10 minutes), pour être exécuté ensuite sur le système en temps réel, puis les informations temporelles sauvegardées devraient être visualisées et évaluées. Pour un système individuel en temps réel avec plusieurs milliers de fonctions, un procédé de ce type peut durer pendant plusieurs semaines. Le but de la présente invention consiste à améliorer les possibilités des mesures de temps d'exécution des fonctions, notamment pour des programmes informatiques qui sont exécutés sur des systèmes embarqués avec de petites mémoires de travail. On atteint ce but de l'invention au moyen d'un procédé pour la mesure des temps d'exécution d'une fonction prédéfinie d'un premier programme informatique, qui est exécuté par un premier système informatique, a) un second programme informatique prédéfinissant, sur un second système informatique, au premier programme informatique exécuté sur le premier système informatique, quelle fonction est la fonction prédéfinie; b) les étapes suivantes étant réalisées sur le premier système informatique, de façon itérative, avec un nombre de répétitions: bl) lorsque le premier programme informatique appelle une première fonction, le premier programme informatique appelle une seconde fonction ou programme de traitement des temps d'exécution au début et à la fin de l'exécution de la première fonction; b2) le programme de traitement des temps d'exécution vérifie si la première fonction est la fonction prédéfinie et, si cette condition est remplie, il appelle une troisième fonction ou fonction horodateur ; b3) la fonction horodateur met à disposition au moins une information temporelle; et b4) le programme de traitement des temps d'exécution transfère au moins l'information temporelle mise à disposition par la fonction horodateur au second système informatique ou à un autre système informatique après chaque appel. Avantageusement, le procédé selon l'invention présente une ou plusieurs des caractéristiques suivantes, prises en combinaison: - le programme de traitement des temps d'exécution 10 vérifie de plus si au moins un signal remplit une condition prédéfinie; - à chaque interruption de la réalisation de la fonction prédéfinie, la fonction horodateur est appelée au début et à la fin de l'interruption et le programme de traitement des temps d'exécution sauvegarde au moins l'information temporelle mise à disposition par la fonction horodateur dans une mémoire de données sur le second système informatique; et - la composante hors ligne prédéfinit en supplément le nombre de répétitions pour le premier programme informatique exécuté sur le premier système informatique. L'invention concerne également un programme informatique, remarquable en ce que lors de son exécution sur un ordinateur ou sur un réseau d'ordinateurs, il réalise le procédé tel que décrit ci-avant dans toutes ses variantes. L'invention concerne par ailleurs un programme informatique, avec des moyens de codage de programme, pour réaliser un procédé tel que décrit ciavant dans toutes ses variantes, lorsque le programme informatique est exécuté sur un ordinateur sur un réseau d'ordinateurs. De préférence, les moyens de codage de programme sont sauvegardés sur un support de données lisible par informatique. L'invention se rapporte aussi à un support de données ou un système informatique, sur lequel est sauvegardée une structure de données, qui après son chargement dans une mémoire de travail et/ou dans une mémoire principale d'un ordinateur ou d'un réseau d'ordinateurs, réalise le procédé tel que décrit ci-avant dans toutes ses variantes. L'invention concerne par ailleurs un produit de programme informatique avec des moyens de codage de programmes sauvegardés sur un support lisible par informatique, pour réaliser les étapes du procédé tel que décrit ci-avant dans toutes ses variantes, lorsque le programme est exécuté sur un ordinateur ou sur un réseau d'ordinateurs. L'invention se rapporte également à un signal de données modulé, contenant des instructions réalisables par un système informatique ou par un réseau informatique, pour réaliser un procédé tel que décrit ci-avant dans toutes ses variantes. L'invention concerne aussi un système informatique ou réseau informatique, caractérisé par au moins un dispositif, qui permet le déroulement d'un procédé tel que décrit ci-avant dans toutes ses variantes. Enfin, l'invention se rapporte également à un agencement pour la mesure du temps d'exécution d'une fonction prédéfinie d'un premier programme informatique qui est exécuté par un premier système informatique, l'agencement comportant: a) des moyens pour l'exécution du premier programme informatique; b) des moyens pour appeler et pour exécuter une première fonction pendant l'exécution du premier programme informatique; c) des moyens pour appeler et pour exécuter une seconde fonction ou programme de traitement des 5 temps d'exécution au début et à la fin de l'exécution de la première fonction, les moyens d'exécution du programme de traitement des temps d'exécution comportant: cl) des moyens pour vérifier si la première fonction 10 est la fonction prédéfinie; c2) des moyens pour appeler et pour exécuter une troisième fonction ou fonction horodateur , en fonction des moyens de vérification, les moyens pour exécuter la fonction horodateur 15 comportant des moyens pour la mise à disposition d'au moins une information temporelle; et c3) des moyens pour transférer au moins l'information temporelle mise à disposition par la fonction horodateur à un second système informatique, après chaque appel du programme de traitement des temps d'exécution. Ainsi, on propose un procédé de mesure du temps d'exécution d'une fonction prédéfinie d'un premier programme informatique exécuté par un premier système informatique. À cet effet, un second programme informatique (composante hors ligne (de l'anglais off fine )) qui est exécuté sur un second système informatique déclare au premier programme informatique quelle fonction est la fonction prédéfinie. Ensuite les étapes suivantes sont exécutées de façon itérative sur le premier système informatique avec un nombre de répétitions lorsque le programme informatique appelle une première fonction, au début et à la fin de l'exécution de cette première fonction, il appelle une deuxième fonction (programme de traitement du temps d'exécution). Le programme de traitement du temps d'exécution vérifie si la première fonction est la fonction prédéfinie et si cette condition est remplie, il appelle une troisième fonction (fonction horodateur). La fonction horodateur met à disposition au moins une information temporelle. Le programme de traitement du temps d'exécution transmet au moins cette information temporelle directement, c'est-à- dire après chaque appel, au second système informatique ou à un système informatique supplémentaire. Le premier programme informatique peut être par exemple (selon la description précédente) un programme entièrement instrumenté sous une forme lisible par informatique. Contrairement au procédé précédemment décrit, à l'appel de chaque fonction, une fonction horodateur n'est pas forcément appelée, mais le programme de traitement du temps d'exécution est appelé dans un premier temps. Ce dernier vérifie par exemple à l'aide d'un identifiant de la fonction appelée, si la fonction appelée est la fonction dont le temps d'exécution doit être mesuré. Ce n'est que si ce cas se présente que la fonction horodateur est appelée. En variante, plusieurs fonctions peuvent aussi être prédéfinies simultanément. Le programme de traitement des temps d'exécution vérifie alors pour chaque fonction, si la fonction appelée est l'une des fonctions prédéfinies et si ce cas se présente, il appelle la fonction horodateur. La mise à disposition de l'information temporelle par la fonction horodateur peut être effectuée par exemple par sauvegarde dans une mémoire de données (par exemple par sauvegarde intermédiaire dans un tampon de données du premier système informatique) ou par transmission d'une valeur chiffrée au programme de traitement des temps d'exécution. Le programme de traitement des temps d'exécution transmet à son tour ses données directement au second programme informatique où elles peuvent être sauvegardées par exemple dans une mémoire de données. En supplément, le programme de traitement des temps d'exécution peut également procéder à une nouvelle sauvegarde intermédiaire des données, par exemple dans un tampon de données sur le premier système informatique. La conception de l'information temporelle peut dépendre de la nature du premier système informatique. Ainsi par exemple, on peut utiliser pour l'affichage horaire une horloge intégrée dans le système informatique (heure du système) en tant qu'information temporelle. Mais on peut également sauvegarder en tant qu'information temporelle par exemple le stade instantané d'un phénomène physique périodique (par exemple la position angulaire du vilebrequin dans un système de moteur). Le procédé présente l'avantage de réduire nettement la quantité de données. Seules les données de la fonction qui doit effectivement être mesurée sont détectées et transmises au second système informatique. Typiquement, ces données sont enregistrées temporairement pendant un court délai dans une mémoire de travail du premier système informatique. Et comme à cet effet il s'agit en règle générale d'une seule ou de quelques rares informations d'horodateur, un petit tampon de données typiquement présent notamment aussi dans des systèmes embarqués, donc une mémoire volatile de quelques octets est suffisante. Une extension supplémentaire de la mémoire de travail des systèmes embarqués n'est pas nécessaire, ce qui permet également d'utiliser des systèmes embarqués peu onéreux. La sauvegarde intermédiaire dans la mémoire de travail des systèmes embarqués n'est que brève (si elle a lieu), car les informations sont directement transmises au second système informatique par le programme de traitement des temps d'exécution. De cette façon, on économise des ressources précieuses du système embarqué. Plusieurs informations peuvent également être transmises au second système informatique par le programme de traitement des temps d'exécution, directement après leur mise à disposition par la fonction horodateur (par exemple par l'intermédiaire d'un canal de communication d'ores et déjà existant), au cours d'un procédé dit de multiplexage . Ainsi par exemple les horodateurs de huit fonctions peuvent être mesurés et directement après la mesure, ils peuvent être transmis chaque fois en commun avec les informations disant à quelle fonction lesdits horodateurs correspondent au second système informatique, par l'intermédiaire d'un canal de communication (par exemple un bus CAN, une ligne dite tueuse (de l'anglais Killer line ou K-Line ), de la mémoire vive à double port (de l'anglais Dual Ported RAM ) ou analogue). Ce qui peut être effectué par exemple par génération de variables en ligne (de l'anglais online ) déterminées, dans lesquelles le programme de traitement du temps d'exécution sauvegarde les informations temporelles actuelles. La composante hors ligne analyse ces variables en ligne, par exemple à intervalles réguliers, les sauvegarde et les valide par exemple pour la prochaine mesure pour le programme de traitement des temps d'exécution. Ce procédé de mesure au cours duquel les horodateurs générés sont transmis au second système informatique directement après avoir été mesurés présente l'avantage par ailleurs, que par exemple également pendant l'exploitation non perturbée d'un moteur (par exemple pendant la conduite), il est possible de mesurer et d'afficher des temps d'exécution de fonctions. Comme de faibles quantités de données sont chaque fois transmises par le système embarqué au second système informatique, la transmission des données ne correspond qu'à une interruption temporaire non significative de l'exploitation du premier système informatique, donc par exemple du système embarqué. Des systèmes embarqués (systèmes temps réel) disposent souvent d'un ordinateur dit de sécurité, qui lors d'une interruption prolongée (par exemple suite à une transmission d'une grande quantité de données au second système informatique) détecte un défaut et déconnecte le système embarqué. Dans le procédé décrit, au cours duquel chaque fois seules de faibles quantités de données sont transmises au second système informatique, ce cas ne se présente pourtant pas. L'ordinateur de sécurité ne réagit pas à l'interruption minime suite à la transmission de la faible quantité de données et l'exploitation du premier système informatique n'est pas interrompue par la transmission des données. Il est donc possible de réaliser le procédé pendant l'exploitation normale du premier système informatique (par exemple pendant la conduite d'un véhicule automobile). Les informations concernant les temps d'exécution de fonctions bien précises peuvent donc être également évaluées par exemple pendant la conduite. Par ailleurs, la mesure du temps d'exécution peut avoir lieu en principe sur un horizon de temps de longueur infinie, car elle n'est plus limitée par les ressources de mémoire. On peut mesurer par exemple en continu les durées d'exécution de certaines fonctions et les représenter par exemple en tant que fonction de paramètres définis du moteur, par exemple de sa vitesse de rotation, notamment en ligne et sous forme de graphique et les évaluer. Par ailleurs ces informations sur les durées d'exécution (disponibles notamment en ligne) peuvent être utilisées en tant que déclencheurs pour d'autres mesures ou également à des fins de diagnostic (au choix sur le premier système informatique et/ou également sur le second système informatique et/ou sur d'autres systèmes informatiques). On peut ainsi surveiller par exemple sur un système de commande d'un moteur des fonctions déterminantes en matière de sécurité. Ce qui présente un avantage notamment lors de l'exploitation d'un véhicule de test. Une utilisation dans des véhicules de série est également possible. Un autre avantage réside en ce que, si après achèvement de la mesure du temps d'exécution, il faut mesurer le temps d'exécution d'une autre fonction, il n'est plus nécessaire de modifier l'instrumentation du programme informatique. Le programme de traitement des temps d'exécution lit ces informations pour savoir quelle fonction est la fonction prédéfinie (par exemple un identifiant) dans une mémoire de données. En variante, le programme de traitement des temps d'exécution peut être modifié dans le code programme, de façon à ce que la nouvelle fonction, respectivement l'identifiant de la nouvelle fonction soit mentionné dans la condition d'interrogation, ce qui correspond à un travail de programmation nettement moindre qu'une modification de l'instrumentation. La réalisation itérative du procédé avec un nombre prédéfini de répétitions améliore nettement la précision et la reproductibilité de la mesure du temps d'exécution. Le temps d'exécution est mesuré de façon itérative (par exemple 20 fois), ce qui permet de calculer une moyenne et de déterminer des informations statistiques au sujet de la dispersion des valeurs mesurées. Par ailleurs, le procédé décrit peut être utilisé de façon très universelle. Les fonctions horodateur sont souvent des produits logiciels du commerce. Si par exemple pour des raisons de coût ou pour des motifs de disponibilité d'un produit plus moderne et plus performant, le développeur veut changer pour une nouvelle fonction horodateur, il fallait jusqu'à ce jour adapter l'ensemble de l'instrumentation du programme informatique à la nouvelle fonction horodateur. Une nouvelle fonction horodateur peut nécessiter par exemple la transmission d'autres paramètres. En revanche, l'utilisation du programme de traitement des temps d'exécution facilite nettement ce procédé. Lors de l'implémentation d'une nouvelle fonction horodateur, il suffit d'adapter le code programme du programme de traitement des temps d'exécution. Ce qui réduit nettement les investissements en programmation. La composante hors ligne exécutée sur le second système informatique déclare au premier programme informatique exécuté sur le premier système informatique quelle fonction est la fonction prédéfinie. On peut ainsi avoir recours notamment à la possibilité de saisie d'informations par un opérateur sur un second système informatique. Ce qui est notamment avantageux pour des systèmes embarqué, qui la plupart du temps ne disposent pas de moyens pour la représentation graphique d'informations (par exemple un écran) ou de moyens pour la saisie de données (par exemple un clavier). L'échange de données entre les deux systèmes informatiques peut avoir lieu par exemple par l'intermédiaire d'un système de bus (par exemple, par l'intermédiaire d'un système d'applications usuel dans le secteur automobile). Le premier programme informatique sur le premier système informatique etla composante hors ligne sur le second système informatique peuvent se dérouler de façon entièrement indépendante l'un par rapport à l'autre. L'utilisateur du second système informatique peut sélectionner des fonctions dont le temps d'exécution doit être mesuré, sans devoir interrompre ou perturber le déroulement du premier programme informatique sur le premier système informatique. La transmission de données entre les deux systèmes informatiques peut s'effectuer par exemple en ce que des interrogations sont intégrées dans les programmes informatiques respectifs à intervalles réguliers, au cours desquels on vérifie si de nouveaux signaux (c'est-à-dire des informations) sont appliqués sur l'interface vers l'autre système informatique respectif. Le second système informatique transmet au premier système informatique les informations disant quelle fonction, respectivement quelles fonctions doi(ven)t être prise(s) en compte dans la condition d'interrogation. Le temps d'exécution est alors mesuré pour ces fonctions, par exemple si des numéros ont été d'ores et déjà affectés à toutes les fonctions d'un programme lors de l'instrumentation, l'information peut-être transmise par exemple sous forme d'un identifiant de la fonction sélectionnée. L'utilisation de la composante hors ligne sur le second système informatique est notamment avantageuse si le temps d'exécution de nombreuses fonctions ou même de toutes les fonctions d'un système informatique doit être successivement mesuré. Le procédé permet de prédéfinir une liste de fonction, dont le temps d'exécution est mesuré consécutivement ou selon une séquence prédéfinie et de ce fait, il réduit par exemple le temps nécessaire pour la mesure de toutes les fonctions d'un système incorporé typique, de plusieurs semaines à quelques minutes seulement. Selon un perfectionnement avantageux du procédé, le programme de traitement des temps d'exécution vérifie en supplément si au moins un signal remplit une condition prédéfinie. Ce signal peut être par exemple un signal électrique sur une interface du système informatique. Ce perfectionnement est avantageux notamment dans des systèmes embarqués commandés en temps réel, qui sont utilisés pour commander des séquences complexes de processus. Dans des systèmes de ce type, le temps d'exécution des fonctions ou des tâches du système informatique peut être fortement dépendant de certains paramètres du système, comme par exemple de signaux externes analogiques ou numériques sur une interface du système informatique. Des signaux externes peuvent être par exemple les informations transmises par un ou par plusieurs capteurs au système informatique. Ces informations décrivent l'état d'exploitation ou les conditions environnantes du système global. A l'aide du perfectionnement décrit de l'invention, on peut sélectionner une ou plusieurs conditions environnantes spéciales, sous lesquelles le temps d'exécution d'une fonction doit être mesuré. La reproductibilité du procédé augmente nettement de ce fait et il est également possible d'analyser des corrélations plus complexes entre les conditions environnantes et le mode de fonctionnement du système informatique. Ce qui présente par exemple un avantage déterminant lors de la programmation d'instruments de commande de moteurs dans la technique automobile, des dénommés ECU (de l'anglais Engine Control Units , unité de contrôle moteur), car ces informations doivent être traitées par un grand nombre de capteurs (par exemple capteurs d'oxygène, capteurs de pression). Selon une autre conception du procédé, à chaque interruption de l'exécution de la fonction prédéfinie, la fonction horodateur est appelée au début et à la fin de l'interruption. A nouveau, le programme de traitement des temps d'exécution transmet directement les informations mises à disposition par la fonction horodateur au second système informatique. Ce perfectionnement du procédé prend en considération le fait que selon la description précédente, l'exécution de fonctions ou de tâches par le programme informatique peut être souvent interrompue par des tâches ou par des fonctions à plus haute priorité ou par des arrêts d'interruption ( Interrupts ). Grâce au perfectionnement décrit du procédé, qui fournit également des informations temporelles lors d'une interruption de l'exécution de la fonction prédéfinie, on peut mesurer le temps d'exécution net d'une fonction, sans qu'il ne soit nécessaire de déconnecter des arrêts d'interruption ( Interrupts ), de modifier les systèmes d'une autre façon ou d'utiliser des coefficients de correction. Le temps d'exécution net se calcule à partir de la différence entre le temps de démarrage et le temps d'arrêt de l'exécution de la fonction, de laquelle on déduit les périodes au cours desquelles l'exécution de la fonction a été interrompue. Ceci permet d'améliorer nettement la précision et la reproductibilité de la mesure. Ce qui est particulièrement avantageux lors de la programmation de systèmes temps réel, dans lesquels l'exécution d'un programme informatique est interrompue par un grand nombre d'arrêts d'interruption ( Interrupts ), comme par exemple sur les commandes de moteurs dans la technique automobile (avec 30 à 40 arrêts d'interruption ( Interrupts ) par milliseconde). Hormis l'information disant pour quelle fonction, respectivement pour quelles fonctions la mesure du temps d'exécution doit être effectuée, la composante hors ligne peut également transférer d'autres informations au premier système informatique. La composante hors ligne peut également prédéfinir en supplément par exemple le nombre de répétitions, pour le premier programme informatique exécuté sur le premier système informatique. Par ailleurs, l'étendue de l'invention englobe un programme informatique, respectivement plusieurs programmes informatiques, qui lors de leur déroulement sur un ordinateur ou sur un réseau d'ordinateurs réalisent le procédé selon l'invention, selon l'un de ses modes de conception. En outre, l'étendue de l'invention englobe un programme informatique, respectivement plusieurs programmes informatiques avec des moyens de codage de programme, pour réaliser le procédé selon l'invention selon l'un de ses modes de conception, lorsque le, respectivement les programmes sont exécutés sur un ordinateur ou sur un réseau d'ordinateurs. Les moyens de codage de programme peuvent être notamment sauvegardés sur un support de données lisible par informatique. De plus, l'étendue de l'invention englobe un support de données sur lequel est sauvegardée une structure de données, qui après son chargement dans une mémoire de travail et/ou dans une mémoire principale d'un ordinateur ou d'un réseau d'ordinateurs peut réaliser le procédé selon l'invention selon l'un de ses modes de conception. Fait également partie de l'étendue de l'invention un produit de programme informatique, avec des moyens de codage de programme sauvegardés sur un support lisible par informatique, pour réaliser le procédé selon l'invention selon l'une de ses conceptions, lorsque le programme est exécuté sur un ordinateur ou sur un réseau d'ordinateurs. On désigne à cet effet par produit de programme informatique le programme en tant que produit du commerce. Il peut se présenter fondamentalement sous une forme quelconque, par exemple sur papier ou sur un support de données lisible par informatique et peut être distribué notamment par l'intermédiaire d'un réseau de transmission de données. Par ailleurs, le but est atteint par un agencement, qui comporte des moyens adaptés pour réaliser le procédé selon l'invention. L'invention est explicitée ci-dessous à l'aide d'exemples de réalisation qui sont représentés schématiquement dans les figures. Mais l'invention ne se limite pas aux exemples. À cet effet, les mêmes références dans chaque figure désignent des éléments identiques ou de fonctions identiques ou se correspondant au niveau de leur fonction. Les figures montrent dans le détail: Figure 1: un agencement pour la mesure du temps d'exécution d'une fonction sur un système informatique commandé en temps réel pour la commande d'un moteur; Figure 2: un diagramme fonctionnel d'un procédé pour la mesure du temps d'exécution des fonctions d'un programme de commande d'un moteur; Figure 3: un diagramme fonctionnel d'un programme de traitement des temps d'exécution. La figure 1 représente un exemple d'un agencement préféré, permettant de mesurer le temps d'exécution d'une ou de plusieurs fonctions d'un programme de commande d'un moteur 2, exécuté sur un système de commande de moteur 1. Dans cet exemple, le système de commande de moteur 1 est un système typique, commandé en temps réel. Le programme de commande du moteur 2 comporte en tant que composantes un programme de traitement du temps d'exécution 3 et une fonction horodateur 4. Le système de commande du moteur 1 comporte par ailleurs un petit tampon de données 5 d'une capacité de mémoire de 35 kilooctets pour la sauvegarde intermédiaire des informations générées par la fonction horodateur 4 au cours d'une mesure du temps d'exécution, ces informations pouvant être par exemple des informations temporelles, des identifiants des fonctions ou des informations pour savoir si les informations temporelles se rapportent au démarrage ou à la fin de l'exécution d'une fonction. Selon la description précédente, sur ces 35 kilooctets, seule une infime partie de quelques octets seulement peut être utilisée pour la sauvegarde des informations concernant le temps d'exécution, car ce petit tampon de données 5 est utilisé simultanément pour l'exécution du programme de commande du moteur 2. Le système de commande du moteur 1 est relié par l'intermédiaire d'une interface 6 avec un système de moteur ou avec un dispositif de simulation d'un moteur qui n'est pas représenté ici. Par l'intermédiaire de cette interface 6, on peut recevoir des signaux externes qui peuvent contenir par exemple des informations sur l'état d'exploitation du système de moteur (par exemple vitesse de rotation, état d'exploitation de la régulation lambda, état d'exploitation de l'injection). Ces informations peuvent être par exemple des signaux de capteurs (par exemple un signal électrique d'un capteur d'oxygène). Le système de commande du moteur 1 comporte par ailleurs un ordinateur de sécurité 7. L'ordinateur de sécurité 7 est conçu de façon telle, qu'il vérifie les calculs et les actions réalisés sur le système de commande du moteur 1 et le respect de certaines prescriptions temporelles lors de la réalisation. Cet ordinateur de sécurité n'est pas nécessaire pour la réalisation du procédé précédemment décrit. Mais ses caractéristiques particulières et notamment le fait que l'ordinateur de sécurité générerait un message de défaut lors de la transmission de quantités de données plus importantes doivent être pris en considération lors de la conception de programmes informatiques pour des systèmes de ce type. Le système de commande du moteur 1 est relié en outre avec un PC 8 sur lequel un second programme informatique (composante hors ligne) 9 est exécuté. Un clavier 10 faisant office de moyen de saisie et un écran 11 pour la représentation graphique sont reliés au PC 8. Le PC 8 comporte une mémoire volatile 12 et une mémoire sur disque dur 13. Dans cet exemple, la liaison entre le système de commande du moteur 1 est le PC 8 est assurée par l'intermédiaire d'un bus CAN 14. La figure 2 représente un diagramme fonctionnel d'une conception préférée du procédé, un agencement selon la figure 1 ou un agencement analogue dans sa fonction étant utilisé. L'interaction entre la composante hors ligne 9 sur le PC 8 et le programme de commande du moteur 2 sur le système de commande du moteur 1 est mise en évidence dans ce diagramme fonctionnel en ce que les étapes du procédé de la composante hors ligne 9 sont représentées sur le côté droit avec un cadre en pointillés et les étapes du procédé du programme de commande du moteur 2 sont représentées sur le côté gauche avec un cadre continu. Les flèches pointillées sont censées symboliser l'échange de données entre la composante hors ligne 9 et le programme de commande du moteur 2. Pour faciliter la communication entre le programme de commande du moteur 2 et la composante hors ligne 9, on utilise dans cet exemple le système d'application INCA disponible dans le commerce. En variante on pourrait également utiliser d'autres systèmes d'application, comme par exemple SAM2000. Ce système d'application est exécuté sur le PC 8. Le code du programme de commande du moteur 2 est traduit sur le PC 8 en une forme lisible par informatique (compilé), regroupé par un éditeur de lien (de l'anglais Linker ) et/ou par un releveur de coordonnées (de l'anglais Locator ) en un logiciel global exécutable (lié) puis chargé avec un outil de reprogrammation disponible dans le commerce dans le système de commande du moteur 1. La communication entre le PC 8 et le système de commande du moteur 1 est assurée par ailleurs par l'intermédiaire du système d'application INCA. La figure 3 représente un diagramme fonctionnel d'un programme de traitement des temps d'exécution 3. Comme il est nécessaire de comprendre le mode de fonctionnement du programme de traitement des temps d'exécution 3 pour comprendre le procédé représenté en figure 2, les figures 2 et 3 font l'objet d'une description commune ci-dessous. A l'étape 202 sur la figure 2, une initialisation de la composante hors ligne 9 sur le PC 8 a lieu. Indépendamment de cela, le programme de commande du moteur 2 démarre à l'étape 204. Comme cela a déjà été décrit précédemment, le démarrage de la composante hors ligne 9 et le démarrage du programme de commande du moteur 2 s'effectuent de façon totalement indépendante l'une de l'autre et peuvent donc avoir lieu à des instants différents. Ainsi, le programme de commande du moteur 2 peut également fonctionner en fonctionnement continu par exemple. A l'étape 206, une saisie des conditions de mesures pour les mesures des temps d'exécution a lieu à l'aide de la composante hors ligne 9. À l'aide des moyens de saisie, l'utilisateur peut sélectionner ou prédéfinir sur le PC 8 quelle fonction, respectivement quelles fonctions du programme de commande du moteur 2 exécuté sur le système de commande du moteur 1 peu(ven)t être soumise(s) à une mesure du temps d'exécution. Par ailleurs il peut prédéfinir pour chaque fonction un nombre de répétitions (nombre de cycles W), par exemple 20 répétitions, pour déterminer combien de fois cette mesure du temps d'exécution de cette fonction, respectivement de ces fonctions doit être répétée. En supplément, l'utilisateur peut prédéfinir sous quelles conditions environnantes et dans quel état d'exploitation la mesure du temps d'exécution de chaque fonction doit avoir lieu, donc par exemple à quelle vitesse de rotation du moteur, si la régulation lambda ou l'injection doivent être active, ou analogue. Les conditions de mesure peuvent donc être prédéfinies de façon précise, pour augmenter nettement la reproductibilité des mesures du temps d'exécution. La saisie d'autres informations par l'utilisateur est également envisageable, par exemple sous la forme d'indications supplémentaires, qui facilitent ultérieurement l'évaluation des résultats. A l'étape 208, on assiste à un démarrage de la mesure du temps d'exécution et à un transfert au programme de commande du moteur 2 des identifiants de la première fonction, dont le temps d'exécution doit être mesuré. Par ailleurs, le nombre de cycles W, qui détermine le nombre de répétitions de la mesure du temps d'exécution pour la fonction prédéfinie est transféré. Ces informations sont transférées par l'intermédiaire du bus CAN 14 au système de commande du moteur 1 où elles font l'objet par exemple d'une sauvegarde intermédiaire dans le tampon de données 5, pour être ainsi directement disponibles pour le programme de traitement des temps d'exécution 3. Dans ce mode de réalisation, le programme de commande du moteur 2 est un code de programme totalement ou partiellement instrumenté, c'est-à-dire que selon la description précédente, le code de programme est muni d'informations supplémentaires. Lors de l'instrumentation, des identifiants ont également été attribués aux fonctions du code programme et peuvent être sauvegardés dans une banque de données (non représentée ici). La composante hors ligne 9 sauvegarde un identifiant d'une fonction prédéfinie par l'utilisateur dans une mémoire de données volatile 12. Par ailleurs, les conditions d'exploitation prédéfinies par l'utilisateur à l'étape 206 et sous lesquelles le temps d'exécution de la fonction correspondante doit être mesuré peuvent également être sauvegardées dans la mémoire de données volatile 12, tout comme le nombre de cycles W pour chaque fonction devant être mesurée. Par l'intermédiaire du bus CAN 14, les informations sauvegardées dans la mémoire de données 12 sont mises à disposition du programme de commande du moteur 2, notamment du programme de traitement des temps d'exécution 3 à l'étape 208. L'exécution du programme de commande du moteur 2 sur le système de commande du moteur 1 et la mesure des temps d'exécution des fonctions sont représentées à l'étape 210 et comprennent un certain nombre d'étapes élémentaires (étapes 212 à 228). A l'étape 212, le programme de commande du moteur 2 appelle une fonction. Avant que la fonction ne soit exécutée, le programme de traitement des temps d'exécution 3 est appelé à l'étape 214. Les étapes de procédé réalisées par le programme de traitement des temps d'exécution 3 sont représentées sur la figure 3. Après l'appel du programme de traitement des temps d'exécution 3 (étape 310), on vérifie d'abord à l'étape 312 si la fonction appelée est la fonction prédéfinie à l'étape 208 ou à l'étape 234 (voir ci-dessous) par la composante hors ligne 9 (opportunément il peut s'agir à cet effet d'une ou de plusieurs fonctions prédéfinies, par exemple d'une fonction issue d'une liste prédéfinie de fonctions). Si ce n'est pas le cas, l'exécution du programme de traitement des temps d'exécution 3 se termine (étape 314). Si au contraire, il s'agit de la fonction prédéfinie, à l'étape 316, on demande la raison pour laquelle le programme de traitement des temps d'exécution 3 a été appelé : le programme de traitement des temps d'exécution 3 a-t-il été appelé suite à une interruption, suite au démarrage d'une fonction ou suite à la fin de l'exécution d'une fonction? Dans ce cas, il s'agit selon l'étape 214 d'un appel du programme de traitement des temps d'exécution 3 suite au démarrage d'une fonction. De ce fait, le programme de traitement des temps d'exécution 3 demande ensuite à l'étape 318 si les conditions de mesures prédéfinies (conditions environnantes) sont remplies, donc si par exemple le moteur fonctionne à une vitesse de rotation prédéfinie. Si ces conditions de mesures ne sont pas remplies, l'exécution du programme de traitement des temps d'exécution 3 se termine (étape 314). Si au contraire les conditions de mesures sont remplies, la fonction horodateur 4 est appelée à l'étape 320. Cette dernière génère une information temporelle (horodateur), qui est transférée, à l'étape 322, au PC 8 (représenté symboliquement par une flèche pointillée) en commun avec un identifiant de la fonction appelée et avec l'information, qu'à l'étape 212, il s'agissait du démarrage de l'exécution de la fonction,. C'est là que cette information est sauvegardée par la composante hors ligne 9 dans la mémoire du disque dur 13, à l'étape 221. A l'étape 324, il est demandé si le programme de traitement des temps d'exécution 3 a été appelé suite à un démarrage ou à la fin d'exécution de la fonction. Comme à l'étape 214, il s'agissait d'un appel du programme de traitement des temps d'exécution 3 en début d'exécution de la fonction, l'exécution du programme de traitement des temps exécution 3 se termine dans ce cas selon l'étape 324 (étape 314). Ensuite, l'étape de procédé 216 en figure 2 est réalisée, c'est-à-dire que la fonction appelée est exécutée. La fonction quant à elle, peut appeler différentes sous-fonctions (par exemple si la fonction est une tâche, donc une fonction principale, englobant plusieurs fonctions). Le programme peut être conçu de façon à ce que les temps d'exécution de ces sous-fonctions soient également recherchés. Avant et après chaque appel d'une sous-fonction, on assiste à un appel du programme de traitement des temps d'exécution 3. A l'étape d'interrogation 312 de la figure 3, on assiste aussi opportunément à une interrogation, à savoir si la sous- fonction appelée est une sous-fonction dont le temps d'exécution doit être mesuré. Si l'exécution de la fonction (respectivement de l'une des sous fonctions) est interrompue, par exemple par des fonctions à plus haut degré de priorité ou par des arrêts d'interruption ( Interrupts ), des horodateurs doivent être de même également générés. Si une interruption est identifiée (étape 218), une routine d'interruption comportant des étapes de procédé 220 à 224 est exécutée. À cet effet à l'étape 220, le programme de traitement des temps exécution 3 est d'abord appelé. Parallèlement, les niveaux d'interruption peuvent être détectés par exemple à l'aide d'une pile (de l'anglais stack ) pour l'identifiant des fonctions respectivement interrompues. De cette façon, on peut également suivre plusieurs interruptions "imbriquées". Ensuite à l'étape 312 sur la figure 3, il est à nouveau demandé si la fonction interrompue est la (respectivement une) fonction prédéfinie. Si ce n'est pas le cas, le programme de traitement des temps d'exécution 3 se termine à cet endroit (étape 314). Si au contraire il s'agit de la fonction prédéfinie., sous l'étape 316, le motif d'appel du programme de traitement des temps d'exécution 3 est à nouveau demandé. Cette fois-ci, il s'agit d'un appel du programme de traitement des temps exécution 3 suite à une interruption. C'est pourquoi, après l'interrogation de l'étape 316, l'étape 326 est exécutée. De façon analogue à l'étape 320, à l'étape 326, la fonction horodateur 4 est à nouveau appelée et génère une information temporelle. L'information temporelle est transférée, à l'étape 322, au PC 8 (symboliquement représenté par la flèche pointillée), en commun avec l'information qu'il s'agit du début d'une interruption. C'est là que ces informations sont sauvegardées par la composante hors ligne 9 dans la mémoire du disque dur 13 à l'étape 221. L'information qu'il s'agit d'une interruption peut-être sauvegardée par exemple sous la forme de l'identifiant de la fonction qui est à l'origine de l'interruption, respectivement de l'arrêt d'interruption ( Interrupt ). Dans la mesure où il a été utilisé, le tampon de données 5 sur le système de commande du moteur 1 peut être à nouveau effacé, ou écrasé. Après réalisation de l'étape 322, l'exécution du programme de traitement des temps d'exécution 3 se termine (étape 314). A l'étape 222 sur la figure 2, l'interruption (pouvant s'agir opportunément aussi d'une interruption par plusieurs fonctions ou arrêts d'interruption ( Interrupts )) est exécutée. Après achèvement de l'interruption, à l'étape 224, le programme de traitement des temps d'exécution 3 est à nouveau appelé. Selon la description précédente, l'étape 326 est à nouveau réalisée selon les étapes 312 (c'est-à-dire si sous l'étape 216, la fonction interrompue est la fonction prédéfinie) et 316 sur la figure 3. A l'étape 322, l'information temporelle générée à l'étape 326 est transférée au PC 8, tout comme une information qui identifie qu'il s'agit de la fin d'une interruption. Ces informations sont à nouveau sauvegardées dans la mémoire du disque dur 13, à l'étape 221. Après achèvement du programme de traitement des temps d'exécution 3, la routine d'interruption est terminée, et, à l'étape 226 sur la figure 2, on retourne à l'exécution de la fonction, c'est-à-dire à la poursuite de la réalisation de l'étape de procédé 216. D'autres interruptions conduisent à une nouvelle exécution de la routine d'interruption 220 à 224. Après achèvement de l'exécution de la fonction à l'étape 216, le programme de traitement des temps d'exécution 3 est à nouveau appelé à l'étape 228. Après l'interrogation à l'étape 312, pour savoir s'il s'agit de la fonction prédéfinie, le motif d'appel du programme de traitement des temps d'exécution 3 est à nouveau demandé à l'étape 316. Cette fois, il s'agit d'un appel suite à l'achèvement du traitement d'une fonction. C'est pourquoi, directement après l'étape 316, l'étape 320 est réalisée, en contournant l'interrogation des conditions environnantes (étape 318). A l'étape 320, une information temporelle est générée, en commun avec une information disant qu'il s'agit de la fin de l'exécution de la fonction. A l'étape 322, ces informations sont transférées au PC 8, où elles sont à nouveau sauvegardées par la composante hors ligne 9 dans la mémoire du disque dur 13, à l'étape 221. Par ailleurs, on demande à l'étape 324 si le programme de traitement des temps d'exécution 3 est appelé en raison du début ou de la fin du traitement de la fonction. Comme il s'agit à présent d'un appel après achèvement de l'exécution de la fonction, l'étape 328 est réalisée. A l'étape 328, la variable de compteur de cycles Z est incrémentée de un. Ensuite, à l'étape 330, une interrogation a lieu pour savoir si la variable de compteur de cycles Z est d'ores et déjà supérieure au nombre de cycles W qui a été transmis au programme de commande du moteur 2 par la composante hors ligne 9, à l'étape 208, respectivement 234 (voir cidessous). Si c'est le cas, la mesure du temps d'exécution de la fonction prédéfinie est réalisée de façon itérative avec le nombre prédéfini de répétitions, et la mesure se termine. L'achèvement de la mesure du temps d'exécution a lieu en ce que, à l'étape 332, le programme de traitement des temps d'exécution 3 transmet à la composante hors ligne 9 une information, disant que le temps d'exécution de la fonction (respectivement des fonctions) prédéfinie(s) a été mesuré avec le nombre prédéfini de répétitions. En fonction de quoi, on peut procéder ensuite une évaluation des données et à une prédéfinition d'une nouvelle fonction, respectivement d'une nouvelle liste de fonctions. Après l'étape 332, le programme de traitement des temps d'exécution se termine. A l'étape 230, un traitement intermédiaire des données sauvegardées dans la mémoire du disque dur 13 par la composante hors ligne 9 a lieu, en option et indépendamment du déroulement du programme de commande du moteur 2. À cet effet il peut s'agir d'un traitement préalable des données (par exemple une classification, un calcul du temps d'exécution net, un catalogage ou une apposition d'informations supplémentaires, contenant des indications au sujet des conditions de mesure des temps d'exécution) ou d'ores et déjà d'une évaluation complète des données de mesures du temps d'exécution. Au cours de l'interrogation consécutive 232, la composante hors ligne 9 vérifie alors si d'ores et déjà toutes les fonctions prédéfinies par l'utilisateur ont été soumises à une mesure du temps d'exécution. Ce qui peut être effectué par exemple par comparaison de la liste desidentifiants des fonctions sélectionnées par l'utilisateur pour la mesure des temps d'exécution avec les identifiants sauvegardés dans la mémoire du disque dur 13 des fonctions qui ont d'ores et déjà été soumises à une mesure du temps d'exécution. D'autres critères de rupture peuvent également être vérifiés sous l'état 232. Si toutes les fonctions sélectionnées par l'utilisateur n'ont pas encore été soumises à une mesure du temps d'exécution, la composante hors ligne 9 transfère l'identifiant d'une fonction qui n'a pas encore été mesurée au programme de commande du moteur 2, à l'étape 234. En variante à l'exemple de réalisation représenté, la composante hors ligne 9 pourrait également réaliser une fois encore l'étape 208. Si les temps d'exécution de toutes les fonctions sélectionnées ont été mesurés dans les conditions de mesure prédéfinies, la composante hors ligne est arrêtée à l'étape 236. Si un traitement complet ou partiel des données mesurées a déjà été effectué à l'étape 230, les résultats de ce traitement sont sauvegardés dans une mémoire de données supplémentaires ou mis à disposition de l'utilisateur d'une autre façon, par exemple par représentation graphique sur l'écran 11 ou par une impression sur papier. Une évaluation et un traitement ultérieurs des résultats peuvent être effectués avec des programmes informatiques disponibles dans le commerce, comme par exemple des tableurs ou des programmes informatiques pour l'analyse statistique (étape 238). Un élément essentiel de l'évaluation des résultats est le calcul de la longueur des intervalles de temps par soustraction des instants de délivrance des signaux d'arrêt et de démarrage correspondants. Si la réalisation d'une fonction a été interrompue, les longueurs des intervalles partiels, au cours desquels la fonction a été réalisée doivent être additionnées. Par ailleurs, le système informatique peut procéder à l'évaluation d'affirmations statistiques au sujet de valeurs moyennes et de la dispersion des temps d'exécution mesurés et présenter les résultats sous forme de graphiques. REVENDICATIONS 1. Procédé pour la mesure des temps d'exécution d'une fonction prédéfinie d'un premier programme informatique (2), qui est exécuté par un premier système informatique (1), a) un second programme informatique (composante hors ligne, 9) prédéfinissant, sur un second système informatique (8), au premier programme informatique (2) exécuté sur le premier système informatique (1), quelle fonction est la fonction prédéfinie; b) les étapes suivantes étant réalisées sur le premier système informatique (1), de façon itérative, avec un nombre de répétitions: bl) lorsque le premier programme informatique (2) appelle une première fonction, le premier programme informatique (2) appelle une seconde fonction ou programme de traitement des temps d'exécution (3) au début et à la fin de l'exécution de la première fonction; b2) le programme de traitement des temps d'exécution (3) vérifie si la première fonction est la fonction prédéfinie et, si cette condition est remplie, il appelle une troisième fonction ou fonction horodateur (4) ; b3) la fonction horodateur (4) met à disposition au moins une information temporelle; et b4) le programme de traitement des temps d'exécution (3) transfère au moins l'information temporelle mise à disposition par la fonction horodateur (4) au second système informatique (8) ou à un autre système informatique après chaque appel. 2. Procédé selon la revendication précédente, caractérisé en ce que le programme de traitement des temps d'exécution (3) vérifie de plus si au moins un signal remplit une condition prédéfinie. 3. Procédé selon l'une des revendications 1 et 2, caractérisé : en ce que - en ce que, à chaque interruption de la réalisation de la fonction prédéfinie, la fonction horodateur (4) est appelée au début et à la fin de l'interruption; et - en ce que le programme de traitement des temps d'exécution sauvegarde au moins l'information temporelle mise à disposition par la fonction horodateur (4) dans une mémoire de données sur le second système informatique (8). 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la composante hors ligne (9) prédéfinit en supplément le nombre de répétitions pour le premier programme informatique (2) exécuté sur le premier système informatique (1). 5. Programme informatique, caractérisé en ce que lors de son exécution sur un ordinateur ou sur un réseau d'ordinateurs, il réalise le procédé selon l'une quelconque des revendications précédentes concernant le procédé. 6. Programme informatique,avec des moyens de codage de programme, pour réaliser un procédé selon l'une quelconque des revendications 1 à 4, lorsque le programme informatique est exécuté sur un ordinateur sur un réseau d'ordinateurs. 7. Programme informatique avec des moyens de codage de programme selon la revendication précédente, les moyens de codage de programme étant sauvegardés sur un support de données lisible par informatique. 8. Support de données ou système informatique, sur lequel est sauvegardée une structure de données, qui après son chargement dans une mémoire de travail et/ou dans une mémoire principale d'un ordinateur ou d'un réseau d'ordinateurs, réalise le procédé selon l'une quelconque des revendications 1 à 4. 9. Produit de programme informatique avec des moyens de codage de programmes sauvegardés sur un support lisible par informatique, pour réaliser les étapes selon l'une quelconque des revendications 1 à 4, lorsque le programme est exécuté sur un ordinateur ou sur un réseau d'ordinateurs. 10. Signal de données modulé, contenant des instructions réalisables par un système informatique ou par un réseau informatique, pour réaliser un procédé selon l'une quelconque des revendications 1 à 4. 11. Système informatique ou réseau informatique, caractérisé par au moins un dispositif, qui permet le déroulement d'un procédé selon l'une quelconque des revendications 1 à 4. 12. Agencement pour la mesure du temps d'exécution d'une fonction prédéfinie d'un premier programme informatique (2) qui est exécuté par un premier système informatique (1), l'agencement comportant: d) des moyens pour l'exécution du premier programme informatique (2) ; e) des moyens pour appeler et pour exécuter une 25 première fonction pendant l'exécution du premier programme informatique (2) f) des moyens pour appeler et pour exécuter une seconde fonction ou programme de traitement des temps d'exécution (3) au début et à la fin de 30 l'exécution de la première fonction, - les moyens d'exécution du programme de traitement des temps d'exécution (3) comportant: cl) des moyens pour vérifier si la première fonction est la fonction prédéfinie; c2) des moyens pour appeler et pour exécuter une troisième fonction ou fonction horodateur (4), en fonction des moyens de vérification, les moyens pour exécuter la fonction horodateur (4) comportant des moyens pour la mise à disposition d'au moins une information temporelle; et c3) des moyens pour transférer au moins l'information temporelle mise à disposition par la fonction horodateur (4) à un second système informatique (8), après chaque appel du programme de traitement des temps d'exécution (3).