FR2871592A1 - Computer program predefined function execution time measuring method for engine controlling instrument, involves generating temporal information by time-recording function, and directly transferring information to computer system - Google Patents

Computer program predefined function execution time measuring method for engine controlling instrument, involves generating temporal information by time-recording function, and directly transferring information to computer system Download PDF

Info

Publication number
FR2871592A1
FR2871592A1 FR0505964A FR0505964A FR2871592A1 FR 2871592 A1 FR2871592 A1 FR 2871592A1 FR 0505964 A FR0505964 A FR 0505964A FR 0505964 A FR0505964 A FR 0505964A FR 2871592 A1 FR2871592 A1 FR 2871592A1
Authority
FR
France
Prior art keywords
function
computer
program
execution
computer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR0505964A
Other languages
French (fr)
Inventor
Reiner Lederle
Frank Queisser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of FR2871592A1 publication Critical patent/FR2871592A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The method involves calling execution time processing program in beginning and in end of execution of a function, when a computer program calls the function. A time-recording function is called by the program if the function is a predefined function. Temporal information is generated by the time-recording function. The information is then directly transferred by the program to a computer system. Independent claims are also included for the following: (A) a computer program realizing a computer program predefined function execution time measuring method (B) data medium or computer system on which a data structure is saved, where the data structure executes a computer program predefined function execution time measuring method (C) a computer program product for executing a computer program predefined function execution time measuring method (D) a modulated data signal containing instructions for executing a computer program predefined function execution time measuring method (E) an arrangement for measuring execution time of a predefined function of a computer program.

Description

L'invention concerne un procédé et un agencement pour la recherche et laThe invention relates to a method and an arrangement for searching and

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  transmission of program execution times, for example of a predefined function of a computer program which is executed by a system

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.  computer science. The invention is particularly used in embedded systems, for example engine control instruments, in which only limited memories are available for saving measurement data.

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.  Function timing measurements are used to optimize computer programs, optimally utilizing the resources of a computer system. The execution time of a function is the time needed by a processor to execute the function. The execution time for example provides information on the proportion of the capacity of the processor that is occupied for the execution of a specific function.

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).  This optimization of resources is necessary especially during the development of computer programs for the operation of so-called real-time systems. In real-time systems, the programs for processing the resulting data are constantly ready for operation, so that the results of the processing are available within a predefined time. Depending on the application case, the data may result in a random distribution in time or at times defined in advance (see for example 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.  Real-time systems are often so-called embedded systems that handle complex work of ordering and processing data in technical systems.

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.  Embedded systems are usually made by integrating special hardware with processors and software. Systems of this type are used for example to control motors in the automotive field. Several embedded systems can be interconnected and form a unit, called CAN bus (English Controller Area Network) can be used for example for their connection.

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".  For this purpose, several independent programs, which share the computing time of a processor, can run on a computer system or processor. The programs are often divided into simple delimited functions (functions). To perform a specific job, it often happens that several functions are performed consecutively. To execute a job of this type, the functions necessary for its execution can be grouped into what is called a task. These tasks therefore contain functions and call them. As is customary in practice, the terms "function" and "task" (also interrupt stop (of English interrupt, exception, subprogram, routine, aggregate, object, block of code, block of text) are widely used as synonyms In real-time systems, computer programs are often designed so that tasks are called iteratively at regular intervals (for example every 10 milliseconds). often referred to as the "execution tranche".

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.  Several tasks can take place either independently or in parallel, depending on each other. As a general rule, several tasks share a processor's computation time, tasks are often divided into several fractions of time, which are executed either in sequential mode or in nested mode. For this purpose, some tasks may be given a higher priority than others, so that when performing a higher priority task, the execution of a lower priority task is interrupted. Furthermore, the execution of the computer program can also be interrupted by particular internal or external events (for example by modifying a voltage signal at the input of an interface or by an invalid result when execution of a task). Exceptional interruptions of this type are referred to as Interrupts or Interrupts.

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.  Because of this sequencing and interleaving of several tasks with the simultaneous need to execute jobs in predefined fixed time intervals, the optimization of resource exploitation in real-time systems takes on a very special meaning. For this optimization, it is again necessary to look for the execution times of the main functions, or even all the functions.

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).  To measure the execution times of a predefined function of computer programs, in practice, so-called timestamp functions are often used. In these methods for measuring execution time, the initial code of the computer program is modified so that before and after the execution of the predefined function (which may conveniently also be text blocks or code blocks in the program code, which are not closed functions per se, see above) in the program code, additional control elements are inserted. These additional control elements respectively contain a call of a time stamp function. At each call, this time stamp function saves time information in a data memory, as well as various data, such as an identifier of the predefined function or an event type (for example if it is a start or the end of the execution of the predefined function).

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.  The program code thus provided with the additional control elements for measuring the execution time of a predefined function is then translated into a computer-readable code. It is said that a modified code of this type is "instrumented", distinguishing for this purpose the "partially instrumented" computer programs, in which the time stamp function is called only for the execution of a single function or of several functions of the code program, computer programs "fully instrumented", in which the time stamp function is called at each call of a function.

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.  Current time stamping methods have some significant disadvantages for the optimization of complex programs for the control of real-time systems. A major disadvantage is that the interruption of the execution of the predefined function is not taken into consideration by other functions or Interrupts. With the method described for the measurement of the execution time, one therefore obtains larger measured values (raw execution times) than the actual net execution time of the functions. This is why, in practice, the measured execution time is often multiplied by a correction coefficient, which is less than 1 (for example 0.8 for an interrupt request of 20%). However, this correction coefficient can not be determined beyond doubt, it is often an experimental value highly dependent on the system. The reproducibility of measurements of this type is consequently low and the dispersion of the measured values is accordingly high, in case of repeated measurements.

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).  This is why, in many cases, during the application of time stamping processes, the computer program and / or even the entire computer system are modified so as to minimize the number of interruptions in the progress of the function to be measured. . This can be done for example by disconnecting Interrupts. But this modification of the hardware and software has the effect of changing the system to such an extent that the measured execution time of the function does not correspond to the actual operating time of the entire system. Moreover, a measurement of this type can not be carried out in the real system (for example in the car).

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.  In addition, such a procedure does not take into account the surrounding conditions of the system. But under certain conditions, the execution time of certain functions in real-time systems strongly depends on certain parameters of the system, such as external analog or digital signals at a system interface. This deficiency further reduces the reproducibility of the measurement.

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.  In addition, the method described is extremely long and requires significant computing capacity and a large memory. Typical programs for real-time systems to control complex process cycles can contain several thousand functions.

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.  But in general, the data memories available in embedded systems are not sufficient to be able to save time information for all functions. The data memories in embedded systems without memory expansion are for example buffers with a memory capacity of approximately 35 kilobytes, which corresponds to 4400 temporal information. But this memory is also used for the execution of the computer program, which further reduces the amount of memory available for saving time information. In typical motor control systems, however, a few thousand functions are used, which are executed in a highly nested fashion, for example sequentially, whose length is in the range of a few microseconds. After an execution slice of 10 milliseconds, this gives a control software a quantity of data of about 10,000 time information, the additional interrupt interrupts (interrupts) (for example interruptions in one millisecond in typical engine control systems) not yet taken into consideration. The data memories in typical real-time systems can therefore only accommodate information of an individual function or of a few functions and only over a time interval of one or a few execution slots.

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.  In principle, according to the method previously described, the program code should first be instrumented for each simple function, then be translated into a computer-readable code (over a respective duration of about 10 minutes), then be executed on the system in real time, then the saved time information should be viewed and evaluated. For an individual real-time system with several thousand functions, a process of this type can last for several weeks.

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.  The object of the present invention is to improve the possibilities of the measures of the execution time of the functions, in particular for computer programs which are executed on embedded systems with small working memories.

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.  This object of the invention is achieved by means of a method for measuring the execution times of a predefined function of a first computer program, which is executed by a first computer system, a) a second predefined computer program on a second computer system, the first computer program executed on the first computer system, which function is the predefined function; b) the following steps being performed on the first computer system, iteratively, with a number of repetitions: b1) when the first computer program calls a first function, the first computer program calls a second function or program for processing the times; execution at the beginning and at the end of the execution of the first function; b2) the execution time processing program checks whether the first function is the predefined function and, if this condition is fulfilled, it calls a third function or time stamp function; b3) the time stamp function makes available at least one temporal information; and b4) the execution time processing program transfers at least the time information made available by the time stamp function to the second computer system or to another computer system after each call.

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.  Advantageously, the method according to the invention has one or more of the following characteristics, taken in combination: the execution time processing program 10 furthermore checks whether at least one signal fulfills a predefined condition; - At each interruption of the realization of the predefined function, the time stamp function is called at the beginning and at the end of the interruption and the execution time processing program saves at least the time information made available by the function. timestamp in a data memory on the second computer system; and the predefined offline component additionally the number of repetitions for the first computer program executed on the first computer system.

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.  The invention also relates to a computer program, remarkable in that during its execution on a computer or a computer network, it carries out the method as described above in all its variants.

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.  The invention also relates to a computer program, with program coding means, for carrying out a method as described above in all its variants, when the computer program is executed on a computer on a computer network.

