FR 3022659 A1 20151225 FR 1401414 A 20140624 3022659 DESCRIPTION Procédé de copier-coller relationnel. INTRODUCTION Le domaine de l'invention est celui de la modélisation, du contrôle et de la commande d'un organisme complexe. Un organisme est complexe en ce qu'il est constitué d'une combinaison de composants de l'organisme qui interagissent entre eux et avec l'extérieur, définissant ainsi le comportement de cet organisme. Comme le montre le document EP1393209, dans un organisme chaque composant peut être lui-même constitué d'une combinaison de sous-composants, à leur tour considérés comme composants jusqu'à être constitué de composants élémentaires dont le comportement pourra être représenté par des caractéristiques élémentaires autonomes. Cette représentation d'un organisme peut être analysée comme une combinaison de trois sortes de relations chacune caractérisant la nature des interactions entre composants. La relation d'emboîtement témoigne du contrôle par le composant emboîtant des actions pouvant affecter un composant emboîté. Cette relation permet par exemple de rendre compte de l'existence de murs puis de cloisons pour un bâtiment ou de flacons contenant des liposomes en cosmétique qui bloquent en tout ou partie les ondes sonores et lumineuses. Cette relation permet aussi de concevoir que la duplication d'un composant emboîtant entraîne celle de tous les composants qu'elle emboîte par diffusion à toutes de ses parties de l'action de duplication, comportement évident dans le domaine concret mais moins évident lorsqu'on manipule pratiquement des représentations du domaine réel sous la forme d'objets informatiques. Le comportement d'un organisme complexe avec son environnement est décrit par une ou plusieurs fonctionnalités définissant comment des stimulations externes peuvent agir sur lui. Souvent, cette relation fonctionnelle s'analyse en organisation du chaînages d'actions entre composants où chaque action sur un composant d'un organisme entraîne ce même composant à agir à son tour sur d'autres composants, 2 3022659 comme cela se constate par exemple dans le cadre des mécanismes d'horlogerie ou des processus d'entreprises. Un exemple d'une telle arborescence de chaînage est celle du recalcul complet de dossiers de tableur (par exemple Excel de Microsoft, marques déposées) où le calcul de chaque formule dans une cellule déclenche en retour celui des cellules la prenant en référence dans leur formule et où certaines cellules sont mises en relations avec plusieurs cellules par le moyen d'une formule. La gestion dynamique d'un organisme complexe consiste à agir sur la construction d'un organisme. Le document EP1393209 évoqué précédemment utilise à ce propos le terme de gestion de développement. Cela consiste plus précisément en une relation dite de commande entre un composant initiateur, et un ou plusieurs composants patients, permettant au premier d'agir sur les seconds par des modifications de leurs caractéristiques propres, de leurs interactions avec les autres composants ou par duplication partielle ou totale et plus généralement par leur transformation quelconque. Eventuellement, l'action est détaillée en étapes, chacune caractérisée par au moins une période, la première étape commençant au début de l'action et la dernière se terminant à la fin de l'action ; chacune des étapes pouvant en outre prévoir des résultats et/ou programmer des sous-actions sur des sous composants, préétablies ou déterminées en fonction de l'avancement de cette action. Une telle action peut décrire le développement d'une entreprise par ajout de nouveaux produits ou de nouveaux moyens de productions ou le développement d'un organisme végétal par méiose de ses cellules par exemple. Le découpage d'une action en étapes peut être indépendant de la description du composant en sous composants et, notamment, il peut se limiter à la fourniture de points de contrôle de sa progression servant au suivi par un ou plusieurs observateurs. Ces relations peuvent se combiner pour un même composant ; un composant peut voir une de ses commandes activée par l'utilisateur d'un autre composant des suites d'une relation de chaînage. De même les relations de duplication, emboîtement et chaînage peuvent être combinées comme illustré dans les figures 8 bis et 8 ter. Dans ces figures le signe 1 représente une action de commande, le signe 2 représente une relation d'emboîtement, le signe 3 une relation de chaînage et le signe 4 une relation de commande de copier-coller relationnel, les éléments actifs étant en noir. Elles montrent un premier composant A emboîtant un 3 3022659 composant B et la relation de chaînage entre la commande de la duplication de A et celle de B. La commande de duplication de A est exécutée puis diffusée à tous ses éléments et, enfin, la relation de chaînage passe la commande de duplication à B et à son duplicata. Dans ce qui suit le script de notation utilisera arbitrairement la lettre O sans aucun préfixe pour désigner le modèle de l'organisme O dans son ensemble, (x)O pour indiquer l'organisme vu suivant « x », « x » désignant une autre entité, une relation ou une vue de représentation. (x)O = A, B, C indiquera que O est représenté suivant 3 composants respectivement désignés A, B et C. Le script utilisera ensuite la notation : (x) 0= !A avec « ! » indiquant que le composant A est relié par un élément actif « x », avec « x » représentant une interface pour recevoir les actions d'utilisateurs. Emboîtement : Le script de notation utilisera la notation : O = A ou (A) 0= B pour indiquer que le composant B de l'organisme est emboîté par A, autrement dit que A contrôle certaines des relations concernant le composant B. On pourra même préciser (r) O = A ou (r) (A) 0= B pour indiquer que B est relié à A par la relation r. Commande : Le modèle O du point de vue de la commande sur A désignée par * sera noté : (*) O = !A et lorsqu'il s'agira de duplication l'activation de * donnera un nouveau modèle 01 et sera noté O 01 . Dans le cas d'une duplication sans héritage de la relation de commande on notera le résultat de la transformation : (1 O = !A -÷ (*) 01 = !A, A2 et pour la duplication avec héritage de la relation de commande : (*) O = !A -> (*) 01 = !Al, !A2 ou = ! , c'est-à-dire que le duplicata devient à son tour indépendamment duplicable par la même interface * . Dans la suite de la description on supposera les duplications non héritables, sauf indication contraire explicite. Chaînage : (x)0= !FOB ou = ! signifiera que les composants A et B réagissent indépendamment à la même cause, (x)0= !A !B ou = ! signifiera que A réagit à x et que B est chaîné à A pour x et, c'est-à-dire que B subit l'opération * après A qui la lui transmet . (x)O = !D indiquera que les composants A, B, C agissent par la même relation sur D, D faisant alors son affaire d'agréger les effets des actions en un effet global, comme dans l'exemple d'une formule dans un tableur. 4 3022659 Si les jalons d'une action (*) sur A se décrivent par des actions i, j, k qui s'enchaînent on notera alors : (*) 0= A ou (*) 0= A ! . Dans le cas où (*) est une duplication transformant O en 0', on aura (*) 0' = A ! , !A2 , i, j et k s'appliquant de la même manière dans A et dans A2 sur des sous-composants similaires. Si (*) O = A ! , avec ( $) une autre commande, on aura 01 = A ! , ( $) et ($2) étant deux commandes indépendantes. Il est d'ores et déjà intéressant de noter l'intérêt d'une telle notation qui permet par exemple de décrire simplement une commande agissant sur plusieurs composants: (x) 0= kA,B> ou bien : (x) O = !A, !B pour une action directe simple sur chacun des composants et (x) O = !A !B pour une action sur A qui par suite déclenche une action sur B. La combinaison d'une relation de commande avec une relation d'emboîtement s'exprime dans le système S : S = [ (x) O = !A, (A) O = !B] s'il n'y a pas de chaînage des conséquences de l'action x sur A vers B mais aussi S = [ (x) O =!A !B, (A) O = !B ] lorsqu'il y a chaînage, cette dernière combinaison de notation ayant un intérêt particulier pour décrire des transformations fractales ou hypercubes comme illustré sur les figures 8 bis et 8 ter. Notons aussi que cette notation permet de désigner le chaînage des relations d'un type donné en « processus » selon la terminologie des entreprises et trouvant leur origine dans le composant A : (r) (A) O = ! B ! exprimant que A est relié à B par une relation de nature « r » sur B dont les conséquences s'enchainent indépendamment vers C et D et (r) O = ! B ! pour désigner ce même enchaînement sur l'ensemble du modèle. Pour contrôler et commander le développement d'un organisme complexe, on utilise souvent des modèles mis en oeuvre sur des systèmes informatiques créant et manipulant des modèles composés d'objets informatiques appelés ici entités. Les entités comprennent des paramètres de mesure sur l'organisme complexe, des variables qui représentent les stimulations de l'environnement externe et le modèle dispose d'algorithmes de calcul qui corrèlent les valeurs de ces paramètres entre elles et avec les valeurs des variables ainsi que des méthodes pour créer ou supprimer des entités, Dans ce document les interactions entre un sous-ensemble de telles entités sont modélisées par des relations. 3022659 Du point de vue informatique : une relation de commande relie une entité initiatrice et une ou plusieurs entités patientes et organise l'action de la seconde par la première. Elle se décrit avec le nom de l'entité initiatrice de la commande (par défaut un utilisateur humain et optionnellement une autre entité), la nature de la commande et, éventuellement, la liste des étapes jalonnant le déroulement de la commande, chaque étape étant caractérisée par au moins une période du temps interne à la modélisation, un descriptif de la partie de l'action qui y est associée et, souvent une valeur d'un type donnée. L'action partielle d'une étape peut prévoir de laisser la main à l'utilisateur pour choisir sa nature ou bien avoir été préprogrammée avec une clause logique éventuelle. une relation de chaînage transmet les demandes d'action d'une entité chaînante sur une ou plusieurs entités chaînées. Elle porte sur l'entité chaînée et se décrit par le nom de l'entité susceptible de la faire réagir, la circonstance du déclenchement de la réaction et par la nature de la réaction. La succession de plusieurs chaînages peut être représentée sous la forme d'une arborescence lorsqu'elle est visualisée dans un espace-temps, la propagation des commandes prenant alors un temps non nul. La racine de cette architecture arborescente représente alors le point de commande du chaînage de toutes les actions. une relation d'emboîtement relie une entité emboîtante et une ou plusieurs entités emboîtées. Elle se décrit par le nom de l'entité emboîtante, par la liste des relations qu'elle contrôle ainsi que par la désignation de la nature des contrôles pour chaque relation. La relation d'emboîtement est associative : une entité emboîtée dans un autre entité emboîtée cumule les contrôles vis-à-vis des relations extérieures à la dernière entité. L'ensemble des emboîtements successifs forme une arborescence. Pour résumer et en ce qui concerne la modélisation, une relation portant sur une entité se décrit avec la désignation de l'autre entité et une liste de diverses propriétés. Par ailleurs une même entité peut être ciblée par plusieurs relations de plusieurs natures différentes en particulier : emboîtement, chaînage et commande. 6 3022659 Souvent la modélisation distingue relations et liens ; les relations au sein d'un groupe d'entités s'analysent en combinaisons d'un ou plusieurs arrangements d'entités deux à deux dont chacun réalise un lien univoque entre les deux entités. Un lien définit alors une action ou une série d'actions prévues par des instructions sur une des entités qu'il relie, qualifiée alors d'entité cible, l'autre entité étant qualifiée de source. Chaque entité est alors prévue pour interpréter ces instructions selon des modalités qui lui sont propres et pour gérer leur agrégation lorsqu'elle est la cible de plusieurs liens, Ainsi, sur un tableur, la cellule comportant une formule est la cible de liens utilisant les informations des cellules qui y sont référencées. Dans le cas d'une formule comprenant plusieurs références dans son intitulé la relation s'analyse en l'agrégation de plusieurs liens ciblant la cellule contenant la formule utilisant les informations apportées par les cellules désignées par ses références. Après une mise à jour, l'ensemble des caractéristiques des entités associées par ces liens est éventuellement équilibré suivant une procédure déterminée par un algorithme agissant sur la totalité du modèle. Ainsi, sur un tableur, l'ensemble des valeurs des cellules est recalculée après chaque rafraichissement par une procédure au niveau du dossier de tableur. Une telle modélisation conduit alors à qualifier les liens selon plusieurs propriétés exploitables dans un cadre informatique : Orienté et entrant ou sortant. Un lien affectant une entité est orienté et qualifié d'entrant pour une entité s'il est associé à cette dernière par un moyen déclaratif et, dans ce cas, le lien est qualifié de sortant pour l'autre entité participant au lien où il ne disposera d'aucune indication déclarative. Par exemple, dans le cas d'une relation de duplication, la description de la commande peut être entrante pour l'entité à dupliquer et lui être associée, l'autre entité se limitant à chaîner vers cette commande l'initiative de sa réalisation. A l'inverse la description de cette commande de duplication peut aussi être associée à l'entité initiatrice de cette commande (par exemple un bouton d'interface) et la duplication devient sortante pour l'entité duplicable. Pour les tableurs les formules définissent des liens entrants sous la forme d'une contrainte permanente interprétée par la cellule portant la formule et exercées ultimement sur sa valeur. En biologie 7 3022659 les relations de mitose sont entrantes pour la cellule, la cellule biologique concernée possédant les instructions d'exécution de cette division et la division étant initiée par son environnement. - Délai. L'exécution de l'action ou des actions décrites par un lien peut prévoir un délai dans le temps interne de la modélisation. Ainsi lorsque ce délai interne n'est pas nul les références circulaires sont facilement interprétables au sein d'une plage du temps interne à la modélisation. Interne et externe. Un lien affectant une entité d'un ensemble d'entité est interne relativement à cet ensemble s'il la relie à une autre entité de l'ensemble, sinon il est externe relativement à cet ensemble. Dans un cadre informatique il est alors possible de caractériser l'action d'une opération de duplication s'appliquant à un ensemble d'entités intereliées par des relations composées de liens orientés modélisant les interactions ; Régularité externe. Une duplication est régulière externe pour un ensemble d'entités si les entités dupliquées conservent les liens externes entrants (autrement dit ces liens sont héritables) et perdent les liens externes sortants (autrement dit ces liens ne sont pas héritables). Ainsi pour un tableur, le copier-coller classique n'est régulier que lorsqu'il s'applique à des cellules dotées de références absolues (par exemple =$A$1) et liées avec des cellules externes par des références relatives (par exemple =A1). A l'opposé pour un gestionnaire de projet le copier-coller n'est pas régulier pour les relations de précédence puisque lorsque ces relations sont externes elles ne sont pas dupliquées quelque soit leur orientation. - Régularité interne. Une duplication est régulière interne si les liens internes sont copiés à l'identique par cette opération, c'est à dire décrits par les mêmes propriétés sauf la désignation des entités du lien qui est remplacée par celle du duplicata. - Régularité pour un modèle. Une opération de duplication s'appliquant sur un modèle fait d'un ensemble d'entités interreliées par un ou plusieurs types de lien de nature donnée est régulière sur ce modèle si pour cette opération, pour tout type de lien et pour tout sous-ensemble d'entités, elle est régulière interne et externe. Dans la suite de ce document une telle duplication régulière est appelée copier-coller relationnel 8 3022659 La figure 8 montre un exemple simple d'application du copier-coller relationnel. Dans cet exemple la légende 1 désigne une relation sortante, la légende 2 désigne des relations entrantes, la légende 3 une relation interne, la légende 4 montre comment est repéré le groupe d'entité initial et la légende 5 montre comment est repéré le groupe dupliqué. Selon sa configuration, le système informatique permet de développer un modèle pour simuler, tester ou réguler l'organisme complexe, comme le montre à nouveau le document EP1393209. Souvent le modèle utilisera une ou plusieurs vues de représentation pour visualiser et modifier les propriétés d'une sélection de composants, le tout suivant une mise en forme donnée, par exemple arborescente ou matricielle, et affiché sur un ou plusieurs équipements d'interface connectés au système informatique. Pour visualiser le chaînage des relations de calcul entre paramètres d'entités de base ou d'ensembles d'entités de base concernant un composant, la représentation utilisée pourra alors être celle d'un tableur comme, par exemple le logiciel Excel de Microsoft (marques déposées). Lorsqu'on souhaitera ultérieurement visualiser le cycle de fonctionnement de ce composant, la représentation pourra alors être celle d'un grapheur comme, par exemple, le logiciel Chart de Microsoft (marques déposées). Par exemple, dans une entreprise, le spécialiste de gestion d'une usine pourra souhaiter voir toutes les données concernant une machine placées dans la même colonne d'un tableau et avoir chaque catégorie de données comme la productivité, le temps passé, etc. placées dans une même ligne de ce tableau ; le logiciel de représentation utilisé pourra alors être un tableur comme, par exemple le logiciel Excel de Microsoft (marques déposées). Ce même spécialiste pourra ultérieurement souhaiter visualiser sous la forme d'un diagramme de GANNT le déroulement de la mise en oeuvre d'une décision visant à accroître la capacité de production de cette usine par l'installation d'une nouvelle machine ; le logiciel de représentation pourra alors être un gestionnaire de projet comme, par exemple, le logiciel MS-Project de Microsoft (marques déposées). Finalement le spécialiste souhaitera rédiger et mettre en forme un rapport décrivant l'adéquation du déroulement de la décision avec ce qui avait été prévu, le logiciel de représentation pour alors être un logiciel de traitement de texte qui offrira diverses fonctions pour organiser sur une page l'emboîtement de mots en phrases, paragraphes, chapitres et sections ; ce sera par exemple comme MS-Word de Microsoft (marques déposées). 9 3022659 Beaucoup des logiciels de modélisation permettent non seulement à l'opérateur de saisir et d'afficher des données d'entrées et de sorties mais aussi de relier les entités par des contraintes permanentes sur leurs propriétés ou de prévoir une modification de celles-ci à un moment du temps interne à la modélisation. Souvent les relations gérées par ces logiciels relèvent d'un seul mécanisme, soit de commande (comme par exemple les gestionnaires de mail), d'emboîtement (comme par exemple les logiciels d'architecture) ou de chaînage (comme par exemple les tableurs ou les gestionnaires de projet). Souvent le logiciel intègre un module de calcul pour équilibrer le jeu global des interactions par des algorithmes mathématiques et aboutir à des valeurs appelées données de sorties que se soient des nombres pour un tableur, un ordonnancement pour des tâches GANNT ou la mise en page d'un texte. La complexité d'un organisme, à cause du nombre et de la variété de ses composants et interactions, pose problème pour construire, maintenir et utiliser un modèle performant, c'est-à-dire qui reflète suffisamment la réalité et qui soit exploitable avantageusement et, cela, pour plusieurs raisons. Ce problème est celui de la performance du travail de modélisation, analysé ici en deux volets : l'efficacité et l'efficience. Une partie de ces difficultés sont liées à l'efficacité de la modélisation. Elles tiennent : à l'organisation de « qui » agit pour réaliser ce contrôle-commande. Cette difficulté est relative à la définition des responsabilités et des modes de concertation autour du développement d'un organisme complexe. Cela suppose de donner à chacun des responsables un accès aux domaines relevant de leurs compétences pour simuler les conséquences des décisions envisagées. En termes de script cette difficulté consiste à exprimer les relations de commande (*) et ainsi que les conditions de leur maillage (chaînage et emboîtement) : (10 à la définition du « sur quoi » on agit. Cette difficulté se rapporte à la diversité des sous-modèles fonctionnels pouvant être utilisés dans la constitution d'un modèle. Ces sous-modèles doivent pouvoir être chacun facilement renseignés par certains spécialistes qui y apporteront leur connaissance du sujet puis utilisés pour des simulations à leur bénéfice ou 3022659 à celui d'autres spécialistes. En termes de script cette difficulté consiste à déterminer l'éventail des types de relations (r) entre paramètres de composants utiles à la définition du modèle O ainsi que le treillis (r) O de leurs relations dans ce même modèle. à la définition du « comment » on agit. Cette difficulté se rapporte aux représentations pouvant être utiles au choix des actions de contrôle-commande d'un modèle fonctionnel. L'outil doit pouvoir faciliter la coordination, la discussion et l'amendement de la construction d'une décision visant une nouvelle configuration de l'organisme par un responsable ou entre plusieurs responsables. En termes de script cette difficulté consiste à déterminer les modalités d'une séquence d'actionnements combinant différentes commande (*), (*'), (*"), illustrant un « scénario » de développement à la définition du « pourquoi » on agit. Cette question se rapporte à l'avantage qu'il y aurait d'évaluer ses conséquences avant de prendre une décision, en réalisant plusieurs variantes d'un même modèle ou encore tient à la forte volatilité de la constitution de certains organismes complexes [comme le montre le document EP1393209] rendant aléatoire les résultats d'une action. Il s'agit alors de choisir le scénario d'évolution du modèle maximisant les objectifs de performance de plusieurs personnes compte tenu des possibilités qui se présenteraient ultérieurement en opportunités à saisir et risques à éviter. L'outil doit alors permettre de créer, gérer et comparer plusieurs scénarios de la décision envisagée. En termes de script cette difficulté consiste à associer un résultat prévisionnel à différents scénarios prévisionnels : S1, S2, S3, S4... A ces difficultés se rajoutent celles liées à l'efficience de la modélisation : organiser le travail de construction et de maintenance du modèle de manière à ce que ce travail soit rapide et fiable avec un résultat facilement utilisable. En termes de script cette difficulté consiste à faciliter la mise en place des entités et de leurs relations ainsi que celle des commandes de construction des modèles par duplication, et de rendre le résultat de ces constructions facilement accessible à d'autres utilisateurs. Il peut alors s'agir de modes d'affichage des commandes au fil de leur disponibilité, d'outils de pré-programmation de copier-coller 11 3022659 relationnel ainsi que d'une série d'interfaces de présentation combinant affichages partiels du modèle, affichages de commandes et/ou d'accès à une interface d'édition de script pour commander les d'un modèle par un utilisateur. Remarquons que les logiciels de modélisation génériques disponibles sur le marché n'offrent que peu des services nécessaires à une telle complexité. Ils ne répondent que partiellement à la problématique présentée ci-dessus, puisque souvent centrés sur une implémentation d'un seul type de relation, se rapportant alors soit à l'emboîtement, soit au chaînage ou soit aux commandes, puisque souvent conçus pour une présentation sous un format unique des données, à quelques variantes mineures prés, et puisque souvent mal agencés pour fournir des services pour la construction de représentations de composants. Ainsi Excel, tout comme les logiciels de gestion des processus industriels, est-il centré sur les relations de type chaînage entre cellules et groupes de cellules, MSProject sur la gestion de décisions décrites par des tâches portant sur un ou plusieurs composants, Powerpoint sur les relations de types distance et inclusion entre formes géométriques et textes et, finalement, les gestionnaires de bases de données sur celle d'appartenance des données à une entité. Parmi les services utiles à la construction des modèles, souvent ces logiciels, pour accélérer le travail de ses utilisateurs, proposent des fonctions de copier-coller « vernaculaires » ; ces services copiant une partie d'une représentation à un autre endroit du modèle (copier-coller) ou résultant dans le seul déplacement de la source (couper-coller). Le radical « -coller » de ces deux fonctions se réfère à des traitements différents des relations entre entités concernées, selon les implémentations. Par exemple, les tableurs se fient à la présence de signes ($ signifiant une référence absolue) placés sur les références des formules, les présentateurs ignorent les relations extérieures à l'ensemble des entités dupliquées, les gestionnaires de projet fixent les relations externes de la copie en fonction de l'endroit où ils sont collés et les éditeurs de texte (traitement de texte et émulateur de code informatique) ont des comportements complexes à la fois liés au contenu morphologique et au contenu sémantique. Par ailleurs, ces conventions sur la réplication des relations n'évitent pas un travail complémentaire d'adaptation qui peut être important et source d'erreurs, notamment pour les modélisations utilisant des tableurs. I 12 3022659 I n'existe pas de description universelle de cette opération de copier-coller s'appliquant de la même manière aux relations quelque soit leur nature et qui soit adaptée à la construction de modèles. Par ailleurs, toujours concernant les tableurs, l'opération de couper coller vernaculaire n'est pas régulière, puisque seules les références absolues (par exemple : =$A$1 ) des formules d'une cellule sont régulières externes et seules les références relatives (par exemple =A1) des formules d'une cellule sont régulières internes. Au total il n'existe pas d'outil générique de contrôle-commande d'organismes complexes gérant à la fois la problématique des trois types de relation susmentionnés et offrant des services adaptés à des développements complexes intégrant l'ensemble de ces services autour d'une base de données centralisée. Une telle situation rend ainsi difficile la mise au point de méthode générale de construction de modèles tirant profit d'une organisation collective du travail et mettant en oeuvre des types variés de relation. PRESENTATION DE L'INVENTION De façon à apporter une solution au problème posé, l'invention a pour objet un outil pour modéliser, contrôler et commander un développement d'organisme complexe constitué de composants qui interagissent entre eux. L'outil comprend plusieurs équipements d'interface humaine (écrans informatiques, claviers, souris, caméras, etc.), une mémoire, une unité de traitement numérique et une ou plusieurs connexions à des réseaux numériques. L'outil est caractérisé en ce qu'il comprend en mémoire : une classe informatique dont les instances, appelées entités, sont organisées en une collection, au sens informatique du terme, appelée modèle, qui interagissent par des relations composées de liens orientés de nature quelconque et qui sont prévues pour modéliser chacune un composant de l'organisme complexe ainsi que pour représenter ses états et ses interactions avec d'autres composants, 13 3022659 un outil pour commander une action de copier-coller relationnel de toute sélection d'entités du modèle et pour équilibrer les relations du modèle résultant à la suite de cette action. une application de représentation, instance d'une classe informatique, pour : o afficher sur un des équipements d'interface de présentation une vue contenant une sélection de la collection d'entités et certaines des propriétés de ces dernières. o donner accès et valider l'exploitation des propriétés, relations et commandes de copier coller relationnel ainsi que des commandes d'opérations de suppression inverses portant sur les entités de la sélection affichée ou certains des sous-ensembles du modèle. Cet outil permet à chaque spécialiste accédant à une interface de représentation d'accéder à une entité quelconque du modèle et d'en modifier les propriétés en se fondant sur sa connaissance du sous-composant de l'organisme auquel correspond cette entité. Puis le spécialiste peut créer une autre entité distincte mais disposant des mêmes caractéristiques que l'une de celle qu'il connait. Le spécialiste n'a pas à se soucier de mettre en forme les informations concernant les composants qui relèvent de son domaine de compétence car l'interface de représentation accède automatiquement aux informations relatives aux entités souhaitées et les met en forme selon la mise en page demandée. En termes de script cet outil permet de construire des modèles en dupliquant une liste d'entité quelconque puis d'équilibrer ses relations : O=A-O'=A1 A2 Il pourra aussi examiner le modèle suivant une relation r particulière : 0 = A --> (r) 0 = A En particulier celles issues d'une entité particulière E (r) (E) O = A Un utilisateur, spécialiste technique par exemple, accédant à un modèle pourra modifier la représentation par des actions de copier-coller relationnel ou de suppression d'entités inverse sans avoir à penser les relations entre chacune des entités, chacune de ses actions correspondant à ce dont il a la maîtrise sur la partie de l'organisme dont il a la responsabilité. L'accès à ce modèle lui permettra ainsi de 14 3022659 visualiser une situation en cours que ce soit pour interpréter les informations disponibles sur la situation actuelle, pour simuler l'effet d'une séquence de décisions qu'il envisage ou, enfin, pour suivre la mise en place des décisions qu'il a engagées. Il se peut que le spécialiste technique ne se satisfasse pas du premier outil de modélisation qui, de manière générale, lui impose de spécifier de manière répétitive le détail des entités à chaque duplication qu'il souhaite réaliser. Avantageusement le logiciel est agencé pour programmer des relations entre entités comprenant au moins une relation de chacun des types suivants : o emboîtement par une entité d'une ou plusieurs autres entités, o commande de copier-coller relationnel préprogrammée s'appliquant de manière entrante à une sélection d'entités et à celles que chacune emboîte, o chaînage de plusieurs copier-coller relationnel préprogrammés à la suite de la commande d'un premier copier-coller relationnel préprogrammé En termes de script cet outil permet de construire des modèles en groupant des entités en une entité d'ordre supérieur emboîtante et de programmer un copier-coller relationnel sur cette dernière, puis de chaîner de tels copier-coller en séquences. En termes de script on aura par exemple : Emboitement : [0 = A et (A) 0 = ] Copier coller relationnel, cette relation étant entrante (héritable) : (*) O = !A (*) 0' = !A !A2 (*) 0' = !A !A2 !A3 !A4 Chaînage, cette relation étant entrante (héritable) : (*) 0 = !A !B -> (*) 0' = !A !A2 !B !B2 : 3022659 Combinaison emboitement et copier-coller relationnel : [(*)O = !A et ($)(A) O = ] [(*)0' = !A !A2 et ($)(A)0' = et ($2)(A2)0' = ] [(*)0" = !A !A2 et (!)(A)0" = et ($2)(A2)0" = ], Combinaison : copier-coller relationnel (entrant), chaînage, emboîtement : (*) O = !A (*)0' = !A !A2 Un utilisateur, par exemple un directeur technique accédant à un modèle après sa mise à jour par plusieurs de ses spécialistes techniques, pourra alors accéder à une interface de représentation lui permettant de modifier le modèle par une séquence de copier-coller relationnels ou de suppressions inverses qui aura été préprogrammée, par exemple par un spécialiste de conception de modèles, l'ensemble de ses actions visant à simuler une évolution de l'organisme vers une nouvelle situation. Il se peut qu'un utilisateur ne se satisfasse pas du deuxième outil de modélisation qui, en donnant à tous les duplicata des capacités d'héritage de la relation de copier-coller relationnel, multiplie le nombre des entités produite à chaque duplication alors qu'il souhaiterait pouvoir commander additivement ses ajouts. Avantageusement le logiciel est agencé pour que chaque commande de copier-coller relationnel soit interprétée comme une relation sortante relativement aux entités sélectionnées et à celles que chacune emboîte directement ou indirectement et cela alors que d'autres relations de commande du modèle pourraient rester entrantes pour cette même commande. En conséquence, suivant les règles du copier-coller relationnel, une relation de commande ne sera pas dupliquée par sa propre action puisqu'externe sortante mais, par contre cette duplication s'appliquera aux autres relations de commande internes concernant les entités dupliquées (ce principe est illustré par les figures 8 bis et 8 ter) que ces relations de commande soient chaînées ou pas. En termes de script cet outil permet de construire des modèles par les divers copier-coller relationnels préprogrammés éventuellement chaînés. Par exemple : 16 3022659 - pour rendre compte, du fait de la caractéristique sortante, de la duplication, que seuls les pivots (entités duplicable du modèle initial) restent duplicables : (*) = !A -> (*) 0' = !A, A2 (1 = !A, A2, A3 - Ou bien, pour illustrer un chaînage simple : (*) O = !A !B (*)0' = !A !B, A2, B2 O" = !A !B, A2, B2, A3, B3 - ou bien en prenant en compte l'équilibration des relations de chaînage contenues par les duplicata des pivots après chaque duplication. (*) 0= ! B alors : (voir à ce propos les figures 8 bis et 8 ter) (*) 0 = !B (*)0' = !B , B2 (*)0n= !B , B2 ,B3 L'invention permet à un spécialiste en modélisation de construire un modèle en commençant par la construction d'un modèle dit minimal consistant à : - créer des entités associées chacune à un groupe de composants de l'organisme semblables en caractéristiques et interactions internes et disposant des mêmes interactions externes avec les mêmes composants, - compléter la modélisation en reliant ces entités par les relations internes et externes de commande, chaînage et emboitement représentant leurs interactions, - puis les structures ensuite par des relations de duplication éventuellement chaînées de manière à pouvoir restituer un modèle dit de base représentant fidèlement l'organisme entier après une application appropriée de ces commandes par un utilisateur Le modèle minimal constitué, il pourra alors passer à la construction proprement dite du modèle de base en dupliquant certains d'entre eux à l'aide des commandes préprogrammées au stade précédent et apparues entretemps sur l'interface pour rendre compte de leur disponibilité. Il mettra ensuite cette modélisation à la disposition d'utilisateurs qui, pourront alors la faire évoluer rapidement, aisément et sans erreur selon une représentation de plus haut niveau ne se préoccupant plus du détail des relations à établir entre entités constitutives.. 17 3022659 Il se peut qu'un utilisateur ne se satisfasse pas du troisième outil de modélisation à cause de l'insuffisante variété des représentations du domaine couvert auxquelles il a accès, l'empêchant à l'occasion de circonscrire la représentation à une sélection restreinte ou plus vaste éléments qu'il souhaite pouvoir considérer simultanément en fonction de ses attributions et de sa démarche intellectuelle. Avantageusement le logiciel de modélisation informatique est agencé pour afficher des nouvelles vues de représentation du même modèle, pour chacune à l'aide de deux fichiers pré-enregistrés le premier, contenant une requête de type SQL pour extraire des données à afficher et le second décrivant une procédure de type CSS pour ordonnancer les données extraites sur un écran de présentation ; En termes de script si la « vue » S contient l'objet A, on a : [0= A, B, C et (S) 0 = A ] Un utilisateur, par exemple un directeur technique, accédant à un modèle après sa mise à jour par plusieurs de ses spécialistes techniques pourra alors avoir accès à plusieurs vues de représentation dont la connaissance, alors plus facile, lui permettra de modifier le modèle en actionnant une séquence faite de duplications et/ou de suppressions d'entités par le concepteur, les unes et les autres de ces actions étant conçues pour simuler une évolution de l'organisme vers une situation représentant au mieux la situation actuelle. Par suite, les membres d'un groupe d'utilisateurs, par exemple un comité de direction, accédant à un modèle après sa mise à jour, pourront alors créer une copie du modèle et modifier tour à tour les représentations auquel ils auront accès par des duplications ou suppressions d'entités préprogrammées par le concepteur ou par des modifications de leurs propriétés. Les unes et les autres de ces actions seront pensées pour simuler une évolution de l'organisme, appelée « scénario », vers une situation plus souhaitable. Cette progression, prenant en compte les contraintes propres à chacun des utilisateurs, réduira les occasions de conflits en matière de disponibilité des composants représentés ainsi que ceux en matière 18 3022659 d'utilisation des ressources disponibles au cours du temps et ainsi aboutira plus facilement à une situation consensuelle. De même, le groupe d'utilisateurs évoqué ci-dessus ou un utilisateur individuel, par exemple le directeur financier, pourra simuler plusieurs scénarios alternatifs, de façon à trouver un scénario plus satisfaisant ou destiné à évaluer la solidité d'un scénario face à des variations de l'environnement se manifestant par celles des paramètres utilisés. Il se peut qu'un utilisateur ou un groupe d'utilisateurs ne se satisfasse pas du quatrième outil de modélisation protestant que l'effort de passer d'une vue de représentation à l'autre puis de rechercher visuellement l'entité à sélectionner pour réaliser enfin une des duplications souhaitées reste inapproprié pour ceux ayant déjà en tête les différentes vues, les identifiants des entités, les commandes ainsi que leurs chaînages et/ou emboîtements. Avantageusement l'outil possède une interface textuelle, affichée sur une interface visuelle sur un écran, sonore, saisie par un micro ou gestuelle, saisie par une caméra, d'utilisation du script pour commander au logiciel l'affichage des entités existantes et des commandes possibles dans un scénario du modèle, exécuter ces commandes et afficher un scénario suivant une combinaison de vues préprogrammées et, éventuellement, affiner cet affichage par la rédaction d'une requête complémentaire plus détaillée suivant un autre standard. Un utilisateur pourra ainsi, un modèle étant ouvert, épargner ainsi son temps en passant plus aisément ses instructions de construction et visualiser sous une forme symbolique les conséquences de cette construction avant et après leur traitement informatique. Par ailleurs, parmi plusieurs utilisateurs connaissant le même modèle, celui qui le modifiera pourra alors se contenter de communiquer simplement à ses comparses le script utilisé pour le modifier et ainsi faire comprendre la composition exacte de la nouvelle version avec un effort minimal pour ses interlocuteurs. PRESENTATION DES FIGURES De nombreux détails et avantages de l'invention ressortent de la description de l'exemple de réalisation qui suit et qui est présentée en référence aux dessins annexés dans lesquels : 19 3022659 - la figure 1 montre un outil conforme à l'invention ; la figure 2 montre une architecture d'outil conforme à l'invention ; la figure 3 montre une structure d'objets logiciels activée et administrée par un logiciel de modélisation conforme à l'invention ; - la figure 4 montre un organigramme lié au paramétrage d'une entité ; la figure 5 montre un organigramme lié à une duplication d'entité ; - la figure 6 montre un organigramme lié à une procédure de copier-coller relationnel ; la figure 7 montre un organigramme lié à une suppression d'entité ; - les figures 8, 8 bis et 8 ter illustrent des exemples d'utilisation de copier- coller relationnel simple puis combinés DESCRIPTION D'UN MODE DE REALISATION DETAILLE En référence à la figure 1, un outil pour permettre à un utilisateur 5 de contrôler et commander un développement d'organisme complexe, est réalisé au moyen d'un ordinateur 1 avec une interface opérateur constituée d'un écran 2, d'un clavier 3 et d'une souris 4. L'ordinateur 1 comprend une unité de traitement numérique 6 et une mémoire 7 à laquelle accède l'unité de traitement numérique 6 par un bus 9. Les divers éléments de l'interface opérateur sont reliés à un dispositif d'entrée/sortie 8 auquel l'unité de traitement numérique 6 accède par le bus 9. En référence à la figure 2, la mémoire 7 de l'ordinateur 1 comprend plusieurs briques logicielles 10 à 18. Chaque brique logicielle comprend un ensemble de programmes et/ou de données. Les programmes sont contenus dans des fichiers exécutables par l'unité de traitement numérique 6. Les données sont contenues dans des fichiers de données accédés par les programmes lorsque ceux-ci sont exécutés par l'unité de traitement numérique 6. La référence 16 désigne un logiciel de représentation prévu pour communiquer avec le dispositif d'entrée/sortie 8 de façon à afficher des données sur l'écran 2, saisir des données du clavier 3 ou de la souris 4 via le navigateur 17. Elle est agencée pour accéder aux données du modèle en mémoire du logiciel de modélisation 10 par une requête permettant de lire avec le SGBD 11 les données du fichier 12 archivées dans le support de stockage 7 bis, d'en extraire une sélection puis d'afficher les données et les interfaces de cette sélection suivant une vue 27, 3022659 27bis ou 27 ter, etc. (présentées en détail plus loin avec la figure 3) sur l'équipement d'interface de l'utilisateur 2 suivant une procédure prévue à l'avance et définie par exemple dans un fichier CSS3 du standard HTML5. L'application de représentation exécutée par l'unité de traitement numérique 6 permet non seulement de dialoguer avec le navigateur 17 pour afficher et saisir des données ou commandes de l'interface opérateur mais aussi pour faire réaliser des calculs sur ces données par le logiciel 15. L'application de représentation, de part les fonctionnalités de saisie, de calcul et de présentation auxquels elle donne accès, est particulièrement adaptée pour mettre en oeuvre une ou plusieurs vues 27, 27, bis, etc. qui illustrent une représentation partielle de l'organisme complexe, chacune dans un univers de modélisation qui lui est propre : celui des fonctionnalités (par exemple : flux économiques et financiers) lorsqu'il s'agit de relations de chaînage entre cellules de type tableur, celui de la stratégie pour lorsqu'il s'agit de l'affichage des relations de commande , celui de la gestion des décisions de développement d'un organisme complexe (par exemple : gestion de l'implémentation d'une stratégie par le pilote d'un projet) lorsqu'il s'agit de relations d'emboîtement notamment par l'affichage hiérarchique des commandes de transformation d'un modèle La mémoire 7 peut contenir d'autres applications de représentation pour modéliser l'organisme complexe dans d'autres univers de fonctionnalités spécialisés tels que par exemple l'univers de la thermique, l'univers de l'électricité et l'univers de la mécanique pour modéliser un moteur. Les données attachées à l'une ou l'autre de ces représentations seront alors activés à l'aide de fichier de mise en forme adaptée à ce logiciel et à ces univers La brique logicielle 10 consiste en un logiciel de modélisation informatique conforme à l'invention. Elle est agencée pour interagir avec le navigateur 17 qui est construit pour intercepter les saisies réalisées sur les outils d'interface 3 et 4 par l'utilisateur 5. Dans la brique logicielle 10 sont programmées des fonctions pour transformer la liste des entités du modèle, notamment dupliquer, modifier et supprimer certains d'entre eux et pour organiser l'équilibration des relations entre entités par le recours aux logiciels de calcul 15. En référence à la figure 3, le logiciel de modélisation 10 utilise une architecture de type objet dans laquelle chaque structure d'objet qu'il gère est une instance de classe au sens informatique du terme dont les données seront fournies 21 3022659 par la base de données stockée sur le support d'archivage 7 bis. Le logiciel de modélisation 10 permet la gestion en mémoire d'un objet « modèle » 20 contenant comme propriété une collection d'entités 21 appelées « scénario » (chacune réalisant une instance déterminant la représentation d'un type d'organisme complexe, par exemple le développement d'une entreprise donnée), une classe entité pour instancier tous les objets entités utilisés par chaque objet scénario et une collection « vues » 26 qui contiendra les instructions nécessaires à la formation des objets vue 27, 27 bis, 27 ter,.. (présentés en détail plus loin avec la figure 3). L'objet 20 constitue un objet racine pour faire des opérations sur une collection 21 de scénarios. L'objet 20 a par ailleurs diverses propriétés non indiquées sur la figure 3, il s'agit d'une chaîne de caractères nommée « Db_chemin » indiquant la localisation du fichier de données 12 dans l'espace de stockage 7 bis, d'une chaîne de caractères nommée « Db_name , d'une chaîne de caractères nommée « Name », d'un espace de travail nommé « Wrkjet » contenant l'instance du SGBD 11 permettant d'accéder aux données et une classe entité 23 contenant comme propriété une date de création un « identifiant entité » unique pour permettre d'identifier de manière unique chacune de ses instances, un « identifiant créateur » (pour identifier les entités construites par certains utilisateurs, notamment les concepteurs de modèles, et les distinguer de celles provenant de duplications réalisées par d'autres utilisateurs) un nom d'entité, et les propriétés nécessaires pour décrire les relations de ses instances avec d'autres instances. La base de données « Db » indique le logiciel de base de données SGBD 11, prévu pour garantir la persistance des structures de données gérées par le logiciel de modélisation 10. La chaîne de caractères « Db_name » indique le nom du fichier qui contient une structure de données. La chaîne de caractères « Db_chemin » indique le chemin pour accéder au fichier de données indiqué par la chaîne de caractères « Db_name ». La collection « Scénarios » 22 est une collection d'objets (22, 22 bis, 22 ter..) de type « scénario » expliquée par la suite. La chaîne de caractères « Name » indique le nom de l'objet 20 pour le distinguer d'éventuelles autres instances de la classe « Modèle » qui seraient en mémoire. L'espace de travail « Wrkjet » indique, le cas échéant, l'environnement d'exécution du gestionnaire de base de données 11 pour l'objet 20. 22 3022659 Un objet de type scénario tel que par exemple l'objet 22 comprend, comme indiqué dans la figure 3 une collection d'objets 24 d'objets de type « entité», contenant des propriétés pour les décrire elles et leurs relations et tous instances de la classe 23, une collection 26 d'objets vues de représentations (27, 27 bis, 27 ter..) et la collection 25 des fichiers de requête permettant de former les vues L'objet 20 a pour méthodes les procédures pour lire dans la base de données les données correspondant au scénario 22 associé à une propriété « Name », pour sauvegarder l'ensemble des données et pour vider la mémoire de l'ordinateur de ces données lorsqu'on fermera l'application. La collection 24 contient les entités constituant un scénario. La collection 26 des vues contient des objets de type vue, tous instances d'une classe vue du logiciel de représentation 16. Chaque vue (27, 27 bis, 27 ter) est indexée par un nom distinctif et contient des propriétés extraites de la collection fichiers de requêtes 25 notamment un fichier d'extraction (par exemple de format SQL) pour extraire de la collection 24 une sélection d'objets et certaines de leurs propriétés ainsi qu'un fichier de mise en forme (par exemple CSS3 de HTML5) pour générer le fichier image 29 affiché sur les équipements de présentation. Chaque objet de type « entité», de la collection 24, représente dans le modèle informatique, un composant de l'organisme complexe. Dans le cas où l'objet 20 est prévu pour modéliser une entreprise, une entité de la collection 24 peut représenter un holding, une ou plusieurs autres entités de la collection 24 peuvent représenter chacune une société du holding, une ou plusieurs autres entités de la collection 24 peuvent représenter chacune un site d'une société. La structure d'objet gérée par le logiciel de modélisation 10 est exploitée par le logiciel de modélisation au moyen de programmes résidants dans la mémoire 7, dont des organigrammes sont donnés sur les figures 4, 5 et 6. En référence à la figure 4, le logiciel de modélisation 10 active la suite d'étapes 30 à 35 lorsqu'il détecte une demande de copier-coller relationnel portant sur un extrait de la collection d'entité 24. Le cas échéant le logiciel passe aussi le « groupe de chaînage » contenant l'ensemble des entités devant être dupliquées suite à la commande ayant lancé cette procédure de copier-coller relationnel. 23 3022659 Dans l'étape 30, le logiciel duplique toutes les entités du groupe à dupliquer en conservant à l'identique dans la nouvelle entité toutes leurs propriétés sauf I' «identifiant entité » qui recevra une nouvelle valeur lui permettant d'être indexé de manière unique. A l'étape 31, pour chaque nouvelle entité il lance la procédure de correction des liens internes entrants décrits dans les paramètres relationnels (commande, chaînage, emboîtement). Pour cela, chaque paramétrage relationnel de l'entité qui a été dupliquée est conservé mis à part la désignation de la cible des nouveaux liens qui révisée dans les étapes 32 à 34 suivantes: - Si à l'étape 32 le logiciel détecte que le lien correspondant dans l'entité d'origine est interne au groupe à dupliquer, on passe à l'étape 33. - Dans l'étape 33, la source du nouveau lien devient la copie de l'entité qui était la source de l'ancienne entité. - Si la condition de l'étape 32 n'est pas remplie on passe à l'étape 34. Cette étape traite trois cas : o si l'entité source du lien est une entité listée dans le groupe de chaînage et qu'elle a déjà été dupliquée on prend comme source du nouveau lien le duplicata de l'entité ainsi identifiée, o si l'entité source du lien à traiter n'a pas été dupliquée elle est placée dans une collection « tampon » en attendant de pouvoir établir sa nouvelle relation, o si l'entité source du lien n'appartient pas au groupe de chaînage on conserve à l'identique le paramétrage relationnel de l'entité. Lorsque l'ensemble des entités du groupe à dupliquer a été traité, dans l'étape 35 la collection « tampon » est ensuite explorée pour identifier, le cas échéant, les entités de la collection 24 en attente de correction. A l'issue de cette étape 35 la collection 24 est mise à jour des nouvelles entités et des anciennes qui ont été modifiées et la procédure se rebranche sur la procédure d'appel. Une application particulière de ce procédé est illustrée dans les figures 8 bis et 8 ter En référence à la figure 5, lorsque dans une étape 40, le logiciel de modélisation 10 détecte la sélection d'une entité sur une interface de représentation de la collection 16, il active une suite d'étapes 41 à 45. 24 3022659 A l'étape 40, il propose sur l'interface de représentation l'ajout d'une nouvelle entité suivant l'étape 41 et/ou de poursuivre le paramétrage de l'entité ou ses modifications suivant les étapes 42 à 45. Si l'utilisateur choisit de créer une nouvelle entité, l'application de représentation intercepte l'événement et demande au logiciel de modélisation de créer une nouvelle entité disposant des paramètres conformes aux valeurs par défaut convenues pour les propriétés de la description de la classe d'entités 23. Ce paramétrage par défaut comprenant au moins l'attribution d'un paramètre « identifiant entité» et d'un paramètre « identifiant créateur », l'un et l'autre composé d'une même chaîne de caractère permettant de repérer l'entité de manière unique parmi l'ensemble des entités de l'objet 24, comprenant l'attribution du nom de l'utilisateur à la propriété « commande. source », comprenant l'attribution de la date du moment de création à la propriété « date de création », comprenant l'attribution de l'identifiant de l'entité située au dessus de son point d'insertion sur l'interface de représentation à la propriété « emboîtement.source » et laissant aux autres propriétés de chaînage une valeur par défaut définie par un paramétrage de base du logiciel de modélisation 10. Dans l'étape 42, l'utilisateur est appelé à indiquer quelle commande on pourra activer à partir de cette entité. A cet effet les champs de paramétrage commande permettront d'indiquer au moins un nom d'entité de commande initiatrice et d'associer à chacun un jeu d'une à plusieurs étapes, chacune contenant éventuellement un champ pour entrer une période du temps interne à la modélisation, un champ valeur contenant une chaîne de caractère et un champ d'instruction pour décrire les relations de cette étape avec une étape de la même entité ou d'une autre entité. Lorsque la liste d'étape ne contiendra qu'un seul élément, le champ de période aura la valeur « permanent » signifiant ainsi que les autres indications de l'étape ne dépendent pas du temps de la modélisation. Par exemple, pour une application de type tableur, les champs de commande ne comprendront qu'une seule étape permanente, c'est-à-dire dont le champ de période aura conformément à la convention citée plus haut la valeur « permanent » et qui, par ailleurs, sera telle que son champ valeur sera paramétré par une chaîne de caractères numériques ou textuels et telle que le champ d'instruction contiendra une indication conventionnelle réservée, par exemple la valeur « fonctionnel », signifiant que cette entité est appelée à programmer une contrainte sur la valeur d'une autre 3022659 entité. Une variante de cet exemple est le cas ou certaines entités disposent en plus de la première commande avec une seule étape, décrite ci-dessus, d'une seconde commande munie aussi d'une seule étape, elle aussi permanente par conséquent, et dont l'instruction fera référence à une instruction de copier-coller relationnel du logiciel de modélisation 10 et qui utilisera la valeur du champ de valeur de l'étape pour indiquer le nombre de fois où la duplication s'appliquera avec cette même commande. Un autre exemple serait une application de type gestionnaire de projet, où chaque entité disposerait d'un nombre quelconque d'étapes, chacune attachée à une période quelconque du temps interne de modélisation et chacune avec le champ d'instruction contenant des instructions interprétées par le logiciel de modélisation 10 pour des relations de précédences avec les autres étapes. Dans l'étape 43, l'utilisateur est appelé à indiquer quel lien d'emboitement l'entité acceptera d'une autre entité. A cet effet le paramétrage disposera d'un champ pour indiquer l'entité emboîtante et disposera d'une liste de propriétés dont chacune proposera au moins un champ pour décrire les relations qui seront contrôlées par l'entité emboîtante ainsi qu'un champ pour indiquer la nature du contrôle. Par exemple, dans le cadre de relations de propriété, cela consiste à interdire son accès à d'autres utilisateurs que le propriétaire du composant emboîtant ; dans le cas d'une entreprise les informations sur la production d'une usine pourront n'être destinées qu'à la comptabilité ; dans le cadre d'investissement les décisions d'investissement dans une nouvelle machine identiques aux précédentes ne seront prises que par le directeur de l'usine et le directeur financier. Dans l'étape 44, l'utilisateur est appelé à indiquer un ou plusieurs chaînages de l'entité, c'est-à-dire à renseigner pour chacun d'entre eux une propriété disposant au moins d'un champ pour indiquer l'entité réactive, au moins un champ pour renseigner les circonstances de la réaction et au moins un champ pour préciser la nature de la réaction. Par exemple, il associera l'étape d'une autre entité, dite chaînante avec une de ses étapes, dite chaînée, de manière à ce que la première, une fois accomplie active l'instruction de la seconde. Notons à ce propos que l'entité chaînante peut aussi désigner un utilisateur de l'outil. Par exemple, dans une application de type tableur, comme indiqué plus haut, la valeur de l'étape unique de la commande d'une entité chaînante peut être utilisée comme un paramètre d'un calcul décrit dans le champ nature de la réaction de l'étape unique de la commande de l'entité chaînée ; elle apparait alors sous la forme d'une référence (par exemple 26 3022659 « Al ») dans la formule associée (par exemple « = Al + B2 ». Dans ces conditions, conformément à toutes les applications de type tableur, la formule se rapporte alors à une procédure du logiciel de modélisation 10 agencée pour utiliser en variable la ou les valeurs des commandes des entités chaînantes et placer le résultat de la formule dans la valeur de l'étape de commande de l'entité chaînée. Alternativement, toujours dans le cas d'une application de type tableur, le chaînage peut désigner un utilisateur de l'outil et disposer d'une instruction faisant que la chaîne de caractère saisie par l'utilisateur soit enregistrée comme valeur du même champ de commande de l'entité chaînée. Ainsi dans le premier de ces deux cas le paramétrage d'un seul chaînage entre entité pourra donner par exemple « =A1 » ou « =exp(2*A1+7) » dans la formule ou, lorsque le chaînage est multiple, « = somme( Al :B1) » et lorsque l'entité cible sera un utilisateur il affichera de même la saisie de ce dernier par exemple « Nos ancêtres les gaulois ». Comme autre exemple ce chaînage peut concerner deux duplications, de manière à ce que l'achèvement de la dernière étape de la première duplication entraine le lancement de la première étape de la seconde duplication. Dans l'étape 45, le paramétrage de l'entité en cours enfin achevé, l'utilisateur se voit proposer de choisir entre un paramétrage de l'entité suivante ou l'arrêt de la séquence de paramétrage En référence à la figure 6, lorsque dans une étape 50, le logiciel de modélisation 10 détecte une demande valide de duplication sur une entité de l'objet représentation actif de la collection 16 il active la suite d'étapes 51 à 53. Dans l'étape 51 le logiciel place dans une collection informatique dite pivot les identifiants de toutes les entités concernées par la duplication. Ces dernières sont celles directement ou indirectement en relation d'emboitement avec l'entité sélectionnée pour la duplication appelée « entité origine », la qualité d'emboîtement indirect se déduisant d'une ou plusieurs relations transitives d'emboitement et/ou de chaînage pour cette même action de duplication. Par exemple une entité est indirectement emboîtée lorsqu'elle admet comme entité emboîtante une autre entité qui elle-même accepte l'entité sélectionnée comme relation emboîtante et, comme autre exemple, une entité est indirectement emboîtée lorsqu'elle accepte comme emboîtante une entité qui accepte un chaînage avec duplication avec une autre entité. Par ailleurs cette sélection ne retiendra que les entités pivots, c'est-à-dire ne 27 3022659 conservera que la plus ancienne selon la propriété de « date de création » parmi celles ayant le même « identifiant créateur ». Cette dernière disposition permettant d'éviter la duplication à nouveau d'entités venant d'être dupliquées lorsque la relation de duplication est interprétée comme sortante. Finalement et en dernier lieu, la collection est réorganisée en fonction de l'arborescence des entités recevant les actions de duplication chaînées avec la duplication de I' » entité origine ». Cette réorganisation consiste à créer, pour chacune des entités chaînée pour la duplication avec I' « entité origine », un groupe d'entité comprenant cette entité et toutes les entités qu'elle emboîte puis à placer ce groupe dans une nouvelle collection dite arborescente où les groupes seront triés dans l'ordre cité ci-dessus, celui de l'arborescence du chaînage des entités pour la duplication de l' « entité origine », cet ordre étant calculé en partant de la racine. Dans l'étape 52, le logiciel utilise l'ordre des groupes de cette collection arborescente pour passer les groupes d'entités à la procédure de « copier-coller relationnel » ainsi que le numéro identifiant le groupe à dupliquer dans cette collection et en même temps qu'une référence à la collection arborescente à dupliquer. Cette procédure de copier-coller relationnel est décrite dans la figure 4 détaillée ci-dessus. Dans l'étape 53, tant que toute la collection arborescente n'a pas été dupliquée, le logiciel incrémente d'une unité le numéro identifiant du groupe passé en variable à l'étape 52. Il lance alors l'équilibration des relations notamment celle de duplication et, si une nouvelle demande de duplication apparaît, il relance l'étape 52, sinon il arrête la procédure. En référence à la figure 7, lorsque dans une étape 60, le logiciel de modélisation 10 détecte une demande valide de suppression sur une « entité origine » de la vue de représentation active (27, 27bis ou 27 ter, etc.) de la collection 16 il active la suite d'étapes 61 à 63. Dans l'étape 61 le logiciel place dans une collection informatique, dite pivot, les identifiants de toutes les entités qui seront concernées par la suppression. Ces dernières sont celles directement ou indirectement en relation d'emboitement avec l'entité sélectionnée, la qualité d'emboîtement indirect se déduisant d'une ou plusieurs relations transitives d'emboitement et/ou de chaînage pour cette même action de duplication. Par ailleurs cette sélection ne retiendra que 28 3022659 les entités de même rang, c'est-à-dire ne conservera que celles ayant le même rang parmi celles ayant dans la liste le même « identifiant créateur » que l'entité qui a été sélectionnée pour signifier la duplication. Finalement, dans la même étape, la collection est réorganisée en fonction de l'arborescence des entités chaînant l'action de duplication avec I' « entité origine » portant la suppression, cette réorganisation consistant à créer pour chacune des entités chaînée pour la duplication un groupe d'entité comprenant cette entité et toutes les entités qu'elle emboite puis en plaçant cet ensemble dans une nouvelle collection dite arborescente faite de ces ensembles d'entités et organisée dans l'ordre de l'arborescence des entités chaînées pour l'action de duplication par l' « entité origine », cet ordre étant calculé en partant de la racine. Dans l'étape 62, le logiciel de modélisation 10, dans l'ordre de cette collection, supprime dans la collection 24 du modèle les entités correspondantes aux entités de chaque groupe Si dans l'étape 63 le logiciel détecte une autre suppression, il relance l'étape 62 pour de nouvelles suppressions sinon il arrête la procédure. MISE EN OEUVRE PRATIQUE Produit programme d'ordinateur comprenant des instructions de code pour l'exécution d'un procédé selon l'invention dans un outil pour contrôler et commander un développement d'organisme complexe constitué de composants qui interagissent entre eux. Moyen de stockage lisible par un équipement informatique sur lequel un produit programme d'ordinateur comprend des instructions de code pour l'exécution d'un procédé selon l'invention dans un outil pour contrôler et commander un développement d'organisme complexe constitué de composants qui interagissent entre eux. 29 REVENDICATIONS1. Procédé de copier-coller relationnel pour contrôler et commander un développement d'organisme complexe constitué de composants qui interagissent entre eux, mis en oeuvre dans un outil comprenant une interface opérateur, une mémoire et une unité de traitement numérique, l'outil comprenant en mémoire : - un logiciel de modélisation informatique et - un modèle dudit logiciel de modélisation contenant des entités, chacune modélisant un composant de l'organisme complexe et présentant des liens orientés pour décrire ses interactions avec les autres composants, le procédé de copier-coller relationnel étant mis en oeuvre par le logiciel de modélisation informatique et étant caractérisé en ce qu'il comprend au moins les étapes de : (a) réception d'une commande de copier-coller relationnel portant sur un groupe desdites entités, (b) duplication indépendante de chacune des entités du groupe, de sorte à générer pour chaque entité originale un duplicata, (c) pour chacun desdits duplicata : o si l'entité originale présente un lien interne entrant depuis une autre entité du groupe, modification du lien correspondant du duplicata de manière à l'établir entre le duplicata de ladite autre entité et le présent duplicata, o si l'entité originale présente un lien sortant externe, abandon du lien correspondant du duplicata. 2. Procédé selon l'une des revendications précédentes, l'outil comprenant en mémoire un logiciel de représentation, le procédé comprenant en outre une étape (d) d'affichage sur ladite interface opérateur par ledit logiciel de représentation d'une vue donnant accès à certaines propriétés d'une sélection quelconque des entités, notamment les duplicata générés. 3. Procédé selon l'une des revendications précédentes, comprenant en outre une étape (e) de substitution par d'autres entités du modèle 30 3022659 définies à l'avance aux entités situées en dehors dudit groupe copié-collé et impliquées par un lien entrant et externe au même groupe copié-collé. 4. Procédé selon l'une des revendications précédentes, dans lequel plusieurs opérations de copier-coller relationnel concernant respectivement plusieurs groupes d'entité disjoints sont chaînées, les étapes (a) et (b) comprenant la mise en oeuvre successive desdites opérations et l'étape (c) s'exécutant relativement à l'ensemble formé de la réunion des groupes. 5. Procédé, selon l'une des revendications précédentes dans lequel une entité peut comprendre plusieurs entités d'ordre inférieur emboitées, l'étape (b) comprenant pour une telle entité la mise en oeuvre de façon chaînée du procédé et l'étape (c) s'exécutant relativement à l'ensemble des entités et en considérant la relation d'emboîtement comme constituée de liens entre entités emboîtantes et entités emboîtées. 6. Procédé selon la revendication 5, dans lequel la commande de l'opération de copier-coller relationnel sur un groupe d'entité est interprétée comme composée de liens sortants relativement aux entités dudit groupe et à celles que chacune emboîte directement ou indirectement. 7. Outil pour contrôler et commander un développement d'organisme complexe constitué de composants qui interagissent entre eux, comprenant une interface opérateur, une mémoire et une unité de traitement numérique, l'outil étant caractérisé en ce qu'il comprend en mémoire - un logiciel de modélisation informatique et - un modèle dudit logiciel de modélisation contenant des entités, chacune modélisant un composant de l'organisme complexe et présentant des liens orientés pour décrire ses interactions avec les autres composants, le logiciel de modélisation informatique étant agencé pour mettre en oeuvre : (a) la réception d'une commande de copier-coller relationnel d'un groupe desdites entités, (b) la duplication indépendante de chacune des entités du groupe, de sorte à générer pour chaque entité originale un duplicata, 31 3022659 (c) pour chacun desdits duplicata : o si l'entité originale présente un lien interne entrant depuis une autre entité du groupe, la modification du lien correspondant du duplicata de manière à l'établir entre le duplicata de ladite autre entité vers le présent duplicata, o si l'entité originale présente un lien sortant externe, l'abandon du lien correspondant du duplicata. 8. Outil selon la revendication 7, dans lequel le logiciel de modélisation informatique est en outre agencé pour proposer d'autres relations, notamment d'emboîtement, de chaînage et de commande, ainsi que pour programmer une combinaison quelconque des relations disponibles dans le logiciel. 9. Outil selon la revendication 8 dans lequel le logiciel de modélisation informatique est adapté pour proposer une interface textuelle pour éditer et composer un script dont l'exécution est prévue pour commander des opérations de modification et d'affichage du modèle chargé en mémoire. 10. Produit programme d'ordinateur comprenant des instructions de code pour l'exécution d'un procédé selon l'une des revendications 1 à 6 de copier-coller relationnel dans un outil pour contrôler et commander un développement d'organisme complexe constitué de composants qui interagissent entre eux. 11. Moyen de stockage lisible par un équipement informatique sur lequel un produit programme d'ordinateur comprend des instructions de code pour l'exécution d'un procédé selon l'une des revendications 1 à 6 de copier-coller relationnel dans un outil pour contrôler et commander un développement d'organisme complexe constitué de composants qui interagissent entre eux.