SYNCHRONISATION DE DONNEES DANS UN SYSTEME DE PILOTAGE [0001 DOMAINE TECHNIQUE [0002] La présente invention concerne un système de pilotage comprenant un dispositif de pilotage principal agencé pour mettre en oeuvre une série de fonctions de façon successive selon un schéma temporel, au moins un dispositif de pilotage auxiliaire agencé pour mettre en oeuvre une fonction de substitution se substituant à une fonction de la série de fonctions, et une interface agencée pour faire appliquer la fonction de substitution à un ensemble de données d'entrée destiné à la fonction substituée et pour faire appliquer un ensemble de données de sortie produit par la mise en oeuvre de la fonction de substitution à une fonction 1 o suivante de la série de fonctions. [0003] L'invention concerne également un procédé de synchronisation de données dans un tel système de pilotage. [0004] L'invention peut être appliquée, par exemple, dans le domaine du transport automobile, ou éventuellement aéronautique, et concerne, notamment, 15 un procédé de commande du fonctionnement d'une série d'étages fonctionnels, de façon successive et selon un schéma temporel, dans un véhicule à moteur ou dans un environnement de simulation de celui-ci, incluant un tel procédé de synchronisation de données. [0005] ETAT DE LA TECHNIQUE ANTERIEURE 20 [0006] L'industrie automobile affiche à l'heure actuelle une tendance très marquée à l'augmentation du nombre des systèmes électriques ou électroniques dans les véhicules. Ces systèmes, qui permettent l'introduction de nouvelles fonctions de sécurité, de confort et d'amélioration des performances, deviennent de plus en plus complexes, et ont donné lieu à un accroissement des temps de 25 développement et donc des coûts, et ce d'autant plus que les contraintes de qualité restent toujours un objectif essentiel. Il est en effet primordial qu'aux fonctions ainsi développées soit attachée une fiabilité toujours plus grande. [0007] La part des logiciels dans ce coût de développement augmente chaque année, et l'avènement des véhicules hybrides ne fait qu'accentuer cette tendance.SYNCHRONIZATION OF DATA IN A CONTROL SYSTEM [0001 TECHNICAL FIELD The present invention relates to a control system comprising a main control device arranged to implement a series of functions in a successive manner according to a time diagram, at least one device driver arranged to implement a substitute function substituting for a function of the series of functions, and an interface arranged to apply the substitution function to a set of input data for the substituted function and to perform applying a set of output data produced by the implementation of the substitution function to a function 1 o next of the series of functions. The invention also relates to a data synchronization method in such a control system. The invention can be applied, for example, in the field of automobile transport, or possibly aeronautical, and concerns, in particular, a method for controlling the operation of a series of functional stages, successively and according to a temporal scheme, in a motor vehicle or in a simulation environment thereof, including such a data synchronization method. STATE OF THE PRIOR ART [0006] The automotive industry is currently showing a very marked tendency to increase the number of electrical or electronic systems in vehicles. These systems, which allow the introduction of new security, comfort and performance enhancement functions, are becoming increasingly complex, and have resulted in increased development times and thus costs, and this has increased. as much as the quality constraints remain an essential objective. It is indeed essential for the functions thus developed to be attached to ever greater reliability. The share of software in this development cost increases each year, and the advent of hybrid vehicles only accentuate this trend.
30 Dans une voiture, la démultiplication des fonctions pilotant des organes multi- physiques en est la principale cause. De plus, les cycles de développement sont maintenant de plus en plus courts et imposent, en réalité, des délais de développement réduits pour ces systèmes complexes. [0008] Des outils, notamment de modélisation et de simulation, ont été élaborés pour développer ces fonctions, contrôler leur mise en oeuvre correcte, assurer leur maintenance, et les faire évoluer. En particulier, la méthode dite de prototypage rapide est devenu l'un des moyens le plus couramment utilisés pour favoriser le développement, tant matériel que logiciel, de nouvelles fonctions. Une description des principes généraux du prototypage rapide peut être trouvée par exemple dans la communication « Rapid control prototyping tutorial with application examples », de V. Hôlttà, L. Palmroth et L. Eriksson, 2004. [0009] Plus précisément, le pilotage de l'ensemble des organes d'un véhicule est fractionné en plusieurs sous-systèmes composés de fonctions de pilotage de ces organes. Si l'on considère le système regroupant l'ensemble des fonctions de pilotage, hébergé dans un ou plusieurs calculateurs généralement dimensionnés au plus juste selon des contraintes précises (ces fonctions de pilotage individuelles étant souvent développées par des équipes distinctes avec des contraintes temporelles différentes), il existe plusieurs méthodes pour garantir le bon fonctionnement de ce système. [0010] L'une de ces méthodes, ayant pour avantage d'être représentative du produit final souhaité, consiste à réaliser un prototype du système, incluant toutes les fonctions développées individuellement. Pour éviter les inconvénients qui apparaîtraient dans la réalisation de systèmes complexes, cette méthode s'attache à garantir le fonctionnement de chaque fonction développée localement, sans rechercher une cohérence globale à tout instant du développement. Le prototypage rapide est, à cet effet, un outil bien adapté permettant, tout au long du cycle de développement, de s'assurer du bon fonctionnement de chaque fonction développée, indépendamment des autres fonctions constituant le système. [0011] Dans ses grandes lignes, l'idée de base du prototypage consiste à développer et à tester des stratégies de commande et les algorithmes correspondants dans un environnement de simulation, puis, lorsque les résultats de ces simulations sont acceptables et validés, de tester ces stratégies et algorithmes en temps réel. Plus précisément, deux approches de prototypage peuvent être distinguées, dites « fullpass » et « bypass ». [0012] Dans le procédé dit « fullpass », un calculateur de commande d'origine, dans l'environnement simulé, est complètement remplacé par un calculateur auxiliaire qui, pour effectuer le prototypage, prend temporairement le contrôle complet de tous les capteurs et dispositifs de commande de cet environnement. Dans le procédé dit « bypass », ce sont uniquement certaines entités qui sont, isolément, pilotées par le calculateur de prototypage, chargé en fait de mettre en oeuvre une fonction de substitution qui va ensuite se substituer à l'une des 1 o fonctions pilotées par le calculateur d'origine. Ce dernier conserve, lui, le contrôle du pilotage de toutes les fonctions qui n'ont pas été modifiées et assure leur exécution. [0013] On notera que ce dialogue entre un dispositif de pilotage principal et un (ou plusieurs) dispositif(s) de pilotage auxiliaire(s) est également présent dans le 15 cas du contrôle réel direct du fonctionnement d'un moteur de véhicule. Le dispositif de pilotage d'un système de contrôle de moteur gère en temps réel un certain nombre de paramètres de fonctionnement du moteur, en analysant en permanence les signaux envoyés par divers capteurs. A partir de ces signaux, il dialogue avec des dispositifs de pilotage auxiliaires répartis dans le véhicule, pour 20 maintenir un réglage optimal existant ou mettre le moteur dans des conditions qu'il a choisies, en échangeant des informations avec le ou les dispositifs de pilotage auxiliaires qui ont pris en charge des fonctions spécifiques (fonctions dont le résultat de la mise en oeuvre est attendu par le dispositif de pilotage principal). [0014] L'invention se situe dans le cadre du deuxième cas de prototypage 25 présenté ci-dessus, à savoir le procédé « bypass ». Selon ce procédé, lorsque l'une des fonctions mises en oeuvre par le dispositif de pilotage principal doit être mise à jour par substitution, l'intervalle de temps consacré par ce dispositif de pilotage principal à cette fonction substituée est systématiquement allongé pour laisser à la fonction de substitution prise en charge par un dispositif de pilotage 30 auxiliaire tout le temps nécessaire pour être mise en oeuvre, puis produire et restituer ses résultats. [0015] Ce temps d'attente bloque le fonctionnement du dispositif de pilotage principal et peut créer une surcharge de celui-ci. Cette surcharge, d'autant plus critique qu'elle concerne le système avant sa mise à jour par substitution, entraîne une limitation du nombre de fonctions et de leur taille en terme d'entrées, de sorties et de temps de calcul, et peut affecter la consistance du flux des données utilisées. [0016] EXPOSE DE L'INVENTION [0017] Le but de l'invention est par conséquent de limiter ou même de supprimer les inconvénients liés à ce temps d'attente systématique. [0019] L'invention concerne à cet effet un système de pilotage comprenant : un dispositif de pilotage principal agencé pour mettre en oeuvre une série de 1 o fonctions de façon successive selon un schéma temporel ; au moins un dispositif de pilotage auxiliaire agencé pour mettre en oeuvre une fonction de substitution se substituant à une fonction de la série de fonctions ; une interface agencée pour faire appliquer la fonction de substitution à un ensemble de données d'entrée destiné à la fonction substituée et pour faire 15 appliquer un ensemble de données de sortie produit par la mise en oeuvre de la fonction de substitution à une fonction suivante de la série de fonctions ; le système étant caractérisé en ce que l'interface est agencée pour vérifier si l'ensemble de données de sortie produit par la fonction de substitution est disponible à un instant où la fonction suivante débute selon le schéma temporel et 20 pour introduire un temps d'attente dans ce schéma temporel seulement si l'ensemble de données de sortie n'est pas encore disponible à cet instant. [0019] Dans une variante de réalisation du système, celui-ci comprend plusieurs dispositifs de pilotage auxiliaires, agencés pour mettre en oeuvre chacun une fonction de substitution différente se substituant à une fonction distincte de la série 25 de fonctions, et l'interface est agencée pour faire appliquer chaque fonction de substitution à un ensemble de données d'entrée destiné à la fonction substituée correspondante et pour faire appliquer l'ensemble de données de sortie produit par la mise en oeuvre de chaque fonction de substitution à au moins une fonction suivante de la série de fonctions. Selon l'invention, l'interface est, en outre, 30 agencée pour vérifier si chaque ensemble de données de sortie est disponible à un instant où la fonction suivante débute selon le schéma temporel, puis pour introduire un temps d'attente dans ce schéma temporel seulement si au moins un ensemble de données de sortie n'est pas encore disponible à cet instant. [0020] Dans une autre variante de réalisation du système, le flux de données de sortie disponible en sortie du dispositif de pilotage principal constitue, à l'expiration de la mise en oeuvre de la série de fonctions et après application du ou des ensemble de données de sortie produit(s) par la mise en oeuvre de chaque fonction de substitution à la fonction concernée (la fonction substituée correspondante) de la série de fonctions, un nouveau flux de données d'entrée pour le dispositif de pilotage principal, pour un nouveau cycle de mise en oeuvre 1 o de la série de fonctions. [0021] L'invention concerne également le procédé de synchronisation de données utilisé dans un tel système de pilotage. [0022] Selon l'invention, ce procédé comprend une étape de temporisation conditionnelle dans laquelle l'interface, après avoir vérifié si l'ensemble de 15 données de sortie produit par la fonction de substitution est disponible à un instant où la fonction suivante débute selon le schéma temporel, introduit un temps d'attente dans ce schéma temporel seulement si l'ensemble de données de sortie n'est pas encore disponible à cet instant. [0023] Dans une variante de réalisation, le procédé est appliqué à un système de 20 pilotage comprenant plusieurs dispositifs de pilotage auxiliaires agencés pour mettre en oeuvre chacun une fonction de substitution différente se substituant à une fonction distincte de la série de fonctions, et l'interface est agencée pour faire appliquer chaque fonction de substitution à un ensemble de données d'entrée destiné à la fonction substituée correspondante et pour faire appliquer l'ensemble 25 de données de sortie produit par la mise en oeuvre de chaque fonction de substitution à au moins une fonction suivante de la série de fonctions. Selon l'invention, le procédé comprend alors une étape dans laquelle l'interface, après avoir vérifié si chaque ensemble de données de sortie est disponible à un instant où la fonction suivante débute selon le schéma temporel, introduit un temps 30 d'attente dans ce schéma temporel seulement si au moins un ensemble de données de sortie n'est pas encore disponible à cet instant. [0024] Dans une autre variante de réalisation, le procédé comprend une étape de bouclage du flux de données de sortie, disponible en sortie du dispositif de pilotage principal à l'expiration de la mise en oeuvre de la série de fonctions et après application du ou des ensemble de données de sortie produit(s) par la mise en oeuvre de chaque fonction de substitution à la fonction concernée de la série de fonctions, vers l'entrée du dispositif de pilotage principal pour qu'il constitue pour celui-ci un nouveau flux de données d'entrée en vue de la réalisation d'un nouveau cycle de mise en oeuvre de la série de fonctions. [0025] L'invention concerne également un produit programme d'ordinateur 1 o comprenant un jeu d'instructions capable, lorsqu'il est introduit dans un support pouvant être lu par des moyens informatiques, de mettre en oeuvre le procédé de synchronisation de données d'un système de pilotage ainsi défini. [0026] L'invention concerne également un procédé de commande du fonctionnement d'une série d'étages fonctionnels, de façon successive et selon un 15 schéma temporel, dans un véhicule à moteur ou dans un environnement de simulation de celui-ci, faisant appel à un tel procédé de synchronisation de données. [0027] DESCRIPTION SOMMAIRE DES DESSINS [0028] La présente invention est illustrée par des exemples non limitatifs sur les 20 figures jointes, dans lesquelles des références identiques indiquent des éléments similaires : - Les Figures 1A et 1B sont des représentations très schématiques illustrant de façon simplifiée, selon l'état de la technique antérieure, respectivement le dialogue entre un dispositif de pilotage principal et un dispositif de pilotage 25 auxiliaire, dans le cas de la technique connue dite de « bypass » (Figure 1A), et la succession des tâches prises en charge par le dispositif de pilotage principal (Figure 1 B). - La Figure 2 est un diagramme schématique qui détaille plus particulièrement le déroulement d'une tâche du dispositif de pilotage principal, selon l'état de 30 la technique antérieure. - La Figure 3 illustre le principe de la synchronisation des données échangées, selon l'état de la technique antérieure, entre les systèmes de génération précédente et de prototypage SGP et SPR définis en relation avec la Figure 2. - La Figure 4 illustre plus en détail, par rapport à la Figure 3, le mode de synchronisation des données entre les systèmes de génération précédente et de prototypage SGP et SPR, selon l'état de la technique antérieure, lorsque le système de génération précédente est par exemple en charge de la mise en oeuvre de fonctions successives f1-1, f2-1, etc. - Les Figures 5 et 6 illustrent dans deux situations distinctes le mode de synchronisation des systèmes de génération précédente et de prototypage SGP et SPR, selon la présente invention. [0029] DESCRIPTION DETAILLEE DE L'INVENTION [0030] Le principe de base du dialogue en environnement simulé ou en environnement réel entre un dispositif de pilotage principal et (au moins) un dispositif de pilotage auxiliaire peut être illustré de façon très schématique sur les Figures 1A et 1B. [0031] La Figure 1A montre un premier dispositif de pilotage 100, qui constitue un dispositif dit principal, utilisable par exemple pour contrôler ou réguler diverses fonctions (dans le cas d'un véhicule à moteur, le régime de la boîte automatique, la climatisation, le dispositif de déclenchement des airbags, etc, sans que cette énumération soit limitative). Le dispositif 100 reçoit, dans une voie principale, un flux de données d'entrée (désigné par la référence FDE) sur une interface d'entrée 11, qui les adresse à un bloc de traitement 13 par l'intermédiaire d'un bloc de lecture 12. Le bloc de traitement 13 fournit les données ainsi traitées à un bloc d'écriture 14, et une interface de sortie 15 délivre un flux de données de sortie (désigné par la référence FDS) du dispositif 100. [0032] Un deuxième dispositif de pilotage 200, qui constitue un dispositif dit auxiliaire, est utilisé pour réaliser, dans une voie en parallèle incluant un bloc de traitement 23 et à partir des données disponibles dans le dispositif principal 100, un calcul fonctionnel spécifique (une mise à jour de la fonction mise en oeuvre dans le bloc 13). Le bloc de traitement 23 délivre de nouvelles données qui sont adressées au bloc d'écriture 14, en sortie duquel est délivré le flux actualisé des données de sortie FDS. [0033] Ce fonctionnement de principe revient à dire que le dispositif principal 100 effectue, dans la voie principale, des tâches principales successives, matérialisées, comme indiqué sur la Figure 1 B, par exemple par les références K1, K2, K3 représentées en série sur l'axe des temps t. Au cours du déroulement de l'une ou l'autre de ces tâches, de K1 par exemple, il apparaît que les données traitées par le dispositif principal 100 doivent être modifiées par substitution, en fonction de la mise en oeuvre d'une fonction de substitution prise en charge par le dispositif auxiliaire 200 (pour la tâche K1, entre les instants t1 et t2, matérialisés sur la Figure 1B par les flèches respectivement montante et descendante, chaque 1 o tâche annexe effectuée par le dispositif 200 étant représentée sur un deuxième axe des temps t). Une fois cette mise en oeuvre terminée dans la voie en parallèle (que l'on peut appeler voie de prototypage), le résultat obtenu est restitué au dispositif principal 100. [0034] A partir des schémas de principe illustrés sur les Figures 1A et 1B, la 15 Figure 2 permet d'illustrer, maintenant de manière plus précise, le système dans lequel l'invention est destinée à s'appliquer. On appelle F le dispositif de pilotage principal regroupant, pour leur mise en oeuvre, l'ensemble des fonctions de pilotage des organes d'un véhicule. Ce dispositif F est un système en cours de développement, avec, comme indiqué plus haut également, des contraintes 20 temporelles diverses, qu'on appelle Cp. L'évolution technique de ce système se manifeste donc par la mise au point de générations successives. [0035] Sur la Figure 2, on appelle par conséquent F-' le système dit de génération précédente et Cp-' les contraintes associées à F-'. L'exposant -' indique qu'il s'agit du système de génération précédente, c'est-à-dire avant 25 actualisation de ce système pour constituer une génération suivante. Par souci de simplicité et pour ne pas rendre la figure trop complexe, on s'intéresse d'abord au développement (dans F-') et à la vérification du bon fonctionnement d'une seule fonction, définie par exemple par la notation fn-'(xi, aj, yk), où xi désigne les variables d'entrée, yk désigne les variables de sortie et aj désigne les divers 30 paramètres de configuration. Le développement de fn-' et la vérification de son bon fonctionnement sont réalisés dans le système (F-', Cp-l) de génération précédente, désigné par la référence SGP. La fonction, ici fn, appelée à mettre à jour par substitution cette fonction fn-'(xi, aj, yk) est hébergée dans le dispositif de pilotage auxiliaire qu'on appelle, selon la technique utilisée rappelée plus haut, système de prototypage et qui est désigné par la référence SPR. La communication entre le système de génération précédente SGP et le système de prototypage SPR est assurée par une interface qui transmet au système de prototypage SPR le flux des variables xi, provenant du système SGP, et restitue au système SGP le flux des variables yk, provenant du système SPR. [0036] La Figure 3 illustre le mode de synchronisation des données ainsi échangées entre les deux systèmes SGP et SPR. Cette synchronisation est assurée par deux étages LEC et ECR présents dans le système de génération précédente SGP. On peut noter respectivement rxi, raj et ryk les variables d'entrée lues, les paramètres lus et les variables de sortie lues, et, de même, respectivement wxi, waj et wyk les variables d'entrée écrites, les paramètres écrits et les variables de sortie écrites. [0037] Dès l'initialisation de la tâche prise en charge par le système de génération précédente SGP (mise en oeuvre d'une fonction fn-' (xi, aj), l'étage de lecture LEC envoie au système de prototypage SPR une commande de déclenchement de la mise en oeuvre de la fonction de substitution, fn, et envoie également les données d'entrée et les paramètres de configuration nécessaires pour ce calcul. L'étage d'écriture ECR reçoit du système de prototypage SPR le résultat de la mise en oeuvre de la fonction de substitution fn. Dans l'étage d'écriture ECR, un mécanisme d'attente a été mis en place : un circuit d'attente ATT permet de suspendre l'exécution des tâches prises en charge par le système de génération précédente SGP. Cette période d'attente, mise en place entre la fin de fn-' et la fin du calcul de fn, laisse au système de prototypage SPR le temps d'effectuer la mise en oeuvre de la fonction fn. Le résultat issu du calcul de fn est alors transmis au système de génération précédente SGP, où la fonction ainsi actualisée va être utilisée. [0038] Dans la description du principe de la synchronisation de données qui vient d'être effectuée en référence à la Figure 3, une seule fonction fn-' à mettre à jour a été représentée. En réalité, comme le montre la Figure 4, le système de génération précédente SGP comprend généralement la mise en oeuvre d'une série de fonctions, opérée de façon successive et selon un schéma temporel déterminé. Ces fonctions sont par exemple notées f1-1, f2-1,..., fi', etc. Dans l'exemple illustré, la fonction f4-1 est la fonction qui va utiliser les résultats de la fonction f1 -1 substituée par une fonction de substitution fi. Les exposants -1 indiquent comme précédemment qu'il s'agit des valeurs de ces fonctions dans le système de génération précédente, avant actualisation de ce système par substitution de fonction. Selon l'état de la technique antérieure, le déclenchement de la mise en oeuvre de la fonction de substitution f1 dans le système SPR a également provoqué dans l'étage d'écriture ECR l'activation systématique d'un circuit d'attente ATT qui suspend les tâches en cours dans le système SGP jusqu'à ce que cet étage d'écriture ECR ait reçu le résultat issu de la mise en oeuvre opérée dans le système SPR. [0039] Par comparaison avec la Figure 4, les Figures 5 et 6 illustrent le mode de synchronisation de données du système de génération précédente SGP et du système de prototypage SPR lorsque la présente invention est utilisée. [0040] Selon l'invention, au lieu d'allonger systématiquement l'intervalle de temps consacré dans le système SGP à la fonction f1-1 substituée dans l'attente du résultat de la fonction de substitution fi, il est maintenant observé que cette stratégie d'attente systématique n'est, en réalité, pas vraiment efficace lorsque la fonction (ici f4-1) qui utilise le résultat de la fonction de substitution se trouve plus loin (selon le schéma temporel de mise en oeuvre des fonctions) dans la série des fonctions. L'invention prend en compte le fait que le temps nécessaire pour la mise en oeuvre des fonctions intermédiaires (ici f2-1, f3-1) peut être utilisé pour réduire le temps d'attente, voire même pour le supprimer. [0041] A cet effet, les opérations distinctes de lecture (envoi au système de prototypage SPR d'une commande de déclenchement de la mise en oeuvre de la fonction de substitution, avec les données d'entrée et les paramètres de configuration éventuellement nécessaires) et d'écriture (réception préalable, à partir du système de prototypage SPR, du résultat actualisé de la mise en oeuvre de ladite fonction de substitution, puis écriture et utilisation de ladite fonction ainsi substituée, dans sa version actualisée, dans le système de génération précédente) sont remplacées par une seule commande qui déclenche, dans le système SPR, la mise en oeuvre de la fonction de substitution, en transmettant les données d'entrée et les paramètres de configuration nécessaires, et impose une attente seulement si le résultat de cette mise en oeuvre effectuée dans le système SPR pour la mise à jour de la fonction concernée (f1-') et attendu par une autre fonction (f4-1) dans le système de génération précédente n'est pas encore disponible. [0042] La Figure 5 correspond au cas où la mise en oeuvre de la fonction de substitution dans le système SPR prend peu de temps et est rapidement terminée, et où son résultat est donc disponible pour être restitué au système de génération précédente SGP. La Figure 6 correspond à la situation où cette mise en oeuvre dans le système SPR prend plus de temps, et où l'instauration d'un temps d'attente - calculé au plus juste en fonction de l'éloignement, selon le schéma 1 o temporel mentionné plus haut, entre fi et f4 - est tout de même nécessaire. [0043] La solution proposée a donc pour effet de réduire considérablement le temps d'attente ou de le supprimer complètement. Cela permet, dans le système de prototypage, de traiter des fonctions de substitution de taille supérieure (temps de calcul, nombre d'entrées-sorties) et, dans le système de génération 15 précédente, de limiter les contraintes liées au prototypage. [0044] REMARQUES FINALES [0045] La description détaillée donnée ci-dessus en se référant aux figures n'est qu'une illustration de l'invention parmi d'autres. L'invention peut être réalisée de diverses façons. En effet, l'invention est appliquée avantageusement dans le 20 domaine de l'industrie automobile, mais elle peut trouver d'autres applications dans tout domaine où, en temps réel ou en environnement simulé, doivent être testées ou contrôlées de nouvelles fonctions s'appliquant dans des processus et dispositifs commandés par un système de pilotage ou de contrôle complexe. [0046] Par ailleurs, bien que les dessins montrent différentes entités 25 fonctionnelles sous la forme de différents blocs, cela n'exclut en aucune manière des réalisations où une seule entité physique effectue plusieurs fonctions, ou inversement des réalisations où plusieurs entités physiques effectuent collectivement une seule fonction. [0047] Par exemple, lorsqu'une mise à jour est nécessaire pour plusieurs 30 fonctions de la série des fonctions mises en oeuvre dans le système de génération précédente, celui-ci peut faire appel, pour l'exécution du nombre nécessaire de mises en oeuvre de fonctions de substitution, à plusieurs dispositifs de pilotage auxiliaires prévus en parallèle du dispositif de pilotage principal. [0048] Par ailleurs, il est possible de prévoir que le flux de données de sortie disponible en sortie du dispositif de pilotage principal 100 constitue, à l'expiration de la mise en oeuvre de la série de fonctions et après application du ou des ensemble de données de sortie produit(s) par la mise en oeuvre de chaque fonction de substitution à la fonction concernée de la série de fonctions, un nouveau flux de données d'entrée pour le dispositif de pilotage principal 100. Cela permet d'exécuter un nouveau cycle de mise en oeuvre de la série de fonctions. [0049] D'autre part, on a vu que le procédé de synchronisation selon l'invention pouvait être mis en oeuvre à l'aide d'un programme comprenant un jeu d'instructions exécutables. Il est manifeste, cependant, que certaines parties de ce programme peuvent être mises en oeuvre par des moyens matériels, à l'aide d'éléments électroniques câblés. [0050] Enfin, les remarques qui précèdent montrent que la description détaillée et les figures illustrent l'invention plutôt qu'elles ne la limitent. En particulier, les signes de références n'ont aucun caractère limitatif. Les verbes « comprendre », « inclure » et « comporter » éventuellement utilisés n'excluent pas la présence d'autres éléments ou d'autres étapes que ceux listés dans les revendications. Le mot « un » ou « une » précédant un élément ou une étape n'exclut pas la présence d'une pluralité de tels éléments ou de telles étapes. In a car, the multiplication of the functions controlling multiphysical organs is the main cause. In addition, development cycles are now shorter and in fact require shorter development times for these complex systems. [0008] Tools, particularly modeling and simulation, have been developed to develop these functions, control their correct implementation, ensure their maintenance, and make them evolve. In particular, the so-called rapid prototyping method has become one of the most commonly used means to promote the development, both hardware and software, of new functions. A description of the general principles of rapid prototyping can be found, for example, in the "Rapid Control Prototyping Tutorial with Application Examples" communication, by V. Holla, L. Palmroth and L. Eriksson, 2004. [0009] More precisely, the control of all the organs of a vehicle is divided into several subsystems composed of steering functions of these bodies. If we consider the system regrouping the set of piloting functions, hosted in one or more calculators generally dimensioned at the fairest according to precise constraints (these individual control functions being often developed by separate teams with different temporal constraints) , there are several methods to ensure the proper functioning of this system. One of these methods, having the advantage of being representative of the desired end product, consists in producing a prototype of the system, including all the functions developed individually. To avoid the drawbacks that would appear in the realization of complex systems, this method endeavors to guarantee the functioning of each function developed locally, without seeking a global coherence at any moment of the development. Rapid prototyping is, for this purpose, a well-adapted tool that allows, throughout the development cycle, to ensure the proper functioning of each function developed, independently of other functions constituting the system. In broad outline, the basic idea of prototyping is to develop and test control strategies and the corresponding algorithms in a simulation environment, and then, when the results of these simulations are acceptable and validated, to test these strategies and algorithms in real time. More precisely, two prototyping approaches can be distinguished, called "fullpass" and "bypass". In the so-called "fullpass" method, an original control computer, in the simulated environment, is completely replaced by an auxiliary computer which, to perform the prototyping, temporarily takes complete control of all the sensors and devices. of control of this environment. In the so-called "bypass" method, it is only certain entities that are, in isolation, controlled by the prototyping computer, in fact responsible for implementing a substitution function that will then replace one of the 1 o driven functions. by the original calculator. The latter retains control of the piloting of all functions that have not been modified and ensures their execution. It will be noted that this dialogue between a main control device and one (or more) auxiliary control device (s) is also present in the case of the direct real-time control of the operation of a vehicle engine. The control device of an engine control system manages in real time a number of engine operating parameters, continuously analyzing the signals sent by various sensors. From these signals, it dialogs with auxiliary control devices distributed in the vehicle, to maintain an optimum existing setting or to put the engine in the conditions it has chosen, by exchanging information with the control device or devices. auxiliaries that have supported specific functions (functions whose implementation result is expected by the main control device). The invention is in the context of the second prototyping case 25 presented above, namely the "bypass" method. According to this method, when one of the functions implemented by the main control device is to be updated by substitution, the time interval devolved by this main control device to this substituted function is systematically extended to leave the substitution function supported by an auxiliary driving device all the time necessary to be implemented, then produce and return its results. This waiting time blocks the operation of the main control device and can create an overload thereof. This overload, all the more critical as it concerns the system before it is updated by substitution, leads to a limitation of the number of functions and their size in terms of inputs, outputs and calculation times, and may affect the consistency of the data flow used. SUMMARY OF THE INVENTION The object of the invention is therefore to limit or even eliminate the disadvantages associated with this systematic waiting time. The invention relates for this purpose to a control system comprising: a main control device arranged to implement a series of 1 o functions successively according to a temporal scheme; at least one auxiliary control device arranged to implement a substitute function substituting for a function of the series of functions; an interface arranged to apply the substitution function to an input data set for the substituted function and to apply a set of output data produced by the implementation of the substitution function to a subsequent function of the series of functions; the system being characterized in that the interface is arranged to check whether the set of output data produced by the substitution function is available at a time when the following function starts according to the time scheme and to introduce a time of wait in this time scheme only if the output dataset is not yet available at this time. In an alternative embodiment of the system, it comprises several auxiliary control devices, arranged to implement each a different substitution function replacing a separate function of the series of functions, and the interface is arranged to apply each substitution function to an input data set for the corresponding substituted function and to apply the set of output data produced by the implementation of each substitution function to at least one subsequent function of the series of functions. According to the invention, the interface is further arranged to check whether each set of output data is available at a time when the following function starts according to the time scheme, and then to introduce a waiting time in this scheme. time only if at least one set of output data is not yet available at this time. In another embodiment of the system, the output data stream available at the output of the main control device constitutes, at the expiry of the implementation of the series of functions and after application of the set or set of output data produced by the implementation of each function of substitution to the function concerned (the corresponding substituted function) of the series of functions, a new input data stream for the main control device, for a new cycle of implementation 1 o of the series of functions. The invention also relates to the data synchronization method used in such a control system. According to the invention, this method comprises a conditional delaying step in which the interface, after checking whether the set of output data produced by the substitution function is available at a time when the following function starts according to the temporal scheme, introduces a waiting time into this temporal schema only if the set of output data is not yet available at this time. In an alternative embodiment, the method is applied to a control system comprising several auxiliary control devices arranged to each implement a different substitution function replacing a function that is distinct from the series of functions, and interface is arranged to apply each substitution function to an input data set for the corresponding substituted function and to apply the set of output data produced by the implementation of each substitution function to the minus one subsequent function in the function set. According to the invention, the method then comprises a step in which the interface, after having checked whether each set of output data is available at a time when the following function starts according to the temporal scheme, introduces a waiting time into this time scheme only if at least one set of output data is not yet available at this time. In another variant embodiment, the method comprises a step of looping the output data stream, available at the output of the main control device at the end of the implementation of the series of functions and after application of the or sets of output data produced by the implementation of each function of substitution for the function concerned of the series of functions, towards the input of the main control device so that it constitutes for this one a new input data stream for the realization of a new cycle of implementation of the series of functions. The invention also relates to a computer program product 1 o comprising a set of instructions capable, when introduced into a medium that can be read by computer means, to implement the data synchronization method. of a control system thus defined. The invention also relates to a method for controlling the operation of a series of functional stages, successively and according to a temporal scheme, in a motor vehicle or in a simulation environment thereof, making call to such a method of data synchronization. SUMMARY DESCRIPTION OF THE DRAWINGS [0028] The present invention is illustrated by non-limiting examples of the appended figures, in which identical references indicate similar elements: FIGS. 1A and 1B are very schematic representations illustrating simplified, according to the state of the prior art, respectively the dialogue between a main control device and an auxiliary control device 25, in the case of the known technique known as "bypass" (Figure 1A), and the succession of tasks supported by the main control device (Figure 1 B). - Figure 2 is a schematic diagram which more particularly details the progress of a task of the main driving device, according to the state of the prior art. FIG. 3 illustrates the principle of the synchronization of the data exchanged, according to the state of the prior art, between the previous generation and prototyping systems SGP and SPR defined in relation with FIG. 2. FIG. detail, compared to Figure 3, the data synchronization mode between the previous generation systems and prototyping SGP and SPR, according to the prior art, when the previous generation system is for example in charge of the implementation of successive functions f1-1, f2-1, etc. FIGS. 5 and 6 illustrate, in two distinct situations, the mode of synchronization of the previous generation systems and prototyping SGP and SPR, according to the present invention. DETAILED DESCRIPTION OF THE INVENTION [0030] The basic principle of the dialogue in a simulated environment or in a real environment between a main control device and (at least) an auxiliary control device can be illustrated in a very schematic way on the Figures 1A and 1B. Figure 1A shows a first control device 100, which constitutes a so-called main device, usable for example to control or regulate various functions (in the case of a motor vehicle, the regime of the automatic transmission, air conditioning). , the device for triggering airbags, etc., without this enumeration being limiting). The device 100 receives, in a main channel, an input data stream (designated by the reference FDE) on an input interface 11, which addresses them to a processing block 13 via a block of data. The processing block 13 supplies the thus processed data to a write block 14, and an output interface 15 outputs an output data stream (referred to as the FDS) of the device 100. [0032] A second control device 200, which constitutes an auxiliary device, is used to perform, in a parallel channel including a processing block 23 and from the data available in the main device 100, a specific functional calculation (an update of the function implemented in block 13). The processing block 23 delivers new data that is addressed to the write block 14, at the output of which the updated flow of the FDS output data is delivered. This principle operation amounts to saying that the main device 100 performs, in the main channel, successive main tasks, materialized, as shown in Figure 1 B, for example by the references K1, K2, K3 represented in series on the time axis t. During the course of one or other of these tasks, K1 for example, it appears that the data processed by the main device 100 must be modified by substitution, depending on the implementation of a function of substitution supported by the auxiliary device 200 (for the task K1, between the instants t1 and t2, shown in FIG. 1B by the upward and downward arrows, respectively, each additional task performed by the device 200 being represented on a second time axis t). Once this implementation is completed in the parallel path (which may be called a prototyping path), the result obtained is returned to the main device 100. From the block diagrams illustrated in FIGS. 1A and 1B Figure 2 illustrates, now more precisely, the system in which the invention is intended to apply. F is called the main steering device grouping, for their implementation, all the steering functions of the bodies of a vehicle. This device F is a system under development, with, as indicated above also, various time constraints, called Cp. The technical evolution of this system is manifested by the development of successive generations. In Figure 2, we therefore call F- 'the so-called system of previous generation and Cp-' constraints associated with F- '. The exponent - 'indicates that this is the previous generation system, i.e. prior to updating this system to constitute a next generation. For the sake of simplicity and not to make the figure too complex, we first look at the development (in F- ') and the verification of the proper functioning of a single function, defined for example by the notation fn- (xi, aj, yk), where xi are the input variables, yk are the output variables, and aj is the various configuration parameters. The development of fn- 'and the verification of its proper functioning are carried out in the system (F-', Cp-1) of the previous generation, designated by the reference SGP. The function, here fn, called to update by substitution this function fn - '(xi, aj, yk) is housed in the auxiliary control device which is called, according to the technique used mentioned above, prototyping system and which is designated by the reference SPR. Communication between the previous generation system SGP and the SPR prototyping system is provided by an interface that transmits to the SPR prototyping system the flow of the variables xi from the SGP system and returns to the SGP the flow of the variables yk, originating from of the SPR system. Figure 3 illustrates the synchronization mode of the data thus exchanged between the two systems SGP and SPR. This synchronization is provided by two LEC and ECR stages present in the previous generation system SGP. The input variables read, the parameters read and the output variables read can be respectively written rxi, raj and ryk, and the input variables written, the written parameters and the variables wxi, waj and wyk respectively. written output. Upon initialization of the task supported by the previous generation system SGP (implementation of a function fn- '(xi, aj), the reading stage LEC sends the prototyping system SPR a trigger command of the implementation of the substitution function, fn, and also sends the input data and the configuration parameters necessary for this calculation, the write stage ECR receives from the prototyping system SPR the result of the implementation of the substitute function fn In the write stage ECR, a waiting mechanism has been put in place: a waiting circuit ATT makes it possible to suspend the execution of the tasks supported by the This waiting period, set up between the end of fn- 'and the end of the calculation of fn, allows the prototyping system SPR the time to carry out the implementation of the function fn. The result resulting from the calculation of fn is then transmitted to the previous generation system SGP, where the function thus updated will be used. In the description of the principle of the data synchronization which has just been carried out with reference to FIG. 3, only one function fn- 'to be updated has been represented. In fact, as shown in Figure 4, the previous generation system SGP generally comprises the implementation of a series of functions, operated in a successive manner and according to a given temporal scheme. These functions are for example denoted f1-1, f2-1, ..., fi ', etc. In the example illustrated, the function f4-1 is the function that will use the results of the function f1 -1 substituted by a substitution function fi. The exponents -1 indicate as before that they are the values of these functions in the previous generation system, before updating this system by substitution of function. According to the state of the prior art, the triggering of the implementation of the substitution function f1 in the SPR system has also caused in the write stage ECR the systematic activation of a waiting circuit ATT which suspends the current tasks in the SGP system until this write stage ECR has received the result from the implementation performed in the SPR system. By comparison with FIG. 4, FIGS. 5 and 6 illustrate the data synchronization mode of the previous generation system SGP and the SPR prototyping system when the present invention is used. According to the invention, instead of systematically extending the time interval devoted in the SGP system to the substituted function f1-1 while waiting for the result of the substitution function fi, it is now observed that this systematic expectation strategy is, in fact, not really effective when the function (here f4-1) that uses the result of the substitution function is further (according to the temporal scheme of implementation of the functions) in the series of functions. The invention takes into account that the time required for the implementation of the intermediate functions (here f2-1, f3-1) can be used to reduce the waiting time, or even to remove it. For this purpose, the separate reading operations (sending to the prototyping system SPR a trigger command of the implementation of the substitution function, with the input data and configuration parameters possibly necessary) and writing (prior receipt, from the SPR prototyping system, of the updated result of the implementation of said substitution function, then writing and use of said function thus substituted, in its updated version, in the generation system preceding) are replaced by a single command which triggers, in the SPR system, the implementation of the substitution function, transmitting the input data and the necessary configuration parameters, and imposes a wait only if the result of this implemented in the SPR system for updating the function concerned (f1- ') and expected by another function (f4-1) da ns the previous generation system is not yet available. Figure 5 corresponds to the case where the implementation of the substitution function in the SPR system takes a short time and is quickly completed, and where its result is available to be restored to the previous generation system SGP. Figure 6 corresponds to the situation where this implementation in the SPR system takes more time, and where the introduction of a waiting time - calculated at the fair distance according to the distance, according to the diagram 1 o mentioned above, between fi and f4 - is still necessary. The proposed solution therefore has the effect of significantly reducing the waiting time or completely remove it. This allows, in the prototyping system, to handle larger substitution functions (computation time, number of inputs-outputs) and, in the previous generation system, to limit the constraints related to prototyping. FINAL REMARKS [0044] The detailed description given above with reference to the figures is only an illustration of the invention among others. The invention can be realized in various ways. Indeed, the invention is advantageously applied in the field of the automotive industry, but it can find other applications in any field where, in real time or simulated environment, must be tested or controlled new functions s' applying in processes and devices controlled by a complex control or control system. [0046] Furthermore, although the drawings show different functional entities in the form of different blocks, this in no way excludes embodiments where a single physical entity performs several functions, or conversely embodiments where several physical entities perform collectively. only one function. For example, when an update is necessary for several functions of the series of functions implemented in the previous generation system, the latter may use, for the execution of the necessary number of implementations. substitution functions, to several auxiliary control devices provided in parallel with the main control device. Furthermore, it is possible to provide that the flow of output data available at the output of the main control device 100 is, at the end of the implementation of the series of functions and after application of the whole or set of of output data produced by the implementation of each function of substitution to the function concerned of the series of functions, a new input data stream for the main control device 100. This makes it possible to execute a new cycle of implementation of the series of functions. On the other hand, we have seen that the synchronization method according to the invention could be implemented using a program comprising a set of executable instructions. It is clear, however, that some parts of this program can be implemented by physical means, using wired electronic elements. Finally, the foregoing remarks show that the detailed description and the figures illustrate the invention rather than limit it. In particular, the reference signs are in no way limiting. The verbs "understand", "include" and "include" possibly used do not exclude the presence of other elements or other steps than those listed in the claims. The word "a" or "an" preceding an element or a step does not exclude the presence of a plurality of such elements or steps.