De préférence, les moyens de codage de programme sont sauvegardés sur un support de données lisible par informatique.  Preferably, the program coding means are saved on a computer readable data medium.

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.  The invention also relates to a data carrier or a computer system, on which a data structure is stored, which after being loaded into a working memory and / or a main memory of a computer or a network of computers, performs the method as described above in all its variants.

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.  The invention furthermore relates to a computer program product with means for coding programs saved on a computer readable medium, for carrying out the steps of the method as described above in all its variants, when the program is executed on a computer program. computer or on a computer network.

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.  The invention also relates to a modulated data signal, containing instructions that can be implemented by a computer system or a computer network, for carrying out a method as described above in all its variants.

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.  The invention also relates to a computer system or computer network, characterized by at least one device, which allows the development of a method as described above in all its variants.

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.  Finally, the invention also relates to an arrangement for measuring the execution time of a predefined function of a first computer program which is executed by a first computer system, the arrangement comprising: a) means for execution of the first computer program; b) means for calling and executing a first function during the execution of the first computer program; c) means for calling and executing a second function or program for processing execution times at the beginning and at the end of the execution of the first function, the means for executing the time processing program. execution comprising: cl) means for checking whether the first function 10 is the predefined function; c2) means for calling and executing a third function or time stamp function, as a function of the verification means, the means for executing the time stamp function comprising means for the provision of at least one temporal information; and c3) means for transferring at least the time information made available by the time stamp function to a second computer system, after each call of the execution time processing program.

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.  Thus, there is provided a method for measuring the execution time of a predefined function of a first computer program executed by a first computer system. For this purpose, a second computer program (off-line component) that is executed on a second computer system declares to the first computer program which function is the predefined function. Then the following steps are performed iteratively on the first computer system with a number of repetitions when the computer program calls a first function, at the beginning and end of the execution of this first function, it calls a second function (program processing time). The execution time processing program checks whether the first function is the predefined function and if this condition is fulfilled, it calls a third function (time stamp function). The time stamp function provides at least one temporal information. The execution time processing program transmits at least this time information directly, i.e. after each call, to the second computer system or to an additional computer system.

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.  The first computer program may be for example (as described above) a fully instrumented program in computer readable form. Unlike the previously described method, when each function is called, a time stamp function is not necessarily called, but the program for processing the execution time is called first. The latter checks for example using an identifier of the called function, if the called function is the function whose execution time must be measured. Only if this case occurs is the time stamp function called. Alternatively, several functions can also be predefined simultaneously. The execution time processing program then checks for each function, if the called function is one of the predefined functions and if this case arises, it calls the time stamp function.

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.  The provision of the temporal information by the time stamp function can be performed for example by saving in a data memory (for example by intermediate backup in a data buffer of the first computer system) or by transmitting an encrypted value to execution time program. The execution time processing program in turn transmits its data directly to the second computer program where they can be saved for example in a data memory. In addition, the execution time processing program can also carry out a new intermediate data backup, for example in a data buffer on the first computer system.

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).  The design of the temporal information may depend on the nature of the first computer system. For example, a clock integrated in the computer system (system time) can be used for time display as time information. But one can also save as temporal information for example the instantaneous stage of a periodic physical phenomenon (for example the angular position of the crankshaft in a motor system).

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.  The method has the advantage of significantly reducing the amount of data. Only the data of the function that is actually to be measured is detected and transmitted to the second computer system. Typically, this data is temporarily stored for a short time in a working memory of the first computer system. And as for this purpose it is usually a single or a few information clock, a small data buffer typically present also in embedded systems, so a volatile memory of a few bytes is sufficient.

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.  An additional extension of the working memory of the embedded systems is not necessary, which also makes it possible to use inexpensive embedded systems.

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é.  The intermediate backup in the working memory of the embedded systems is only brief (if it takes place) because the information is directly transmitted to the second computer system by the execution time processing program. In this way, precious resources of the embedded system are saved.

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.  Several information can also be transmitted to the second computer system by the execution time processing program, directly after being made available by the time stamp function (for example via an already existing communication channel). ), during a so-called multiplexing process. Thus for example the timestamps of eight functions can be measured and directly after the measurement, they can be transmitted together in common with the information on which function said timestamps correspond to the second computer system, via a communication channel (For example a CAN bus, a so-called killer line (Killer line or K-Line), the dual ported RAM or the like). This can be done for example by generating online variables (online English) determined, in which the execution time processing program saves the current time information. The offline component analyzes these variables online, for example at regular intervals, saves them and validates them for example for the next measurement for the execution time processing program.

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é.  This measuring method in which the generated time stamps are transmitted to the second computer system directly after being measured has the advantage that, for example, also during the undisturbed operation of an engine (for example while driving), it is possible to measure and display the execution times of functions. Since small amounts of data are transmitted each time by the onboard system to the second computer system, the transmission of the data corresponds only to a temporary, non-significant interruption in the operation of the first computer system, ie for example the onboard system.

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.  Embedded systems (real time systems) often have a so-called security computer, which during a prolonged interruption (for example following a transmission of a large amount of data to the second computer system) detects a fault and disconnects the computer. embedded system. In the described method, in which each time only small amounts of data are transmitted to the second computer system, this case does not occur however. The security computer does not react to the minimal interruption due to the transmission of the small amount of data and the operation of the first computer system is not interrupted by the transmission of the data. It is therefore possible to carry out the process during the normal operation of the first computer system (for example while driving a motor vehicle). The information concerning the execution times of specific functions can therefore also be evaluated, for example during driving.

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.  Moreover, the measurement of the execution time can take place in principle on a time horizon of infinite length, because it is no longer limited by the memory resources. For example, it is possible to continuously measure the execution times of certain functions and to represent them, for example, as a function of defined motor parameters, for example of its rotational speed, in particular online and in the form of a graph, and to evaluate them. Moreover, this information on execution times (available in particular online) can be used as triggers for other measurements or also for diagnostic purposes (optionally on the first computer system and / or also on the second computer system). computer system and / or other computer systems). For example, it is possible to monitor, for example on a control system of an engine, important safety functions. This is particularly advantageous when operating a test vehicle. Use in series vehicles is also 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.  Another advantage is that if after completion of the measurement of the execution time, it is necessary to measure the execution time of another function, it is no longer necessary to modify the instrumentation of the computer program. The execution time processing program reads this information to know which function is the predefined function (eg an identifier) in a data store. As a variant, the execution time processing program can be modified in the program code, so that the new function or the identifier of the new function is mentioned in the interrogation condition, which corresponds to a programming task much less than a modification of the 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.  Iterative implementation of the method with a predefined number of repetitions significantly improves the accuracy and reproducibility of the execution time measurement. The execution time is measured iteratively (for example 20 times), which makes it possible to calculate an average and to determine statistical information about the dispersion of the measured values.

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.  Moreover, the method described can be used in a very universal way. The clock functions are often commercial software products. If for reasons of cost or for reasons of availability of a more modern and more efficient product, the developer wants to change for a new time stamp function, it was necessary until now to adapt all the instrumentation of the computer program to the new time stamp function. A new time stamp function may require, for example, the transmission of other parameters. On the other hand, the use of the execution time program clearly facilitates this process. When implementing a new time stamp function, it is sufficient to adapt the program code of the execution time processing program. This significantly reduces investment in programming.

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).  The offline component executed on the second computer system declares to the first computer program executed on the first computer system which function is the predefined function. One can thus use the possibility of inputting information by an operator on a second computer system. This is particularly advantageous for embedded systems, which most of the time do not have means for the graphic representation of information (for example a screen) or means for data entry (for example a keyboard). The exchange of data between the two computer systems can take place for example via a bus system (for example, via a common application system in the automotive sector).

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.  The first computer program on the first computer system and the offline component on the second computer system can be completely independent of one another. The user of the second computer system can select functions whose execution time must be measured, without having to interrupt or disrupt the progress of the first computer program on the first computer system. The transmission of data between the two computer systems can take place for example in that interrogations are integrated into the respective computer programs at regular intervals, during which it is checked whether new signals (ie information ) are applied on the interface to the other respective computer system.

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.  The second computer system transmits to the first computer system the information saying which function, respectively which functions are to be taken into account in the interrogation condition. The execution time is then measured for these functions, for example if numbers have already been assigned to all the functions of a program during the instrumentation, the information can be transmitted for example in the form an identifier of the selected function.

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.  The use of the offline component on the second computer system is particularly advantageous if the execution time of many functions or even all the functions of a computer system must be successively measured. The method makes it possible to predefine a function list, the execution time of which is measured consecutively or according to a predefined sequence, and thereby reduces, for example, the time required for the measurement of all the functions of a typical built-in system. from weeks to minutes only.

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.  According to an advantageous improvement of the method, the execution time processing program additionally checks whether at least one signal fulfills a predefined condition. This signal may for example be an electrical signal on an interface of the computer system.

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.  This improvement is particularly advantageous in real-time controlled on-board systems, which are used to control complex sequences of processes. In systems of this type, the execution time of the functions or tasks of the computer system can be strongly dependent on certain parameters of the system, such as, for example, external analog or digital signals on an interface of the computer system. External signals may be for example the information transmitted by one or more sensors to the computer system. This information describes the operating status or surrounding conditions of the overall system. With the aid of the described improvement of the invention, one or more special surrounding conditions can be selected under which the execution time of a function must be measured. The reproducibility of the process increases significantly and it is also possible to analyze more complex correlations between the surrounding conditions and the operating mode of the computer system.

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).  This has, for example, a decisive advantage when programming engine control instruments in the automotive industry, called ECU (Engine Control Units), because this information must be processed by a user. large number of sensors (eg oxygen sensors, pressure sensors).

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.  According to another design of the method, at each interruption of the execution of the predefined function, the time stamp function is called at the beginning and at the end of the interruption. Again, the execution time processing program directly transmits the information made available by the time stamp function to the second computer system.

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 ).  This improvement of the method takes into account the fact that according to the preceding description, the execution of functions or tasks by the computer program can often be interrupted by higher priority tasks or functions or interrupt interruptions ( 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).  Thanks to the described improvement of the method, which also provides temporal information during an interruption of the execution of the predefined function, it is possible to measure the net execution time of a function, without it being necessary to disconnect Interrupts, change the systems in another way, or use correction factors. The net execution time is calculated from the difference between the start time and the stop time of the execution of the function, from which we deduce the periods during which the execution of the function was interrupted. . This significantly improves the accuracy and reproducibility of the measurement. This is particularly advantageous when programming real-time systems, in which the execution of a computer program is interrupted by a large number of interrupt interrupts (Interrupts), as for example on the engine controls in the system. automotive technology (with 30 to 40 Interrupts per millisecond).

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.  Apart from the information as to which function, respectively for which functions the execution time measurement is to be performed, the offline component can also transfer other information to the first computer system. The offline component can also predefine for example the number of repetitions for the first computer program executed on the first computer system.

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.  Furthermore, the scope of the invention encompasses a computer program, or several computer programs, which, when they are run on a computer or a computer network, carry out the method according to the invention, according to one of its modes. Design.

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.  In addition, the scope of the invention encompasses a computer program, respectively several computer programs with program coding means, for carrying out the method according to the invention according to one of its modes of design, when the, respectively the programs are run on a computer or on a computer network. The program coding means may in particular be saved on a computer readable data medium.

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.  In addition, the scope of the invention includes a data carrier on which a data structure is stored, which after being loaded into a working memory and / or a main memory of a computer or network of data. The computers can perform the method according to the invention according to one of its design modes.

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.  Also included within the scope of the invention is a computer program product, with program coding means backed up on a computer readable medium, for performing the method according to the invention according to one of its designs, when the program is run on a computer or on a computer network.

