FR 3077663 A1 20190809 FR 1850883 A 20180202 Procédé d'élaboration d'un programme informatique et dispositif d'élaboration correspondant La présente invention concerne un procédé d'élaboration d'un programme informatique apte à être exécuté par un processeur d'une unité de traitement d'information, du type comprenant les étapes suivantes : - fourniture d'au moins un opérateur informatique apte à être exécuté par le processeur de l'unité de traitement d'information de manière à traiter au moins une donnée entrante, - fourniture d'un environnement visuel pour la construction d'une représentation visuelle du programme informatique, ladite représentation visuelle incluant au moins un élément graphique fonctionnel représentant l'opérateur informatique, ledit élément graphique fonctionnel comprenant au moins une entrée pour l'alimentation de l'opérateur informatique avec une donnée entrante, et - implantation du programme informatique. L'invention concerne également un dispositif d'élaboration d'un programme informatique apte à être exécuté par un processeur d'une unité de traitement d'information, le dispositif étant du type comprenant : - une mémoire dans laquelle est stocké au moins un opérateur informatique apte à être exécuté par le processeur de l'unité de traitement d'information de manière à traiter au moins une donnée entrante, - une interface homme-machine incluant un environnement visuel apte à présenter une représentation visuelle du programme informatique, ladite représentation visuelle incluant au moins un élément graphique fonctionnel représentant l'opérateur informatique, ledit élément graphique fonctionnel comprenant au moins une entrée pour l'alimentation de l'opérateur informatique avec une donnée entrante, et - un module d'implantation du programme informatique, apte à implanter le programme informatique en fonction de la représentation visuelle présentée par l'environnement visuel. Des procédés et dispositifs d'élaboration de programmes informatiques des types précités sont connus et constituent des moyens de programmation dits « graphiques » qui permettent d'élaborer facilement un programme informatique par simple manipulation d'éléments graphiques présentés par un afficheur. 2 Un exemple de procédé d'élaboration du type précité est typiquement constitué par l'élaboration d'un programme informatique au moyen du langage de diagrammes à blocs fonctionnels défini par la norme CEI 61131-3. Dans les procédés connus, la représentation visuelle du programme informatique 5 est construite en raccordant entre elles les entrées et les sorties d'éléments graphiques fonctionnels représentant différents opérateurs au moyen d'éléments graphique de flux représentant des données produites par certains opérateurs informatiques et destinées à être traitées par d'autres. Dans ces procédés, les raccordements sont purement statiques, ce qui signifie 10 que, pour qu'un opérateur informatique puisse être utilisé à plusieurs reprises par le programme (typiquement pour traiter différentes données), l'élément graphique fonctionnel correspondant doit être dupliqué manuellement au sein de l'environnement visuel un nombre de fois égal au nombre d'instances de l'opérateur que l'on souhaite voir incluses dans le programme final. 15 Ces procédés d'élaboration posent cependant problème, particulièrement dans le domaine de la signalisation ferroviaire. En effet, dans ce domaine, le nombre d'instances d'un opérateur est le plus souvent dépendant d'un nombre de trains et/ou d'un nombre d'objets à la voie (aiguilles, signaux, ...) présents dans le réseau destiné à être géré par le programme de signalisation ferroviaire. Or, ces nombres de trains et d'objets à la voie 20 sont très variables d'un réseau à l'autre, ce qui nécessite généralement de modifier lourdement la représentation visuelle des programmes de signalisation ferroviaire pour chaque nouveau réseau où ceux-ci sont destinés à être déployés, en ajoutant ou en supprimant au sein de cette représentation visuelle les éléments graphiques fonctionnels de certains opérateurs du programme. 25 Un objectif de l'invention est de permettre d'adapter facilement la représentation visuelle d'un programme informatique à un contexte particulier. Un autre objectif est de permettre l'élaboration, à partir d'une même représentation visuelle, de programmes informatiques adaptés à des contextes différents. A cet effet, l'invention a pour objet, selon un premier aspect, un procédé 30 d'élaboration du type précité, dans lequel la représentation visuelle inclut également : - une pluralité d'éléments graphiques de flux représentant chacun une donnée respective destinée à être traitée par l'opérateur informatique, et - au moins un élément graphique instanciateur raccordé à une entrée de l'élément graphique fonctionnel et à chacun des éléments graphiques de flux, 3 et, lors de l'étape d'implantation, l'opérateur informatique est instancié un nombre de fois égal au nombre d'éléments graphiques de flux, chaque instance de l'opérateur informatique ayant comme donnée entrante une donnée respective parmi les données représentées par les éléments graphiques de flux. 5 Selon des modes de réalisation particuliers de l'invention, le procédé d'élaboration présente également l'une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toute(s) combinaison(s) techniquement possible(s) : - l'environnement visuel permet la construction de la représentation visuelle par un utilisateur humain ; 10 - le programme informatique est un programme de signalisation ferroviaire ; et - la représentation visuelle inclut un unique élément graphique fonctionnel représentant l'opérateur informatique. L'invention a également pour objet, toujours selon le premier aspect, un programme d'ordinateur comprenant des instructions logicielles qui, lorsqu'elles sont 15 exécutées par un ordinateur, mettent en oeuvre un procédé tel que défini ci-dessus, et un support lisible par ordinateur comprenant un tel programme d'ordinateur. L'invention a encore pour objet, toujours selon le premier aspect, un dispositif d'élaboration du type précité, dans lequel la représentation visuelle inclut : - une pluralité d'éléments graphiques de flux représentant chacun une donnée 20 respective destinée à être traitée par l'opérateur informatique, et - au moins un élément graphique instanciateur raccordé à une entrée de l'élément graphique fonctionnel et à chacun des éléments graphiques de flux, et le module d'implantation du programme informatique est apte à instancier 25 l'opérateur informatique au sein du programme informatique un nombre de fois égal au nombre d'éléments graphiques de flux, chaque instance de l'opérateur informatique ayant comme donnée entrante une donnée respective parmi les données représentées par les éléments graphiques de flux. Selon des modes de réalisation particuliers de l'invention, le dispositif d'élaboration 30 présente également l'une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toute(s) combinaison(s) techniquement possible(s) : - l'environnement visuel permet la construction de la représentation visuelle par un utilisateur humain ; - le programme informatique est un programme de signalisation ferroviaire ; et 35 - la représentation visuelle inclut un unique élément graphique fonctionnel représentant l'opérateur informatique. 4 L'invention a également pour objet, selon un deuxième aspect, un procédé d'élaboration du type précité, dans lequel la représentation visuelle inclut également : - au moins un autre élément graphique fonctionnel représentant une source de données apte à produire des données sources destinées à être traitée 5 par l'opérateur informatique, ledit autre élément graphique fonctionnel comprenant une sortie pour la fourniture, par la source de données, de chaque donnée source, et - au moins un élément graphique instanciateur raccordé à une entrée de l'élément graphique fonctionnel et à la sortie de l'autre élément graphique 10 fonctionnel, et et, lors de l'étape d'implantation, l'opérateur informatique est instancié un nombre de fois égal au nombre de données sources, chaque instance de l'opérateur informatique ayant comme donnée entrante une donnée respective parmi lesdites données sources. Selon des modes de réalisation particuliers de l'invention, le procédé d'élaboration 15 présente également l'une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toute(s) combinaison(s) techniquement possible(s) : - la source de données est apte à produire une pluralité de données sources, le nombre de données sources produites à un instant donné étant variable ; - l'environnement visuel permet la construction de la représentation visuelle par un 20 utilisateur humain ; - le programme informatique est un programme de signalisation ferroviaire ; et - la représentation visuelle inclut un unique élément graphique fonctionnel représentant l'opérateur informatique. L'invention a également pour objet, toujours selon le deuxième aspect, un 25 programme d'ordinateur comprenant des instructions logicielles qui, lorsqu'elles sont exécutées par un ordinateur, mettent en oeuvre un procédé tel que défini ci-dessus, et un support lisible par ordinateur comprenant un tel programme d'ordinateur. L'invention a encore pour objet, toujours selon le deuxième aspect, un dispositif d'élaboration du type précité, dans lequel la représentation visuelle inclut : 30 - au moins un autre élément graphique fonctionnel représentant une source de données apte à produire des données sources destinées à être traitée par l'opérateur informatique, ledit autre élément graphique fonctionnel comprenant une sortie pour la fourniture, par la source de données, de chaque donnée source, et 5 - au moins un élément graphique instanciateur raccordé à la sortie de l'autre élément graphique fonctionnel et à une entrée de l'élément graphique fonctionnel, et le module d'implantation du programme informatique est apte à instancier 5 l'opérateur informatique au sein du programme informatique un nombre de fois égal au nombre de données sources, chaque instance de l'opérateur informatique ayant comme donnée entrante une donnée respective parmi lesdites données sources. Selon des modes de réalisation particuliers de l'invention, le dispositif d'élaboration présente également l'une ou plusieurs des caractéristiques suivantes, prise(s) isolément 10 ou suivant toute(s) combinaison(s) techniquement possible(s) : - la source de données est apte à produire une pluralité de données sources, le nombre de données sources produites à un instant donné étant variable ; - l'environnement visuel permet la construction de la représentation visuelle par un utilisateur humain ; 15 - le programme informatique est un programme de signalisation ferroviaire ; et - la représentation visuelle inclut un unique élément graphique fonctionnel représentant l'opérateur informatique. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux 20 dessins annexés, dans lesquels : - la Figure 1 est une vue schématique d'un dispositif d'élaboration d'un programme informatique selon une première variante du premier aspect de l'invention, - la Figure 2 est une vue schématique d'un dispositif d'élaboration d'un 25 programme informatique selon une deuxième variante du premier aspect de l'invention, - la Figure 3 est une vue schématique d'un dispositif d'élaboration d'un programme informatique selon une première variante du deuxième aspect de l'invention, 30 - la Figure 4 est une vue schématique d'un dispositif d'élaboration d'un programme informatique selon une deuxième variante du deuxième aspect de l'invention, - la Figure 5 est un diagramme en blocs illustrant un procédé mis en oeuvre par le dispositif d'élaboration de la Figure 1, 35 - la Figure 6 est un diagramme en blocs illustrant un procédé mis en oeuvre par le dispositif d'élaboration de la Figure 2, 6 - la Figure 7 est un diagramme en blocs illustrant un procédé mis en oeuvre par le dispositif d'élaboration de la Figure 3, et - la Figure 8 est un diagramme en blocs illustrant un procédé mis en oeuvre par le dispositif d'élaboration de la Figure 4. 5 Les dispositifs 2, 4, 6 et 8 d'élaboration de programmes informatiques, représentés respectivement sur les Figures 1, 2, 3 et 4, sont chacun destiné à l'élaboration d'un programme informatique apte à être exécuté par un processeur d'une unité de traitement d'information. Ce programme informatique est en particulier constitué par un programme de signalisation ferroviaire apte à être exécuté par un processeur d'une unité de 10 traitement d'information d'un système de signalisation ferroviaire (non représenté). A cet effet, chaque dispositif d'élaboration 2, 4, 6, 8 comprend une première mémoire 12, une interface homme-machine 14, et une unité de traitement d'information 16. La mémoire 12 stocke une pluralité d'opérateurs informatiques 20, 22 chacun apte 15 à être exécuté par le processeur pour lequel le programme informatique est élaboré de manière à traiter au moins une donnée entrante et produire au moins une donnée sortante. Dans l'exemple représenté ici, l'opérateur informatique 20 est adapté pour traiter une unique donnée entrante et produire une unique donnée sortante. L'opérateur 20 informatique 22 est quant à lui adapté pour traiter au moins une donnée entrante et produire une unique donnée sortante. L'opérateur 20 est par exemple un opérateur d'élévation au carré, apte à traiter une valeur numérique entrante et produire une valeur numérique sortante consistant en le carré de ladite valeur numérique entrante. 25 L'opérateur 22 est par exemple un opérateur de somme, apte à traiter des valeurs numériques entrantes et produire une valeur numérique sortante consistant en la somme desdites valeurs numériques entrantes. En référence aux Figures 3 et 4, la mémoire 12 des dispositifs 6 et 8 stocke également un opérateur 24 lui aussi apte à être exécuté par le processeur pour lequel le 30 programme informatique est élaboré, cet opérateur 24 étant adapté pour traiter deux données entrantes et pour produire une pluralité de données sortantes, lesdites données sortantes étant destinées à être traitées par l'opérateur 20. Cet opérateur 24 est typiquement constitué par un parseur ayant pour données entrantes un nom de fichier et un chemin de localisation pour localiser des portions du 35 document portant ledit nom de fichier, ledit parseur produisant une donnée sortante pour chaque portion du document indiqué par le chemin de localisation. 7 L'interface homme-machine 14 comprend un afficheur 28, typiquement constitué par un écran. De préférence, l'interface homme-machine 14 comprend également un dispositif d'interaction 29 permettant l'interaction d'un utilisateur humain avec des informations présentées par l'afficheur 28, ledit dispositif d'interaction 29 incluant 5 typiquement une interface tactile, un clavier et/ou un dispositif de reconnaissance vocale. L'unité de traitement d'information 16 comprend un processeur 30 et une deuxième mémoire 32 dans laquelle est stocké un programme d'ordinateur 34 apte à être exécuté par le processeur 30. On notera que, bien que les première et deuxième mémoires 12, 32 soient ici présentées distinctes l'une de l'autre, ces mémoires 12, 32 10 sont, en variante (non représentée), fusionnées en une seule mémoire. Le programme d'ordinateur 34 comprend un premier ensemble 36 d'instructions logicielles formant un module de déploiement du programme 34, un deuxième ensemble 37 d'instructions logicielles formant un module de programmation graphique, et un troisième ensemble 38 d'instructions logicielles formant un module d'implantation du 15 programme informatique. Le module de déploiement 36 est configuré pour créer les opérateurs 20, 22 dans la première mémoire 12 à la première exécution du programme d'ordinateur 34 par le processeur 30. En variante (non représenté), typiquement dans le cas où les première et deuxième mémoires 12, 32 sont fusionnées, le module de déploiement 36 est remplacé 20 par un conteneur contenant les opérateurs 20, 22. Le module de programmation graphique 37 est configuré pour produire un environnement visuel de programmation 40 affiché par l'afficheur 28 et avec lequel un utilisateur humain peut interagir par l'intermédiaire du dispositif d'interaction 29 de l'interface homme-machine 14. 25 Cet environnement visuel 40 est configuré pour permettre la construction, par un utilisateur humain, d'une représentation visuelle 42 du programme informatique à élaborer, et pour présenter cette représentation visuelle 42 via l'afficheur 28. A cet effet, l'environnement visuel 40 est configuré pour présenter des éléments graphiques fonctionnels 44, 46 représentant les opérateurs informatiques 20, 22, chaque 30 élément graphique fonctionnel 44, 46 comprenant au moins une entrée 47 pour l'alimentation de l'opérateur informatique 20, 22 avec sa donnée entrante ou une de ses données entrantes, et au moins une sortie 48 pour la fourniture, par l'opérateur informatique 20, 22, de sa donnée sortante ou de l'une de ses données sortantes. Ces éléments graphiques fonctionnels 44, 46 se présentent typiquement, comme 35 représenté, sous forme de blocs. 8 Dans l'exemple représenté, chacun des éléments graphiques fonctionnels 44, 46 ne comprend qu'une unique entrée 47 et une unique sortie 48. L'entrée 47 de l'élément graphique fonctionnel 44 est destinée à l'alimentation de l'opérateur 20 avec son unique donnée entrante, et la sortie 48 de cet élément graphique fonctionnel 44 est destinée à la 5 fourniture de l'unique donnée sortante produite par l'opérateur 20. L'entrée 47 de l'élément graphique fonctionnel 46 est quant à elle destinée à l'alimentation de l'opérateur 22 avec ses multiples données entrantes, et la sortie 48 de cet élément graphique fonctionnel 46 est destinée à la fourniture de l'unique donnée sortante produite par l'opérateur 22. 10 Comme visible sur les Figures 3 et 4, l'environnement visuel 40 des dispositifs 6 et 8 est également configuré pour présenter un élément graphique fonctionnel 49 représentant l'opérateur 24, ledit élément graphique fonctionnel 49 présentant deux entrées 47, chacune pour l'alimentation de l'opérateur informatique 24 avec une donnée respective parmi ses données entrantes, et une unique sortie 48 pour la fourniture, par 15 l'opérateur informatique 24, de ses données sortantes. Cet élément graphique fonctionnel 49 se présente lui aussi, comme représenté, sous forme de bloc. L'environnement visuel 40 est en outre configuré pour présenter des éléments graphiques de flux 50, 51, 52, 53, 54, 55, 56 représentant chacun une donnée respective 20 destinée à être traitée ou produite par l'un des opérateurs 20, 22. Ces éléments graphiques de flux 50, 51, 52, 53, 54, 55, 56 se présentent typiquement, comme représenté, sous forme de flèches. L'environnement visuel 40 est encore configuré pour présenter au moins un élément graphique instanciateur 58. 25 Cet élément graphique instanciateur 58 se présente typiquement, comme représenté, sous forme de point. Par ailleurs, comme visible sur les Figures 1 et 2, l'environnement visuel 40 des dispositifs 2 et 4 est configuré pour présenter des éléments graphiques sources 60, 62, 64 représentant des sources de données (non représentées) fournissant chacune une 30 donnée propre. L'environnement visuel 40 est également configuré pour permettre la manipulation, par un utilisateur humain, des différents éléments graphiques 44, 46, 49, 50, 51, 52, 53, 54, 55, 56, 60, 62, 64 de sorte à déplacer lesdits éléments graphiques dans l'environnement visuel 40 et à modifier les raccordements des éléments graphiques 35 44, 46, 49, 50, 51, 52, 53, 54, 55, 56, 60, 62, 64 entre eux de manière à construire la représentation visuelle 42. 9 L'environnement visuel 40 est en particulier configuré pour que la représentation visuelle 42 inclue un élément graphique fonctionnel 44 représentant un opérateur informatique destiné à être multi-instancié, cet opérateur informatique étant ici constitué par l'opérateur 20, ledit élément graphique fonctionnel 44 étant unique au sein de la 5 représentation visuelle 42. Comme visible sur les Figures 1 et 2, l'environnement visuel 40 des dispositifs 2 et 4 est également configuré pour que la représentation visuelle 42 inclue une pluralité d'éléments graphiques de flux, ici constitués par les éléments graphiques de flux 50, 51, 52, représentant chacun une donnée respective destinée à être traitée par l'opérateur 20. 10 L'environnement visuel 40 est enfin configuré pour que la représentation visuelle 42 inclue un élément graphique instanciateur 58, cet élément graphique instanciateur 58 étant raccordé à l'entrée 47 de l'élément graphique fonctionnel 44 et : - dans le cas des dispositifs 2 et 4, comme visible sur les Figures 1 et 2, à chacun des éléments graphiques de flux 50, 51, 52, 15 - dans le cas des dispositifs 6 et 8, comme visible les Figures 3 et 4, à la sortie de l'élément graphique fonctionnel 49. On notera que, dans le cas des dispositifs 6 et 8, puisque la sortie de l'élément graphique fonctionnel 49 est raccordée à l'élément graphique instanciateur 58, lui-même raccordé à l'entrée de l'élément graphique fonctionnel 44, alors l'opérateur 24 constitue 20 vis-à-vis de l'opérateur 20 une source de données, l'élément graphique fonctionnel 49 constituant quant à lui un élément graphique de source. Le module d'implantation 38 est apte à implanter le programme informatique, c'est-à-dire à le mettre sous une forme dans laquelle il puisse être exécuté par le processeur pour lequel il est élaboré, en fonction de la représentation visuelle 42 25 présentée par l'environnement visuel 40. A cet effet, le module d'implantation 38 est, dans le cas des dispositifs 2 et 6, constitué par un compilateur de la représentation visuelle 42, apte à convertir la représentation visuelle 42 en un code 66 écrit dans un langage interprétable par le processeur pour lequel le programme informatique est élaboré. Dans le cas des 30 dispositifs 4 et 8, le module d'implantation 38 est constitué par un interpréteur de la représentation visuelle 42, apte à exécuter le programme informatique sur le processeur 30 directement à la lecture de la représentation visuelle, sans générer de code intermédiaire. En référence aux Figures 1 et 2, dans le cas des dispositifs 2 et 4, le module 35 d'implantation 38 est en particulier apte, à la lecture de l'élément graphique instanciateur 58, à instancier l'opérateur informatique 20 représenté par l'élément graphique fonctionnel 10 44 qui a son entrée 47 raccordée audit élément graphique instanciateur 58 un nombre de fois égal au nombre d'éléments graphiques de flux 50, 51, 52 raccordés à l'élément graphique instanciateur 58, chaque instance dudit opérateur 20 ayant comme donnée entrante une donnée respective parmi les données représentées par lesdits éléments 5 graphiques de flux 50, 51, 52. En référence aux Figures 3 et 4, dans le cas des dispositifs 6 et 8, le module d'implantation 38 est en particulier apte, à la lecture de l'élément graphique instanciateur 58, à instancier l'opérateur informatique 20 représenté par l'élément graphique fonctionnel 44 qui a son entrée 47 raccordée audit élément graphique instanciateur 58 un nombre de 10 fois égal au nombre de données sortantes produites par l'opérateur 24, chaque instance de l'opérateur 20 ayant comme donnée entrante une donnée respective parmi lesdites données sortantes. Les dispositifs d'élaboration 2 et 6 comportent également chacun un support de stockage 68 pour le stockage du code 66 généré par le module d'implantation 38. Ce 15 support de stockage 68 est typiquement constitué par un disque, une mémoire flash, une clef USB, une mémoire interne du dispositif 2, 6 ou tout autre type de support de stockage approprié. Optionnellement, ce support de stockage 68 est confondu avec la première mémoire 12 et/ou la deuxième mémoire 32. Le dispositif d'élaboration 4 comprend quant à lui une source de données 70 pour 20 l'opérateur 20. Cette source de données 70 comprend typiquement au moins une entrée (non représentée) pour la réception d'un signal fourni par un équipement extérieur au dispositif d'élaboration 4, par exemple un capteur. Enfin, les dispositifs d'élaboration 6 et 8 comprennent une troisième mémoire 72 stockant un fichier 74 apte à être utilisé par l'opérateur 24. Bien que cette troisième 25 mémoire 72 soit ici représentée distincte des première et deuxième mémoires 12, 32, elle est en variante (non représentée) fusionnée avec lesdites mémoires 12, 32. Un procédé 100 d'élaboration d'un programme informatique au moyen du dispositif d'élaboration 2 va maintenant être décrit, en référence aux Figures 1 et 5. Le procédé 100 comprend tout d'abord une première étape 110 de fourniture, par 30 le programme d'ordinateur 34, des opérateurs 20, 22. Puis, au cours d'une deuxième étape 120, le module de programmation graphique 37 du programme d'ordinateur 34 fournit l'environnement visuel 40. Ensuite, lors d'une troisième étape 130, un utilisateur humain construit, via l'environnement visuel 40, la représentation graphique 42. Pour ce faire, l'utilisateur 35 positionne dans l'environnement visuel les éléments graphiques fonctionnels 44, 46, les éléments graphiques de flux 50, 51, 52, 53, 54, l'élément graphique instanciateur 58 et les 11 éléments graphiques source 60, 62, 64. Il raccorde ensuite les éléments graphiques source 60, 62, 64 à l'élément graphique instanciateur 58 par l'intermédiaire des éléments graphiques de flux 50, 51, 52, puis raccorde ledit élément graphique instanciateur 58 à l'entrée 47 de l'élément graphique fonctionnel 44. Il raccorde ensuite la sortie 48 de 5 l'élément graphique fonctionnel 44 à l'entrée 47 de l'élément graphique fonctionnel 46, puis raccorde la sortie 48 de l'élément graphique fonctionnel 46 à l'élément graphique de flux 54. L'utilisateur a ainsi construit la représentation graphique 42 d'un programme informatique apte à produire la somme des carrés des valeurs fournies par les sources 10 représentées par les éléments graphiques de source 60, 62, 64. Cette représentation graphique 42 est implantée par le module d'implantation 38 du programme d'ordinateur 34 au cours d'une quatrième étape 140. Au cours de cette étape 140, le module 38 compile la représentation visuelle 42 en un code 66 interprétable par le processeur pour lequel le programme est élaboré. En outre, le module 38 instancie 15 l'opérateur 20 au sein de ce code 66 un nombre de fois égal au nombre d'éléments graphiques de flux 50, 51, 52, chaque instance de l'opérateur 20 ayant comme donnée entrante une donnée respective parmi les données représentées par les éléments graphiques de flux 50, 51, 52 ; en d'autres termes, l'opérateur 20 est recopié dans le code 66 autant de fois que le nombre d'éléments graphiques de flux 50, 51, 52, chaque 20 itération de l'opérateur 20 ayant une donnée entrante propre constituée par l'une des données représentées par les éléments graphiques de flux 50, 51, 52. Enfin, au cours d'une cinquième étape 150, le code 66 ainsi généré par le module 38 est stocké par le programme 34 dans le support de stockage 68. Un procédé 200 d'élaboration d'un programme informatique au moyen du dispositif 25 d'élaboration 4 va maintenant être décrit, en référence aux Figures 2 et 6. Le procédé 200 comprend tout d'abord une première étape 210 de fourniture, par le programme d'ordinateur 34, des opérateurs 20, 22, suivie d'une deuxième étape 220 de fourniture de l'environnement visuel 40 et d'une troisième étape 230 de construction de la représentation graphique 42. Ces étapes 210, 220, 230 sont identiques, 30 respectivement, aux étapes 110, 120 et 130 du procédé 100. Ces étapes 210, 220, 230 sont suivies d'une quatrième étape 240 d'implantation du programme informatique par le module d'implantation 38 du programme d'ordinateur 34. Au cours de cette étape 240, le module 38 interprète la représentation visuelle 42 en la lisant et en la faisant exécuter par le processeur 30 au fur et à mesure de cette lecture. 35 Ainsi, le module 38 interprète tout d'abord les éléments graphiques de source 60, 62, 64 en récupérant des données par l'intermédiaire de la source de données 70. Le module 38 12 interprète ensuite les éléments graphiques de flux 50, 51, 52, l'élément graphique instanciateur 58 et l'élément graphique fonctionnel 44 en exécutant l'opérateur 20 autant de fois que le nombre d'élément graphiques de flux 50, 51, 52, l'opérateur 20 étant alimenté, à chacune de ses exécutions, par une donnée propre parmi les données 5 récupérées auprès de la source de données 70. Enfin, le module 38 interprète l'élément graphique de flux 53 et l'élément graphique fonctionnel 46 en exécutant une fois l'opérateur 22, l'opérateur 22 étant alimenté avec les différentes données sortantes produites par les multiples exécutions de l'opérateur 20. Un procédé 300 d'élaboration d'un programme informatique au moyen du dispositif 10 d'élaboration 6 va maintenant être décrit, en référence aux Figures 3 et 7. Le procédé 300 comprend tout d'abord une première étape 310 de fourniture, par le programme d'ordinateur 34, des opérateurs 20, 22, 24. Puis, au cours d'une deuxième étape 320, le module de programmation graphique 37 du programme d'ordinateur 34 fournit l'environnement visuel 40. 15 Ensuite, lors d'une troisième étape 330, un utilisateur humain construit, via l'environnement visuel 40, la représentation graphique 42. Pour ce faire, l'utilisateur positionne dans l'environnement visuel les éléments graphiques fonctionnels 44, 46, 49 les éléments graphiques de flux 53, 54, 55, 56 et l'élément graphique instanciateur 58. Il raccorde ensuite les éléments graphiques de flux 55, 56 aux entrées 47 de l'élément 20 graphique fonctionnel 49. Il raccorde ensuite la sortie 48 de l'élément graphique fonctionnel 49 et l'entrée 47 de l'élément graphique fonctionnel 44 à l'élément graphique instanciateur 58. Enfin, il raccorde la sortie 48 de l'élément graphique fonctionnel 44 à l'entrée 47 de l'élément graphique fonctionnel 46, puis raccorde la sortie 48 de l'élément graphique fonctionnel 46 à l'élément graphique de flux 54. 25 L'utilisateur a ainsi construit la représentation graphique 42 d'un programme informatique apte à produire la somme des carrés de valeurs contenues dans des portions d'un document. Cette représentation graphique 42 est implantée par le module d'implantation 38 du programme d'ordinateur 34 au cours d'une quatrième étape 340. Au cours de cette 30 étape 340, le module 38 compile la représentation visuelle 42 en un code 66 interprétable par le processeur pour lequel le programme est élaboré. En particulier, le module d'implantation 38 interprète les éléments graphiques de flux 55, 56 et l'élément graphique fonctionnel 49 en fournissant à l'opérateur 24 le fichier 74 stocké dans la troisième mémoire 72 et en exécutant l'opérateur 24 de sorte qu'il extraie dudit fichier 74 les 35 portions du fichier 74 indiquées par un chemin de localisation (non représenté), puis le module 38 instancie l'opérateur 20 au sein du code 66 un nombre de fois égal au nombre 13 de portions du fichier 74 indiquées par le chemin de localisation, chaque itération de l'opérateur 20 ayant comme donnée entrante une donnée respective parmi lesdites portions du fichier 74 ; en d'autres termes, l'opérateur 20 est recopié dans le code 66 autant de fois que le nombre de portions extraites du fichier 74, chaque itération de 5 l'opérateur 20 ayant une donnée entrante propre constituée par l'une des portions extraites du fichier 74. Enfin, au cours d'une cinquième étape 350, le code 66 ainsi généré par le module 38 est stocké par le programme 34 dans le support de stockage 68. Un procédé 400 d'élaboration d'un programme informatique au moyen du dispositif 10 d'élaboration 4 va maintenant être décrit, en référence aux Figures 4 et 8. Le procédé 400 comprend tout d'abord une première étape 410 de fourniture, par le programme d'ordinateur 34, des opérateurs 20, 22, 24 suivie d'une deuxième étape 420 de fourniture de l'environnement visuel 40 et d'une troisième étape 430 de construction de la représentation graphique 42. Ces étapes 410, 420, 430 sont identiques, 15 respectivement, aux étapes 310, 320 et 330 du procédé 300. Ces étapes 410, 420, 430 sont suivies d'une quatrième étape 440 d'implantation du programme informatique par le module d'implantation 38 du programme d'ordinateur 34. Au cours de cette étape 440, le module 38 interprète la représentation visuelle 42 en la lisant et en la faisant exécuter par le processeur 30 au fur et à mesure de cette lecture. 20 Ainsi, le module 38 interprète tout d'abord les éléments graphiques de flux 55, 56 et l'élément graphique fonctionnel 49 en fournissant à l'opérateur 24 le fichier 74 stocké dans la troisième mémoire 72 et en exécutant l'opérateur 24 de sorte qu'il extraie dudit fichier 74 les portions du fichier 74 indiquées par un chemin de localisation (non représenté). Le module 38 interprète ensuite l'élément graphique instanciateur 58 et 25 l'élément graphique fonctionnel 44 en exécutant l'opérateur 20 autant de fois que le nombre de données sortantes produites par l'opérateur 24, l'opérateur 20 étant alimenté, à chacune de ses exécutions, par une donnée propre parmi lesdites données sortantes. Enfin, le module 38 interprète l'élément graphique de flux 53 et l'élément graphique fonctionnel 46 en exécutant une fois l'opérateur 22, l'opérateur 22 étant alimenté avec les 30 différentes données sortantes produites par les multiples exécutions de l'opérateur 20. Grâce au premier aspect de l'invention décrite ci-dessus, il est ainsi possible d'adapter facilement la représentation visuelle 42 d'un programme informatique à un contexte particulier. Pour ce faire, il suffit en effet d'ajuster le nombre d'éléments graphiques de flux 50, 51, 52 pointant sur un élément graphique instanciateur 58, sans 35 qu'il soit nécessaire de dupliquer les éléments graphiques fonctionnels 44, 46 venant en aval de cet élément graphique instanciateur 58. 14 Il est même possible grâce au deuxième aspect de cette invention d'élaborer des programmes informatiques adaptés à des contextes différents à partir d'une même représentation visuelle 42. Le module d'implémentation 38 se charge en effet d'adapter le nombre d'instances de l'opérateur 20 représenté par l'élément graphique fonctionnel 44 5 disposé en aval d'un élément graphique instanciateur 58 en fonction du nombre de données fournies par la source de données 49 disposée en amont de cet élément graphique instanciateur 58. On économise ainsi de nombreuses étapes de modification manuelle des programmes, les modifications étant effectuées pour l'essentiel de manière automatique. 10 Bien que le programme 34 soit spécifiquement décrit dans la description précédente comme étant inclus dans une mémoire 32 d'une unité de traitement d'information 16, on notera que cela n'est pas limitatif et que, en variante, le programme 34 est inclus dans n'importe REVENDICATIONS1.- Procédé (100, 200) d'élaboration d'un programme informatique apte à être exécuté par un processeur d'une unité de traitement d'information, comprenant les étapes suivantes : - fourniture (110, 210) d'au moins un opérateur informatique (20) apte à être exécuté par le processeur de l'unité de traitement d'information de manière à traiter au moins une donnée entrante, - fourniture (120, 220) d'un environnement visuel (40) pour la construction d'une représentation visuelle (42) du programme informatique, ladite représentation visuelle (42) incluant au moins un élément graphique fonctionnel (44) représentant l'opérateur informatique (20), ledit élément graphique fonctionnel (44) comprenant au moins une entrée (47) pour l'alimentation de l'opérateur informatique (20) avec une donnée entrante, et - implantation (140, 240) du programme informatique, caractérisé en ce que la représentation visuelle (42) inclut également : une pluralité d'éléments graphiques de flux (50, 51, 52) représentant chacun une donnée respective destinée à être traitée par l'opérateur informatique (20), et au moins un élément graphique instanciateur (58) raccordé à une entrée (47) de l'élément graphique fonctionnel (44) et à chacun des éléments graphiques de flux (50, 51, 52), et en ce que, lors de l'étape d'implantation (140, 240), l'opérateur informatique (20) est instancié un nombre de fois égal au nombre d'éléments graphiques de flux (50, 51, 52), chaque instance de l'opérateur informatique (20) ayant comme donnée entrante une donnée respective parmi les données représentées par les éléments graphiques de flux (50, 51, 52). 2.- Procédé (300, 400) d'élaboration d'un programme informatique apte à être exécuté par un processeur d'une unité de traitement d'information, comprenant les étapes suivantes : fourniture (310, 410) d'au moins un opérateur informatique (20) apte à être exécuté par le processeur de l'unité de traitement d'information de manière à traiter au moins une donnée entrante, - fourniture (320, 420) d'un environnement visuel (40) pour la construction d'une représentation visuelle (42) du programme informatique, ladite représentation visuelle (42) incluant au moins un élément graphique 16 fonctionnel (44) représentant l'opérateur informatique (20), ledit élément graphique fonctionnel (44) comprenant au moins une entrée (47) pour l'alimentation de l'opérateur informatique (20) avec une donnée entrante, et implantation (340, 440) du programme informatique, 5 caractérisé en ce que la représentation visuelle (42) inclut également : au moins un autre élément graphique fonctionnel (49) représentant une source de données (24) apte à produire des données sources destinées à être traitée par l'opérateur informatique (20), ledit autre élément graphique fonctionnel (49) comprenant une sortie (48) pour la fourniture, par la source 10 de données (24), de chaque donnée source, et au moins un élément graphique instanciateur (58) raccordé à une entrée (47) de l'élément graphique fonctionnel (44) et à la sortie (48) de l'autre élément graphique fonctionnel (49), et en ce que, lors de l'étape d'implantation (340, 440), l'opérateur informatique 15 (20) est instancié un nombre de fois égal au nombre de données sources, chaque instance de l'opérateur informatique (20) ayant comme donnée entrante une donnée respective parmi lesdites données sources. 3.- Procédé d'élaboration (300, 400) selon la revendication 2, dans lequel la source de données (24) est apte à produire une pluralité de données sources, le nombre 20 de données sources produites à un instant donné étant variable. 4.- Procédé d'élaboration (100, 200, 300, 400) selon l'une quelconque des revendications précédentes, dans lequel l'environnement visuel (40) permet la construction de la représentation visuelle (42) par un utilisateur humain. 5.- Procédé d'élaboration (100, 200, 300, 400) selon l'une quelconque des 25 revendications précédentes, dans lequel le programme informatique est un programme de signalisation ferroviaire. 6.- Procédé d'élaboration (100, 200, 300, 400) selon l'une quelconque des revendications précédentes, dans lequel la représentation visuelle (42) inclut un unique élément graphique fonctionnel (44) représentant l'opérateur informatique (20). 30 7.- Programme d'ordinateur (34) comprenant des instructions logicielles qui, lorsqu'elles sont exécutées par un ordinateur, mettent en oeuvre un procédé (100, 200, 300, 400) selon l'une quelconque des revendications précédentes. 8.- Support (32) lisible par ordinateur comprenant un programme d'ordinateur (34) selon la revendication 7. 35 9.- Dispositif (2, 4) d'élaboration d'un programme informatique apte à être exécuté par un processeur d'une unité de traitement d'information, comprenant : 17 - une mémoire (12) dans laquelle est stockée au moins un opérateur informatique (20) apte à être exécuté par le processeur de l'unité de traitement d'information de manière à traiter au moins une donnée entrante, - une interface homme-machine (14) incluant un environnement visuel (40) 5 apte à présenter une représentation visuelle (42) du programme informatique, ladite représentation visuelle (42) incluant au moins un élément graphique fonctionnel (44) représentant l'opérateur informatique (20), ledit élément graphique fonctionnel (44) comprenant au moins une entrée (47) pour l'alimentation de l'opérateur informatique (48) avec une donnée 10 entrante, et un module (38) d'implantation du programme informatique, apte à implanter le programme informatique en fonction de la représentation visuelle (42) présentée par l'environnement visuel (40), caractérisé en ce que la représentation visuelle (42) inclut : 15 - une pluralité d'éléments graphiques de flux (50, 51, 52) représentant chacun une donnée respective destinée à être traitée par l'opérateur informatique (20), et au moins un élément graphique instanciateur (58) raccordé à une entrée (47) de l'élément graphique fonctionnel (44) et à chacun des éléments 20 graphiques de flux (50, 51, 52), et en ce que le module (38) d'implantation du programme informatique est apte à instancier l'opérateur informatique (20) au sein du programme informatique un nombre de fois égal au nombre d'éléments graphiques de flux (50, 51, 52), chaque instance de l'opérateur informatique (20) ayant comme donnée entrante une donnée respective parmi 25 les données représentées par les éléments graphiques de flux (50, 51, 52). 10.- Dispositif (6, 8) d'élaboration d'un programme informatique apte à être exécuté par un processeur d'une unité de traitement d'information, comprenant : une mémoire (12) dans laquelle est stockée au moins un opérateur informatique (20) apte à être exécuté par le processeur de l'unité de 30 traitement d'information de manière à traiter au moins une donnée entrante, une interface homme-machine (14) incluant un environnement visuel (40) apte à présenter une représentation visuelle (42) du programme informatique, ladite représentation visuelle (42) incluant au moins un élément graphique fonctionnel (44) représentant l'opérateur informatique (20), ledit 35 élément graphique fonctionnel (44) comprenant au moins une entrée (47) 18 pour l'alimentation de l'opérateur informatique (48) avec une donnée entrante, et - un module (38) d'implantation du programme informatique, apte à implanter le programme informatique en fonction de la représentation visuelle (42) 5 présentée par l'environnement visuel (40), caractérisé en ce que la représentation visuelle (42) inclut : - au moins un autre élément graphique fonctionnel (49) représentant une source de données (24) apte à produire des données sources destinées à être traitée par l'opérateur informatique (20), ledit autre élément graphique 10 fonctionnel (49) comprenant une sortie (48) pour la fourniture, par la source de données (24), de chaque donnée source, et au moins un élément graphique instanciateur (58) raccordé à la sortie (48) de l'autre élément graphique fonctionnel (49) et à une entrée (47) de l'élément graphique fonctionnel (44), 15 et en ce que le module d'implantation (38) du programme informatique est apte à instancier l'opérateur informatique (20) au sein du programme informatique un nombre de fois égal au nombre de données sources, chaque instance de l'opérateur informatique (20) ayant comme donnée entrante une donnée respective parmi lesdites données sources. 20 11.- Dispositif d'élaboration (6, 8) selon la revendication 10, dans lequel la source de données (24) est apte à produire une pluralité de données sources, le nombre de données sources produites à un instant donné étant variable. 12.- Dispositif d'élaboration (2, 4, 6, 8) selon l'une quelconque des revendications 9 à 11, dans lequel l'environnement visuel (40) permet la construction de la représentation 25 visuelle par un utilisateur humain. 13.- Dispositif d'élaboration (2, 4, 6, 8) selon l'une quelconque des revendications 9 à 12, dans lequel le programme informatique est un programme de signalisation ferroviaire. 14.- Dispositif d'élaboration (2, 4, 6, 8) selon l'une quelconque des revendications 30 9 à 13, dans lequel la représentation visuelle (42) inclut un unique élément graphique fonctionnel (44) représentant l'opérateur informatique (20). 35