On désigne à cet effet par produit de programme informatique le programme en tant que produit du commerce.  For this purpose, the computer program product designates the program as a commercial product.

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.  It can be basically in any form, for example on paper or on a computer readable data medium and can be distributed in particular via a data transmission network.

Par ailleurs, le but est atteint par un agencement, qui comporte des moyens adaptés pour réaliser le procédé selon l'invention.  Furthermore, the object is achieved by an arrangement, which comprises means adapted to perform the method according to the 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.  The invention is explained below with the aid of exemplary embodiments which are diagrammatically represented in the figures. But the invention is not limited to the examples. For this purpose, the same references in each figure designate identical elements or identical functions or corresponding to the level of their function. The figures show in detail: FIG. 1: an arrangement for measuring the execution time of a function on a computer system controlled in real time for controlling an engine; Figure 2: a functional diagram of a method for measuring the execution time of the functions of a control program of an engine; Figure 3: A functional diagram of a program for processing execution times.

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.  FIG. 1 shows an example of a preferred arrangement for measuring the execution time of one or more functions of a control program of a motor 2 executed on a motor control system 1. In this example, the engine control system 1 is a typical system, controlled in real time. The control program of the engine 2 comprises as components a program for processing the execution time 3 and a time stamp function 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.  The control system of the engine 1 furthermore comprises a small data buffer 5 with a memory capacity of 35 kilobytes for the intermediate storage of the information generated by the time stamp function 4 during a measurement of the execution time. information that can be for example temporal information, identifiers of the functions or information to know if the temporal information relates to the start or the end of the execution of a function. According to the foregoing description, out of these 35 kilobytes, only a tiny fraction of a few bytes can be used to save run time information, since this small data buffer 5 is used simultaneously for the execution of the program. engine control 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).  The control system of the engine 1 is connected via an interface 6 with a motor system or with a device for simulating an engine which is not shown here. Via this interface 6, it is possible to receive external signals which may contain, for example, information on the operating state of the motor system (for example rotational speed, operating state of the lambda control, state operating the injection). This information may be, for example, sensor signals (for example an electrical signal from an oxygen sensor).

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.  The control system of the engine 1 further comprises a security computer 7. The security computer 7 is designed in such a way that it verifies the calculations and the actions performed on the control system of the engine 1 and the respect of certain time requirements during the realization. This security computer is not necessary for carrying out the method described above. But its particular characteristics and in particular the fact that the security computer would generate a fault message when transmitting larger amounts of data must be taken into consideration when designing computer programs for systems of this 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.  The control system of the engine 1 is further connected with a PC 8 on which a second computer program (offline component) 9 is executed. A keyboard 10 acting as input means and a screen 11 for the graphical representation are connected to the PC 8. The PC 8 comprises a volatile memory 12 and a hard disk memory 13. In this example, the link between the control system of the motor 1 is the PC 8 is provided via a CAN bus 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.  Fig. 2 shows a functional diagram of a preferred process design, an arrangement according to Fig. 1 or a similar arrangement in its function being used. The interaction between the off-line component 9 on the PC 8 and the control program of the engine 2 on the control system of the engine 1 is highlighted in this functional diagram in that the steps of the process of the offline component 9 are shown on the right side with a dashed frame and the process steps of the motor control program 2 are shown on the left side with a continuous frame. The dashed arrows are meant to symbolize the exchange of data between the off-line component 9 and the engine control program 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.  To facilitate communication between the engine control program 2 and the off-line component 9, in this example the commercially available INCA application system is used. Alternatively one could also use other application systems, such as for example SAM2000. This application system is executed on the PC 8. The code of the control program of the engine 2 is translated on the PC 8 into a computer readable form (compiled), grouped by a linker editor (from the English Linker) and / or by a Locator in a global executable software (linked) and loaded with a reprogramming tool commercially available in the control system of the engine 1. The communication between the PC 8 and the control system of the engine 1 is also provided through the INCA application system.

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.  FIG. 3 represents a functional diagram of an execution time processing program 3. Since it is necessary to understand the operating mode of the execution time processing program 3 to understand the process represented in FIG. Figures 2 and 3 are the subject of a common description below.

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.  In step 202 in Figure 2, an initialization of the off-line component 9 on the PC 8 takes place. Independently of this, the engine control program 2 starts in step 204. As already described above, the start of the off-line component 9 and the start of the engine control program 2 are performed completely. independent of each other and can therefore take place at different times. Thus, the control program of the motor 2 can also operate in continuous operation for example.

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.  In step 206, an input of the measurement conditions for the measurements of the execution times takes place using the offline component 9. Using the input means, the user can select or preset on the PC 8 which function, respectively which functions of the control program of the engine 2 executed on the control system of the engine 1 may be subjected to a measurement of the execution time. Moreover it can preset for each function a number of repetitions (number of cycles W), for example 20 repetitions, to determine how many times this measurement of the execution time of this function, respectively of these functions must be repeated.

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.  In addition, the user can predefine under what environmental conditions and in which operating state the measurement of the execution time of each function must take place, for example at what speed of rotation of the engine, if the lambda control or the injection must be active, or the like. The measurement conditions can therefore be precisely predefined, to significantly increase the reproducibility of the measurements of the execution time. The input of other information by the user is also conceivable, for example in the form of additional indications, which subsequently facilitate the evaluation of the results.

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.  In step 208, there is a start of the measurement of the execution time and a transfer to the control program of the engine 2 identifiers of the first function, whose execution time must be measured. Moreover, the number of cycles W, which determines the number of repetitions of the measurement of the execution time for the predefined function is transferred. This information is transferred via the CAN bus 14 to the control system of the engine 1 where they are subject, for example, to an intermediate backup in the data buffer 5, so as to be directly available for the data processing program. execution time 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.  In this embodiment, the motor control program 2 is a fully or partially instrumented program code, i.e. according to the foregoing description, the program code is provided with additional information. During the instrumentation, identifiers have also been assigned to the functions of the program code and can be saved in a database (not shown here). The offline component 9 stores an identifier of a user-predefined function in a volatile data memory 12. Moreover, the operating conditions predefined by the user in step 206 and under which the time of execution of the corresponding function must be measured can also be saved in the volatile data memory 12, just as the number of cycles W for each function to be measured. Through the CAN bus 14, the information saved in the data memory 12 is made available to the control program of the engine 2, including the processing program of the execution times 3 in step 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.  The execution of the engine control program 2 on the engine control system 1 and the measurement of the execution times of the functions are shown in step 210 and comprise a number of elementary steps (steps 212 to 228). . In step 212, the engine control program 2 calls a function.

Avant que la fonction ne soit exécutée, le programme de traitement des temps d'exécution 3 est appelé à l'étape 214.  Before the function is executed, the execution time processing program 3 is called in step 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).  The process steps performed by the execution time processing program 3 are shown in FIG. 3. After the call of the execution time processing program 3 (step 310), it is first verified that step 312 if the called function is the function predefined in step 208 or in step 234 (see below) by the offline component 9 (it may be appropriate for this purpose of one or more functions predefined functions, for example a function from a predefined list of functions). If this is not the case, execution of the execution time processing program 3 ends (step 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.  If, on the contrary, it is the predefined function, in step 316, the reason why the execution time processing program 3 has been called is called: the execution time processing program 3 a it been called following an interruption, following the start of a function or following the end of the execution of a function? In this case, it is according to step 214 of a call of the execution time processing program 3 following the start of a function. As a result, the execution time processing program 3 then requests at step 318 whether the predefined measurement conditions (surrounding conditions) are fulfilled, ie if for example the motor is operating at a predefined rotational speed.

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.  If these measurement conditions are not met, execution of the execution time processing program 3 ends (step 314). If, on the other hand, the measurement conditions are fulfilled, the time stamp function 4 is called in step 320. The latter generates a time information (time stamp), which is transferred, in step 322, to the PC 8 (represented symbolically by a dashed arrow) in common with an identifier of the called function and with the information, that in step 212, it was the start of the execution of the function ,. This is where this information is saved by the offline component 9 in the memory of the hard disk 13, in step 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).  In step 324, it is asked whether the execution time processing program 3 has been called following a start or the end of execution of the function. As in step 214, it was a call of the execution time processing program 3 at the beginning of execution of the function, the execution of the execution time processing program 3 ends in this case. according to step 324 (step 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é.  Next, the process step 216 in FIG. 2 is performed, i.e., the called function is executed. As for the function, it can call different sub-functions (for example if the function is a task, therefore a main function, encompassing several functions). The program can be designed so that the execution times of these sub-functions are also searched. Before and after each call of a sub-function, a call is made to the execution time processing program 3. At the interrogation step 312 of FIG. 3, a query is also opportunely find out if the called subfunction is a subfunction whose execution time must be measured.

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é.  If the execution of the function (respectively of one of the sub-functions) is interrupted, for example by functions with higher priority or Interrupts, time stamps must also be generated. . If an interrupt is identified (step 218), an interrupt routine including process steps 220 to 224 is executed. For this purpose in step 220, the execution time processing program 3 is first called.

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".  In parallel, the interruption levels can be detected for example using a stack (English stack) for the identifier of the respectively interrupted functions. In this way, one can also follow several interruptions "nested".

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).  Then at step 312 in Figure 3, it is again asked if the interrupted function is the (respectively) a predefined function. If it is not, the execution time processing program 3 ends at this point (step 314). If on the contrary it is the predefined function., Under step 316, the reason for calling the execution time processing program 3 is again requested. This time, it is a call from the execution time processing program 3 following an interruption. Therefore, after the interrogation of step 316, step 326 is executed. In a similar manner to step 320, in step 326, the time stamp function 4 is called again and generates time information. The time information is transferred, in step 322, to the PC 8 (symbolically represented by the dashed arrow), in common with the information that it is the beginning of an interruption. This is where this information is saved by the offline component 9 in the memory of the hard disk 13 in step 221. The information that it is an interruption can be saved for example in the form the identifier of the function which is at the origin of the interruption, respectively of the interruption of interruption (Interrupt). As far as it has been used, the data buffer 5 on the engine control system 1 can be erased again, or overwritten. After completion of step 322, execution of the execution time processing program 3 ends (step 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.  In step 222 in Figure 2, the interruption (which may also be opportunely also an interruption by several functions or Interrupts) is executed. After completion of the interrupt, in step 224, the execution time processing program 3 is called again. According to the preceding description, the step 326 is again performed according to the steps 312 (that is to say if under the step 216, the interrupted function is the predefined function) and 316 in FIG. step 322, the time information generated in step 326 is transferred to the PC 8, as well as information that identifies that it is the end of an interruption. This information is again saved in the memory of the hard disk 13, in step 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.  After completion of the execution time processing program 3, the interrupt routine is terminated, and in step 226 in Fig. 2, the execution of the function is returned, i.e. continuing to perform the process step 216. Other interrupts lead to a new execution of the interrupt routine 220 to 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.  After completion of the execution of the function in step 216, the execution time processing program 3 is again called in step 228. After the interrogation in step 312, to find out if this is the predefined function, the reason for calling the execution time processing program 3 is again requested in step 316. This time, it is a call following the completion of the treatment of a function. This is why, directly after step 316, step 320 is performed, bypassing the interrogation of the surrounding conditions (step 318). In step 320, time information is generated, in common with information saying that it is the end of the execution of the function. In step 322, this information is transferred to the PC 8, where it is again saved by the offline component 9 in the memory of the hard disk 13, in the step 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.  On the other hand, step 324 is asked whether the execution time processing program 3 is called because of the start or the end of the processing of the function. Since it is now a call after completion of the function execution, step 328 is performed.

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.  In step 328, the cycle counter variable Z is incremented by one. Then, in step 330, a query is made as to whether the cycle counter variable Z is already greater than the number of cycles W that has been transmitted to the control program of the motor 2 by the offline component. 9, at step 208, respectively 234 (see below). If this is the case, the measurement of the execution time of the predefined function is done iteratively with the predefined number of repetitions, and the measurement ends.

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.  The completion of the execution time measurement takes place in that, in step 332, the execution time processing program 3 transmits to the offline component 9 information, saying that the execution time of the predefined function (or functions) has been measured with the predefined number of repetitions. Depending on what, we can then proceed to an evaluation of the data and a predefinition of a new function or a new list of functions. After step 332, the execution time processing program terminates.

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.  In step 230, an intermediate processing of the data saved in the memory of the hard disk 13 by the off-line component 9 takes place, optionally and independently of the progress of the control program of the engine 2. For this purpose it may be prior processing of data (eg classification, calculation of net execution time, cataloging or additional information, including information about the conditions for measuring execution times) or already a complete evaluation of the measurement data of the execution time.

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.  During subsequent interrogation 232, the off-line component 9 then verifies whether all the functions predefined by the user have been subjected to a measurement of the execution time. This can be done, for example, by comparing the list of identifiers of the functions selected by the user for measuring the execution times with the identifiers saved in the memory of the hard disk 13 of the functions that have already been submitted. to a measure of the execution time. Other break criteria may also be checked under state 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.  If all the functions selected by the user have not yet been subjected to a measurement of the execution time, the offline component 9 transfers the identifier of a function that has not yet been measured to the control program of the motor 2, in step 234. As an alternative to the embodiment shown, the off-line component 9 could also perform once again step 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.  If the execution times of all the selected functions have been measured under the predefined measurement conditions, the off-line component is stopped in step 236. If a complete or partial processing of the measured data has already been performed at step 230, the results of this processing are saved in an additional data memory or made available to the user in another way, for example by graphical representation on the screen 11 or by printing on paper. Subsequent evaluation and processing of the results can be performed with commercially available computer programs, such as spreadsheets or computer programs for statistical analysis (step 238). An essential element of the evaluation of the results is the calculation of the length of the time slots by subtraction of the timing of delivery of the corresponding stop and start signals. If the execution of a function has been interrupted, the lengths of the partial intervals in which the function has been performed must be added together. In addition, the computer system can evaluate statistical statements about average values and the dispersion of the measured execution times and present the results in graphical form.

Claims (12)

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.  A method for measuring the execution times of a predefined function of a first computer program (2), which is executed by a first computer system (1), a) a second computer program (offline component, 9 ) predefining, on a second computer system (8), the first computer program (2) executed on the first computer system (1), which function is the predefined function; b) the following steps being performed on the first computer system (1), iteratively, with a number of repetitions: b1) when the first computer program (2) calls a first function, the first computer program (2) calls a second function or program for processing the execution times (3) at the beginning and at the end of the execution of the first function; b2) the execution time processing program (3) checks whether the first function is the predefined function and, if this condition is fulfilled, it calls a third function or time stamp function (4); b3) the time stamp function (4) provides at least one temporal information; and b4) the execution time processing program (3) transfers at least the time information made available by the time stamp function (4) to the second computer system (8) or to another computer system after each call. 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.  2. Method according to the preceding claim, characterized in that the execution time processing program (3) further checks whether at least one signal fulfills a predefined condition. 3. Procédé selon l'une des revendications 1 et 2,  3. Method according to one of claims 1 and 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).  characterized in that - at each interruption of the execution of the predefined function, the time stamp function (4) is called at the beginning and at the end of the interruption; and in that the execution time processing program saves at least the time information made available by the time stamp function (4) in a data memory on the second computer system (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).  4. Method according to any one of the preceding claims, characterized in that the offline component (9) additionally predefines the number of repetitions for the first computer program (2) executed on the first computer system (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é.  5. Computer program, characterized in that when executed on a computer or a computer network, it carries out the method according to any one of the preceding claims relating to the method. 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.  Computer program, with program coding means, for performing a method according to any one of claims 1 to 4, when the computer program is run on a computer over a computer network. 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.  7. Computer program with program coding means according to the preceding claim, the program coding means being saved on a computer readable data medium. 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.  8. A data carrier or computer system, on which a data structure is saved, which after loading into a working memory and / or a main memory of a computer or a computer network performs the method according to any one of claims 1 to 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.  9. Computer program product with means for encoding programs saved on a computer readable medium, for performing the steps according to any one of claims 1 to 4, when the program is executed on a computer or a network of computers. 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.  A modulated data signal containing instructions obtainable by a computer system or a computer network for performing a method according to any one of claims 1 to 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.  11. Computer system or computer network, characterized by at least one device, which allows the progress of a method according to any one of claims 1 to 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).  Arrangement for measuring the execution time of a predefined function of a first computer program (2) which is executed by a first computer system (1), the arrangement comprising: d) means for execution the first computer program (2); e) means for calling and executing a first function during the execution of the first computer program (2); f) means for calling and executing a second function or program for processing the execution times (3) at the beginning and at the end of the execution of the first function, the means for executing the execution time processing program (3) comprising: cl) means for checking whether the first function is the predefined function; c2) means for calling and executing a third function or time stamp function (4), as a function of the verification means, the means for executing the time stamp function (4) comprising means for the provision of at least one information item temporal; and c3) means for transferring at least the time information made available by the time stamp function (4) to a second computer system (8) after each call of the execution time processing program (3).
FR0505964A 2004-06-15 2005-06-13 Computer program predefined function execution time measuring method for engine controlling instrument, involves generating temporal information by time-recording function, and directly transferring information to computer system Pending FR2871592A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410028819 DE102004028819B4 (en) 2004-06-15 2004-06-15 Method for identifying and transmitting program durations in embedded systems

Publications (1)

Publication Number Publication Date
FR2871592A1 true FR2871592A1 (en) 2005-12-16

Family

ID=35453656

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0505964A Pending FR2871592A1 (en) 2004-06-15 2005-06-13 Computer program predefined function execution time measuring method for engine controlling instrument, involves generating temporal information by time-recording function, and directly transferring information to computer system

Country Status (3)

Country Link
DE (1) DE102004028819B4 (en)
FR (1) FR2871592A1 (en)
IT (1) ITMI20051071A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3060150A1 (en) * 2016-12-12 2018-06-15 Continental Automotive France METHOD FOR DIAGNOSING TASK SCHEDULING

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101440748B (en) * 2007-04-30 2010-06-09 哈尔滨工程大学 Multifunctional machine side control method of diesel

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677580A (en) * 1984-09-24 1987-06-30 Gte Communication Systems Corporation Real time usage indicator for a processor system
WO1998045784A1 (en) * 1997-04-08 1998-10-15 Advanced Micro Devices, Inc. Microprocessor-based device incorporating a cache for capturing software performance profiling data
US6079032A (en) * 1998-05-19 2000-06-20 Lucent Technologies, Inc. Performance analysis of computer systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677580A (en) * 1984-09-24 1987-06-30 Gte Communication Systems Corporation Real time usage indicator for a processor system
WO1998045784A1 (en) * 1997-04-08 1998-10-15 Advanced Micro Devices, Inc. Microprocessor-based device incorporating a cache for capturing software performance profiling data
US6079032A (en) * 1998-05-19 2000-06-20 Lucent Technologies, Inc. Performance analysis of computer systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BLASCIAK A J ET AL: "SOFTWARE PERFORMANCE ANALYSIS OF REAL-TIME EMBEDDED SYSTEMS", HEWLETT-PACKARD JOURNAL, HEWLETT-PACKARD CO. PALO ALTO, US, vol. 44, no. 2, 1 April 1993 (1993-04-01), pages 107 - 115, XP000360991 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3060150A1 (en) * 2016-12-12 2018-06-15 Continental Automotive France METHOD FOR DIAGNOSING TASK SCHEDULING
WO2018109288A1 (en) * 2016-12-12 2018-06-21 Continental Automotive France Method for diagnosing a sequencing of tasks

Also Published As

Publication number Publication date
ITMI20051071A1 (en) 2005-12-16
DE102004028819B4 (en) 2006-10-19
DE102004028819A1 (en) 2006-01-12

Similar Documents

Publication Publication Date Title
FR2959325B1 (en) MICROCONTROLLER EQUIPPED WITH A CALCULATION UNIT AND A LOGIC CIRCUIT, AND A CALCULATION METHOD FOR CONTROLLING THE CONTROL OF A VEHICLE
FR2881246A1 (en) PERFECT PROCESS FOR MANAGING, JOURNALIZING OR REJECTING NON-DETERMINISTIC OPERATIONS IN THE CONDUCT OF AN APPLICATION PROCESS
EP1593982B1 (en) Test of the robustness of a modeling of a physical system
FR2882448A1 (en) METHOD OF MANAGING, JOURNALIZING OR REJECTING THE PROGRESS OF AN APPLICATION PROCESS
EP1513714A1 (en) Method and device for automatically releasing the automatic parking brake when starting
EP4087185A1 (en) Method and electronic device for monitoring an avionics software application, associated computer program and avionics system
EP2160682A2 (en) Electronic card able to execute a command originating from a simulation system and a command originating from a diagnostic module and associated simulation method
FR2881247A1 (en) METHOD OF SEMANTICALLY MANAGING, JOURNALIZING OR REJECTING NON-DETERMINISTIC OPERATIONS WITHIN THE PROGRESS OF AN APPLICATION PROCESS
FR2871592A1 (en) Computer program predefined function execution time measuring method for engine controlling instrument, involves generating temporal information by time-recording function, and directly transferring information to computer system
FR2884628A1 (en) Interrupt service routine processing method for e.g. set-top box, involves starting counter while processor is operated in non-secured mode and returning processor to secured mode to pursue process execution when counter attains end value
FR2919744A1 (en) EFFORTS RESTITUTION DEVICE FOR A DRIVING STIMULATOR.
EP3881515B1 (en) System for the formal supervision of communications
EP2836913A1 (en) Device for generating a signature during execution of a program task, and method for comparing flows of execution
EP0407295B1 (en) Method for observing the execution of a program loaded into a computer system and apparatus for implementing said method
WO2003014692A1 (en) Computer programme for monitoring and controlling a test stand
FR2985335A1 (en) PERFORMANCE MEASUREMENT OF A COMPUTER INFRASTRUCTURE
EP1282037A1 (en) Real-time interface driver
US11896899B1 (en) Techniques for providing network applications
FR3035984A1 (en) METHOD FOR DETECTING MALWARE SOFTWARE
EP3035190A2 (en) Assistance in the development of computer applications
EP3910914A1 (en) Method for mitigating restraints for an operational application, associated computer program product and method for determining a harmful application
FR2812099A1 (en) Self-regulation in an information system of consumption of computing resources by a program, uses monitoring agent measuring resource usage and using a resource use model to predict where demand will occur
EP2770438A1 (en) Monitoring of performance tests executed in a computer system
EP0936545B1 (en) Method and apparatus for monitoring tasks distribution of computer processes in a multiprocessor system and system with such an apparatus
FR2848692A1 (en) Temporal device for physical event e.g. telephone call to software service e.g. game, has synthetic treatment module producing condensed results in structures of preset data and size of accountability file to maintain file size

Legal Events

Date Code Title Description
TP Transmission of property