Brevet FR2527808A1 — publié le 19831202

Les systèmes informatiques comprennent souvent un programme de service de documentation en mode connecté, par lequel les utilisateurs peuvent disposer de diverses sortes d'informations concernant le système, en réponse à l'émission d'ordres de documentation ou "d'assistance" Par exemple, un utilisateur pourrait émettre un ordre de documentation tel que ASSISTANCE TERME=IDENTIFICATEURDE FACTURATION, et le système répondrait à cet ordre en fournissant à l'utilisa- teur, sur son terminal, une documentation concernant la signi- fication du terme "identificateur de facturation", dans le cadre de son utilisation dans le système L'utilisateur pourrait également émettre un ordre de documentation tel que ASSISTANCE ORDRE=APPEL, et le système fournirait en réponse une documentation concernant la façon dont l'ordre "appel" doit être utilisé Une autre possibilité consiste en un ordre de documentation tel que ASSISTANCE ERREUR=E PAS TROUVE, auquel le système répond en fournissant la documentation con- cernant l'erreur dont le code mnémonique est EPASTROUVE. Dans le passé, ce type de documentation a été défi- ni entièrement de l'intérieur du système, c'est-à-dire par les concepteurs du système Cependant, conformément à l'inven- tion, les utilisateurs d'un système informatique offrant un service de documentation en mode connecté reçoivent la possi- bilité de définir une documentation "spécifique del'utilisa- teur" pour un ordre de documentation particulier, en spécifiant des modifications à apporter à la "documentation du système" pour cet ordre, c'est-à-dire la documentation que fournirait par ailleurs le système (Le terme "utilisateur" est employé ici dans un sens qui comprend non seulement une seule personne, mais également un ensemble de personnes, comme les personnes qui accèdent au système sous un numéro de compte particulier) Il est évidemment nécessaire que la documentation du système demeure intacte, de façon à pouvoir être communi- quée à d'autres utilisateurs, soit sous sa forme d'origine, soit sous une forme modifiée par de tels autres utilisateurs. Dans des modes de réalisation préférés, on parvient à ceci en entretenant un ou plusieurs fichiers de documentation du système et, en plus, un ou plusieurs fichiers de documenta- tion d'utilisateur pour chaque utilisateur qui désire béné- ficier de la possibilité de documentation spécifique del'uti- lisateur En particulier, les fichiers du système contiennent la documentation du système Les fichiers d'utilisateur con- tiennent des textes de documentation fournis par l'utilisa- teur, accompagnés d'instructions sur la manière d'utiliser ces textes pour modifier la documentation du système Autre- ment dit, les fichiers d'utilisateur contiennent une informa- tion qui indique la façon dont diffèrent la documentation spécifique del'utilisateur et la documentation du système qui sont associées à un ou plusieurs ordres de documentation. Lorsque l'utilisateur émet un ordre de documentation particu- lier, le système accède aux fichiers de documentation du sys- tème et aux fichiers de documentation d'utilisateur, en fonc- tion des besoins, et fournit la documentation spécifique de l'utilisateur appropriée. L'invention sera mieux comprise à la lecture de la description qui va suivre d'un mode de réalisation et en se référant aux dessins annexés sur lesquels: La figure 1 est un schéma synoptique d'un système de traitement/transmission de données dans lequel l'invention est utilisée; - La figure 2 est un schéma synoptique d'un noeud comportant plusieurs ordinateurs, dans le système de la figu- re I La figure 3 montre un progiciel qui est exécuté dans le noeud de la figure 2 et qui comprend un service de documentation en mode connecté mettant en oeuvre les principes de l'invention, La figure 4 montre des parties des zones de mémoire de base de données d'utilisateur et du système qui sont con- servées dans le noeud de la figure 2; La figure 5 montre le format d'enregistrements de documentation du système qui sont conserves dans la zone de mémoire du système; La figure 6 montre le format d'enregistrements de documentation d'utilisateur qui sont conservés dans la zone de mémoire d'utilisateur Les figures 7 à 9 sont des organigrammes du program- nie de service de documentation on mode connecté; et La figure 10 montre des listes d'enregistrements du- système, d'utilisateur et de sortie qui sont produites par le programme de service de documentation en înode connecté, pen- dant son exécution. Le tableau I ci-dessous montre la documentation du système qui est retournée à un utilisateur du système infor- matique de la figure 1 en réponse à l'ordre de documentation ASSISTANCE ORDRE=APPEL. Tableau I APPEL UTILISATION* PROGICIEL PSGP appel (asr =)/asr/ (mode = /mode/) EXPLICATION L'ordre "appel" provoque l'exécution du programme nommé. ARGUMENTS l ASR: Le programme installé à l'ASR donnée est exécuté. MODE: Ie mode du terminal est changé pour passer à la valeur indi- quée, avant l'exécution du programme Le mode peut être l'un des suivants: commun, transparent, ou spécifique d'une classe. Conformément à l'invention, les utilisateurs du système ont la possibilité de définir une documentation spé- cifique d'un utilisateur pour un ordre de documentation, en spécifient des modifications à apporter à la documentation du système, c'est-à-dire à la documentation que fournirait par ailleurs le systbme en réponse à l'ordre de documentation considéré Par exemple, le tableau II montre une version de la documentation du système présentée dans le tableau I, telle qu'elle a été modifiée par un utilisateur pour donner une documentation "spécifique d'un utilisateur" pour l'ordre appel". Tableau II ** APPEL ** * UTILISATION * appel (mode = commun ou spécifique d'une classe>) * EXPLICATION * Les programmes sont "nommés" par une Adresse Standard de Réseau (ASR) à 10 chiffres L'ordre "appel" provoque l'exécu- tion du programme nommé. * ARGUMENTS * ASR: Le programme installé à l'ASR donnée est exécuté. MODE: Le mode du terminal est changé pour correspondre à la valeur indiquée, avant l'exécution du programme Le mode peut être l'un des suivants: commun, transparent, ou spécifique d'une classe Le mode "transparent" n'est pas pris en charge actuellement et ne doit pas être utilisé. * EXEMPLE * appel 0451271234 mode = spécifique d'une classe Cet ordre appellerait le Programme Standard de Commande par l'Utilisateur et placerait votre terminal dans le mode "spécifique d'une classe". On notera que la rubrique "utilisation" a été rem- placée, une phrase a été ajoutée au début de la rubrique "explication", une phrase a été ajoutée à la fin de la rubri- que "arguments", et une nouvelle rubrique, "exemple", a été ajoutée. La figure 1 représente un système dans lequel l'invention est utilisée Le système offre un service intégré de traitement/transmission de données à un ensemble de clients et il comprend un certain nombre de noeuds 10 qui sont situés dans les locaux du fournisseur du service Au coeur de chaque noeud se trouvent un ou plusieurs ordinateurs, comme décrit ci-après Un ensemble de terminaux de données 10 a et d'ordina- teurs principaux, lob, sont connectés aux noeuds 10 par l'in- termédiaire de lignes de données appropriées La plupart des terminaux et des ordinateurs principaux appartiennent aux clients et se trouvent dans leurs locaux Cependant, cer- tains appartiennent au fournisseur et sont utilisés, par exemple, pour la gestion du système Les noeuds 10 communi- quent entre eux par un réseau de transmission avec commuta- tion par paquets, 15 Les noeuds sont connectés au réseau par des liaisons respectives 11 qui acheminent des données à 56 kbit/s, en utilisant un protocole conforme à la norme X.25 du CCITT Divers noeuds peuvent être spécialisés pour des fonctions spécifiques, comme la facturation, l'accomplis- sement de tâches de servitude, la maintenance, etc. Le service de transmission procure aux clients un certain nombre de possibilités Cellesci comprennent l'exécution en temps partagé de programmes d'applications fournis par le fournisseur et par les clients et enregis- trés dans les noeuds; l'enregistrement de données des clients dans des bases de données conservées dans les noeuds la prise en charge de "blocs fonctionnels" de logiciel pou- vant être appelés par des programmes des clients, qui procu- rent des services tels que l'édition, l'interprétation d'ordres, la génération d'imprimés, etc; une possibilité de traitement réparti selon laquelle des traitements en cours d'exécution à divers noeuds peuvent communiquer, en respec- tant des conditions temporelles critiques, avec des traite- ments en cours d'exécution à d'autres noeuds; et un service d'enregistrement et d'acheminement de messages. La figure 2 est un schéma synoptique de l'un parti- culier des noeuds 10 Le noeud comprend à titre d'exemple deux processeurs de noeud, 20, et un processeur de base de données 26 A titre d'exemple, chacun de ces processeurs est un ordinateur VAX 11/780 de la firme Digital Equipment Corpo- ration (DEC) fonctionnant sous la commande du système d'exploitation VMS, fourni par DEC Le noeud comprend en outre un processeur VAX 11/780 de réserve, portant la réfé- rence 28, qui peut prendre la place du processeur de base de données ou de l'un des processeurs de noeud D'autres noeuds (figure 1) peuvent avoir plus ou moins que deux proces- seurs de noeud, en fonction de la demande de traitement pré- vue La communication entre les processeurs est assurée par un bus 25 qui, à titre d'exemple, est un bus PCL (liaison de communication parallèle), fourni par DEC. Des unités de mémoire de masse, 21, par exemple à disques, sont associées à chaque processeur de noeud et des unités de mémoire de masse 27 sont associées au processeur de base de données 26 Les accès des unités de mémoire de masse 27 sont doublés, ce qui permet au processeur de réserve 28 d'accéder à ces unités Des dispositifs-d'entrée/sortie (E/S) universels 29, par exemple à écran cathodique, sont associés à chacun des quatre processeurs. Il existe également au moins un processeur de ges- tion de lignes 22 associé à chaque processeur de noeud, qui établit une interface entre le processeur de noeud d'une part, et les terminaux l Oa et les ordinateurs principaux l Ob asso- ciés, d'autre part Les processeurs de gestion de lignes 22 sont à titre d'exemple des ordinateurs IBM Série/i fonction- nant sous la commande du système d'exploitation RPS, fourni par IBM Chaque processeur de gestion de lignes communique avec le processeur de noeud respectif en utilisant un protoco- le X 25 Des microprogrammes fournis par DEC, commandant un microprocesseur 23 fourni par DEC, remplissent la fonction DTE dans le niveau 2 (le niveau "liaison") du protocole Un autre microprocesseur 24 associé à chaque processeur de noeud remplit une fonction similaire en ce qui concerne les trans- missions avec le protocole X 25 sur la liaison 11. Les processeurs de noeud 20 ont pour fonction d'exécuter des programmes pour le compte des clients et du fournisseur Dans ce but, les unités de mémoire de masse 21 associées à chaque processeur sont utilisées essentiellement, sinon exclusivement, pour assister le traitement en cours dans le processeur considéré La quasi-totalité des données, des programmes et autres fichiers, aussi bien ceux apparte- nant au client que ceux appartenant au fournisseur, sont enregistrés dans une base de données contenue dans les dispo- sitifs de mémoire de masse 27 Ces derniers ont pour fonction de gérer la base de données et d'en permettre l'accès aux pro- cesseurs de noeud. La figure 3 montre la structure d'un progiciel d'application caractéristique fourni par le fournisseur, qu'on appelle le Progiciel d'Application de Messages (PAM) Ce pro- giciel procure à l'utilisateur des services tels que l'édi- tion de texte, la possibilité de créer et d'émettre des messa- ges, et divers services relatifs à la base de données. Le PAM comprend un programme principal 31 qui est lié à un certain nombre d'utilitaires qui sont appelés par le programme principal sou S la forme de sous-programmes Ces utilitaires comprennent l'éditeur 32, qui procure la possibi- lité d'édition de texte; I' utilitaire d'obtention/fixation de paramètres de poste, 33, qui permet à l'utilisateur d'obte- nir et de fixer divers paramètres associés à son terminal l'utilitaire d'analyse syntaxique d'ordre, 34, qui accepte une ligne d'ordre provenant de l'utilisateur, identifie le mot d'ordre (par exemple "appel" ou "assistance"), le conver- tit sous une forme interne, et présente les-arguments sous une forme qui convient pour l'utilitaire auquel l'ordre doit être transmis; le programme de service de menu 35, qui pré- sente divers menus de sélection à l'utilisateur et, en fonc- tion de la sélection ou des sélections de l'utilisateur, pré- sente des menus supplémentaires ou produit une certaine action pour le compte de l'utilisateur; et le programme de service de documentation en mode connecté 36, qui met en oeuvre les principes de l'invention. Parmi d'autres progiciels fournis par le fournisseur et mis à la disposition des utilisateurs (mais non représentés sur le dessin), figurent, à titre d'exemple, un Progiciel Standard de Commande par l'Utilisateur (PSCU) qui procure à l'utilisateur un moyen pour accomplir des fonctions telles que la validation et l'invalidation de programmes et de pos- tes; et un Progiciel Standard de Gestion de Paramètres (PSGP), qui procure une fonction similaire à celle de l'utili- taire d'obtention/fixation de paramètres pour un poste, 33. Chacun de ces progiciels est lié à un ensemble respectif d'utilitaires comprenant, dans chaque cas, une forme du pro- gramme de service de documentation en mode connecté, 36. La zone d'enregistrement dans la base de données est de deux types: la zone d'enregistrement du système et la zone d'enregistrement d'utilisateur Comme le montre la figu- re 4, la zone d'enregistrement du système, 40, comprend à titre d'exemple un certain nombre de fichiers de documenta- tion du système, 400 Cinq fichiers sont représentés explici- tement Il s'agit de fichiers de documentation d'ordre 401, 402 et 403, d'un fichier de glossaire 404 et d'un fichier de documentation d'erreur 405 Les fichiers 401, 402 et 403 sont constitués par des enregistrements et chacun d'eux contient une documentation du système concernant un ordre particulier reconnu respectivement par les progiciels PAM, PSCU et PSGP. Chacun des enregistrements constituant le fichier de glossai- re 404 contient la définition d'un terme particulier utilisé dans le système Chacun des enregistrements constituant le fichier d'erreur 405 contient une information concernant une condition d'erreur ou d'avertissement particulière détectée par le système et signalée en retour à l'utilisateur pendant l'exécution de l'un quelconque des progiciels. Une zone d'enregistrement différente est établie pour chaque utilisateur dans la base de données, et la figure 4 montre une zone d'enregistrement d'utilisateur 45 qui est associée à un utilisateur particulier Conformément à l'in- vention, la zone d'enregistrement d'utilisateur 45 comprend des fichiers de documentation d'utilisateur 450, dont les enregistrements contiennent des textes de documentation four- nis par l'utilisateur, accompagnés d'instructions concernant la façon dont ces textes doivent être utilisés pour modifier la documentation du système, pour un ou plusieurs ordres de documentation Autrement dit, les fichiers de documentation d'utilisateur contiennent une information indiquant de quelle façon la documentation spécifique d'un utilisateur et la documentation du système associées à un ou plusieurs ordres de documentation diffèrent A titre d'exemple, les fichiers correspondants contenus dans la zone d'enregistrement d'uti- lisateur ont été créés en utilisant l'éditeur 32. Dans cet exemple, l'utilisateur a choisi de fournir une information de documentation pour (a) des ordres utili- sés dans le progiciel PAM, et (b) des erreurs Dans ce but, deux fichiers d'utilisateur, à savoir le fichier de documenta- tion d'ordre pour PAM, 451, et le fichier de documentation d'erreur 452, ont été établis dans la zone d'enregistrement d'utilisateur A titre d'exemple, les noms de ces fichiers sont identiques aux fichiers de documentation du système correspondants, c'est-à-dire les fichiers 401 et 405 Ainsi, une fois que le programme de service de documentation 36 a obtenu le nom du fichier de documentation de système appro- prié à ouvrir, comme il est envisagé ci-après, il possède également le nom du fichier de documentation d'utilisateur approprié à ouvrir (s'il en existe un). Chacun des progiciels comprend une structure de données respective qu'on appelle un "environnement" L'envi- ronnement pour chaque progiciel contient les noms de fichier pour les fichiers de documentation du système associés à ce progiciel particulier En particulier, l'environnement 310 associé au progiciel PAM (représenté sur la figure 3), peut contenir des noms de fichiers d'erreur, de glossaire et d'ordre, tels doc Erreur, doc Terme et doc PAM, qui sont les noms des fichiers respectifs 405, 404 et 401 Lorsque le pro- gramme de service de documentation 36 a besoin de prélever, par exemple, la documentation d'ordre associée à PAM, il con- sulte l'environnement 310 pour déterminer le nom du fichier de documentation du système auquel il doit accéder Chacun des environnements associés à PSCU et PSGP contient les mêmes noms de fichiers d'erreur et de glossaire que l'envi- ronnement de PAM, du fait qu'on utilise dans tout le système des ensembles uniformes de codes mnémoniques d'erreur et une terminologie uniforme Cependant, les ordres utilisés dans chaque progiciel varient Ainsi, les environnements de PSCU et PSGP peuvent contenir des noms respectifs de fichiers de documentation d'ordre, par exemple doc PSCU et doc PSGP, qui sont respectivement les noms des fichiers 402 et 403. Chaque enregistrement dans les fichiers de documen- tation du système et de documentation d'utilisateur est inde- xé par une "clé" dont la valeur est le code mnémonique d'ordre, de terme ou d'erreur auquel l'enregistrement appar- tient Ainsi, un enregistrement dans un fichier du système ou d'utilisateur qui contient la documentation pour un ordre particulier, par exemple, est extrait en spécifiant cet ordre en tant que clé d'index dans l'opération de lecture de la base de données. La figure 5 montre le format pour un enregistrement de documentation du système, c'est-à-dire un enregistrement dans l'un des fichiers de documentation du système 400. L'enregistrement commence par un séparateur de zone, représen- té à titre d'exemple par les caractères # #, suivi par un indicateur d'enregistrement principal facultatif et un sépara- teur arrière associé, au moins un premier en-tête de section et, pour chaque en-tête de section, un texte de section, tous séparés par des séparateurs e #. La valeur de l'indicateur d'enregistrement principal peut être le caractère "C", pour "continuation", qui indique que la documentation associée à la clé d'index en question est trop longue pour être contenue dans un seul enregistrement, et est donc continuée dans un ou plusieurs enregistrements supplémentaires (Ces enregistrements supplémentaires éven- tuels sont indexés par une clé qu'on forme en ajoutant un nom- bre à la clé sous laquelle le premier enregistrement est indexé, par exemple appell, appel 2, etc) L'indicateur d'enregistrement principal peut égale- ment être le caractère "M,", pour "menu" Cet indicateur indique que l'enregistrement considéré ne contient pas une documentation réelle, mais le nom d'un menu, et que lorsque le programme de service de documentation 35 rencontre un tel enregistrement, il doit appeler le programme de service de menu 35 et spécifier ce menu comme étant celui à présenter à l'utilisateur On utilise par exemple ce type d'enregistre- ment lolsque le système fournit une documentation pour une famille de mots d'ordre tels que "listage-fichier", "listage_ ordres", listage répertoires", etc, et lorsqu'on prévoit la possibilité pour les utilisateurs d'introduire l'ordre de documentation incomplet ASSISTANCE LISTAGE Dans ce cas, le fichier de documentation d'ordre comportera un enregistrement, indexé par la clé "listage," contenant un "M" en tant qu'indi- cateur d'enregistrement principal, et contenant le nom d'un menu qui demandera à l'utilisateur le type d'ordre "listage" pour lequel il désire avoir une documentation. Dans l'enregistrement de documentation du système représenté sur la figure 5, les en-têtes de section sont des chaînes de caractères, comme les en-têtes UTILISATION et EXPLICATION dans le Tableau I Les textes de section sont des chaînes de caractères constituant les textes qui suivent cha- que en-tête de section. (Un autre genre d'enregistrement utilisé dans les fichiers de documentation du système, qui ne suit pas le for- mat de la figure 5, comprend simplement une clé d'index, sans séparateur initial Le programme de service de documentation 36 réagit à la rencontre d'un tel enregistrement en accédant immédiatement à l'enregistrement qui est indexé sous cette clé Ce mécanisme permet au système de corriger automatique- ment certaines erreurs de l'utilisateur qui sont prévues Par exemple, un enregistrement constitué par la rubrique "exécu- tion programme" pourrait être indexé sous la clé "exécution", qui n'est pas un ordre valide Ainsi, si l'utilisateur, dési- rant une documentation sur l'ordre "exécutionprogramme", émet par erreur l'ordre de documentation ASSISTANCE ORDRE EXECUTION, le programme de service de documentation extrait tout d'abord l'enregistrement indexé sous la clé "exécution". En trouvant que cet enregistrement contient simplement la rubrique "exécutionprogramme", il passe immédiatement à l'extraction de l'enregistrement indexé sous "exécutionpro- gramme", ce qui corrige automatiquement l'erreur de l'utili- sateur) La figure 6 montre le format pour un enregistrement de documentation d'utilisateur, c'est-à-dire un enregistre- ment dans l'un des fichiers de documentation d'utilisateur 450 Il comprend un séparateur initial, un ou deux indicateurs d'enregistrement principaux facultatifs, au moins un premier en-tête de section et, à la suite de chaque en-tête de sec- tion, un indicateur de section facultatif et un texte de sec- tion, tous séparés par des séparateurs. La zone d'indicateur d'enregistrement principal peut contenir "C" qui, comme précédemment, indique "continua- tion" Elle peut également contenir un "R" ou un "N" Le "R" signifie "remplacement" et le "N" signifie "nouveau" On peut utiliser de façon interchangeable ces valeurs d'indicateur, et chacune d'elles est une instruction indiquant que la tota- lité de cet enregistrement de documentation d'utilisateur doit être utilisée à la place de la totalité de l'enregistrement de documentation du système correspondant. Les en-têtes de section et les textes de section dans les enregistrements de documentation d'utilisateur sont analogues à ceux qui figurent dans les enregistrements de * documentation du système et il n'est pas nécessaire de les con- sidérer davantage. L'indicateur de section peut avoir l'une des quatre valeurs: "A", "B", "R" ou "N" "A" et "B" signifient "après" et "avant" et il s'agit d'instructions respectives indiquant que le texte de section dans l'enregistrement d'utilisateur doit être ajouté après ou avant le texte de section de la section portant l'en-tête correspondant, dans l'enregistrement de documentation du système correspondant "R" et "N" sont à nouveau des instructions interchangeables qui signifient "remplacement" et "nouveau" Chacune d'elles indique que le texte de section considéré doit remplacer le texte de section de la section portant l'en-tête correspondant dans l'enregis- trement de documentation du système correspondant Si l'indi- cateur de section est omis, la section est traitée comme si la valeur d'indicateur de section était "A" Si l'en-tête de section de l'enregistrement de documentation d'utilisateur n'est pas identique à l'en-tête de section dans un enregis- trement quelconque de documentation du système, la valeur de l'indicateur de section perd toute signification, comme on le verra. Avant de passer à l'organigramme des figures 7-9, il convient d'envisager ici de façon plus détaillée le format des ordres de documentation Comme on l'a déjà indiqué, l'uti- lisateur peut émettre des ordres tels que ASSISTANCE ORDRE APPEL, ASSISTANCE TERME = IDENTIFICATEUR_p E_FACTURATION et ASSISTANCE ERREUR = EPASTROUVE, auquels le système répond en fournissant la totalité de la documentation disponible pour l'ordre, le terme ou l'erreur en question, modifiée (éventuellement) par l'utilisateur A titre d'option, l'utili- sateur peut éliminer "ORDRE =" dans une demande de documenta- tion d'ordre, soit par exemple:ASSISTANCE APPEL Une autre option consiste en ce que l'utilisateur peut spécifier seule- ment l'affichage d'une ou de plusieurs sections déterminées de la documentation, par exemple ASSISTANCE APPEL SECTION = UTILI- SATION SECTION = EXEMPLE Une autre option encore permet à l'utilisateur d'obtenir une documentation provenant du fichier de documentation d'ordre associé à un progiciel autre que celui qu'il utilise au moment considéré, à condition que l'uti- lisateur connaisse le nom de ce fichier Par exemple, un uti- lisateur de PAM pourrait émettre l'ordre: ASSISTANCE APPEL FICHIER=doc PSCU SECTION=ARGU- MENTS et obtenir ainsi une documentation concernant les arguments pour l'ordre "appel" tel qu'il est utilisé dans PSCU. Les figures 7-9 constituent un organigramme du programme de service de documentation en mode connecté 36 qui, comme indiqué précédemment, est appelé comme un sous- programme, et qu'on appelle également ci-après "le programme". La figure 7, en particulier, représente la partie d'extraction d'enregistrement du programme Le programme commence à l'étape 701 par l'examen des arguments qui lui sont transmis par le programme d'analyse syntaxique d'ordre 34, pour déterminer qu'elle est exactement ladocumentation qui est demandée Si, d'après la détermination faite à l'éta- pe 703, l'utilisateur a émis un ordre de documentation impropre, par exemple ASSISTANCE ERREUR, le programme de ser- vice de documentation appelle le programme de service de menu, 35, à l'étape 704 En sollicitant des réponses de la part de l'utilisateur, le programme de service de menu ten- tera de déterminer la documentation que l'utilisateur désire. Une fois que ceci a été déterminé, le programme de service de menu met en forme une demande de documentation pour le compte de l'utilisateur et la retransmet au programme-de service de documentation. On supposera, à titre d'exemple que l'utilisateur est entrain d'exécuter PAM et a émis un ordre de documenta- tion demandant une documentation pour l'ordre "appel" Comme indiqué en 706, le programme détermine maintenant si la der- nière documentation demandée par cet utilisateur concernait le même ordre que la documentation qu'il demande maintenant, c'est-à-dire "appel" (Cette documentation est toujours dis- ponible dans une liste d'enregistrement de sortie 1050 (envisagée ciaprès)) Dans l'affirmative, la commande passe î 6 directement à la partie marquage/impression du programme (figure 9). Dans le cas contraire, le programme de service de documentation détermine maintenant à l'étape 709 le nom des fichiers de documentation d'ordre du système, et donc d'uti- lisateur, qui interviennent, soit dans cet exemple: doc PAM. En 711, le programme consulte une table qu'il conserve, donnant les noms des fichiers de documentation ouverts, pour déterminer si un ou plusieurs fichiers dénommés doc PAM sont déjà ouverts Dans la négative, il tente en 714 d'ouvrir un fichier à ce nom dans les zones d'enregistrement du système et d'utilisateur. A ce point, on peut supposer qu'un fichier du sys- tème au nom en question est ouvert, du fait qu'un fichier du système existe déjà Cependant, un fichier d'utilisateur pour la soi-Le de documentation demandée peut ne pas exister. On détermine donc à l'étape 717 s'il existe effectivement un fichier d'utilisateur ouvert dénommé doc PAM Dans la néga- tive, le programme passe directement à l'étape 732 dans laquelle l'enregistrement ou (dans le cas de continuations) les enregistrements contenant la documentation pour l'ordre en question sont extraits. Si au contraire un fichier d'utilisateur dénommé doc PAM est ouvert, le programme tente à l'étape 721 d'extraire de ce fichier un ou plusieurs enregistrements d'utilisateur constituant une documentation pour l'ordre "appel" Si, comme il est déterminé à l'étape 724, il n'existe pas d'enregistrement de ce type, ce qui signifie que l'utilisateur n'a pas fourni de documentation pour l'ordre "appel", le programme passe simplement à nouveau à l'étape 732 Cependant, si un enregistrement d'utilisateur existe effectivement, sa zone d'indicateur d'enregistrement principal (figure 6) est contrôlée pour déterminer si elle contient un "R" ou un "N" Ceci indiquerait que la documen- tation d'utilisateur pour l'ordre "appel" doit remplacer la documentation du système en totalité, auquel cas l'étape 732 est sautée, du fait que l'enregistrement du système contenant la documentation pour l'ordre "appel" ne sera pas nécessaire. Si au contraire l'enregistrement d'utilisateur n'est pas un tel enregistrement de remplacement, l'enregistrement du sys- tème doit également être extrait et, comme précédent, l'étape 732 est exécutée. A ce point, la commande passe à la partie de traite- ment d'enregistrement du programme de service de documenta- tion, ce qui correspond à l'étape 734 Cette partie du pro- gramme, représentée sur la figure 8, commence par l'étape 801 dans laquelle l'enregistrement de documentation du système extrait précédemment, s'il existe, est examiné et décomposé. Ceci fait intervenir l'établissement de rubriques dans une liste dite liste d'enregistrement du système, 1010, représen- tée sur la figure 10 La liste d'enregistrement du système est un ensemble prédéfini de structures de données (blocs du système 1020), et chacune d'elles comprend des positions d'enregistrement destinées à conserver l'information suivante provenant d'une section respective de l'enregistrement du système ou concernant une telle section: l'en-tête de sec- tion, la nature de l'information enregistrée à la position 1021, un pointeur désignant la position du texte de section, qui est enregistré à la position 1022, et un compte du nombre de caractères dans le texte, qui est enregistré à la position 1023. En retournant à la figure 8, on note que le pro- gramme passe maintenant à l'étape 803 à laquelle l'enregistre- ment de documentation d'utilisateur extrait précédemment, s'il existe, est examiné de façon similaire et décomposé en une liste d'enregistrement d'utilisateur 1030, également représentéesur la figure 10 La liste d'enregistrement d'uti- lisateur est formée par des blocs d'utilisateur 1040 En plus de positions d'enregistrement pour un en-tête de section, un pointeur de texte et un compte de caractères, qui sont respec- tivement enregistrés aux positions 1041, 1042 et 1043, chaque bloc d'utilisateur comporte une position d'enregistrement 1045 pour la valeur de l'indicateur de section (A, B, R ou N) décrit ci-dessus. On utilise les listes d'enregistrement du système et d'utilisateur pour créer une liste dite liste d'enregistre- ment de sortie 1050, décrite brièvement ci-après Cette liste comprend un ensemble de blocs de sortie 1060, chacun d'eux comportant une position d'enregistrement pour l'information suivante: un en-tête de section, un pointeur désignant un premier texte, un compte de caractères pour le premier texte, un pointeur désignant un second texte, un compte de caractè- res pour le second texte et un indicateur d'impression, por- tant respectivement les références 1061 à 1066. En particulier, le programme remplit la liste d'enregistrement de sortie 1050 en exécutant une boucle qui correspond à l'étape 808 de la figure 8 A chaque passe dans la boucle, il examine un bloc successif parmi les blocs du système 1020 et il détermine, à l'étape 811, s'il existe un en- tête de section correspondant dans l'un quelconque des blocs d'utilisateur 1040 Dans la négative, le programme passe à l'étape 814 à laquelle l'en-tête de section est copié de la position 1021 dans le bloc du système vers la position 1061 dans le bloc disponible immédiatement suivant parmi les blocs de sortie 1060 De plus, le pointeur de texte et le compte de caractères sont copiés des positions 1022 et 1023 du bloc du système vers les positions 1062 et 1063 du bloc de sortie, en constituant respectivement le premier pointeur de texte et le premier compte de caractères Le second pointeur de texte dans le bloc de sortie, enregistré à la position 1064 est mis à zéro pour désigner une chaine vide Le programme se reboucle ensuite pour traiter le bloc du système suivant. Si au contraire, il existe dans l'un des blocs d'utilisateur 1040 un entête de section qui correspond à l'en-tête de section dans le bloc du système courant consi- déré, le programme copie cet en-tête pour le placer à la position 1061 du bloc de sortie disponible immédiatement sui- vant, à l'étape 816, puis, à l'étape 819, il positionne les pointeurs de texte (et les comptes de caractères correspon- dants) dans le bloc de sortie, conformément à la valeur de l'indicateur de section qui est enregistré à la position 1045 dans le bloc d'utilisateur En particulier, si la valeur d'indicateur de section est "A" (pour "après"), les premier et second pointeurs de texte enregistrés dans le bloc de sortie aux positions 1062 et 1064 reçoivent les valeurs des pointeurs de texte enregistrés aux positions respectives 1022 et 1042 des blocs du système et d'utilisa- teur, et le programme procède de façon similaire pour les comptes de caractères Si l'indicateur de section est "B" (pour "avant"), ces mêmes valeurs sont affectées aux poin- teurs de texte et aux comptes de caractères du bloc de sor- tie, mais dans l'ordre inverse Si l'indicateur de section est "R" (pour "remplacement") ou "N" (pour "nouveau"), la documentation du système pour la section particulière doit être entièrement remplacée par la documentation d'utilisa- teur Dans ce cas, le premier pointeur de texte et le compte de caractères dans le bloc de sortie reçoivent les valeurs du pointeur de texte et du compte de caractères du bloc d'utilisateur, et le second pointeur de texte du bloc de sor- tie est transformé en une chaîne vide A l'étape 821, le bloc d'utilisateur en question reçoit un marquage indiquant qu'il a été "utilisé", ce qu'on réalise à titre d'exemple en transformant son en-tête de section en une chaîne vide. Une fois que tous les blocs du système 1020 ont été traités de cette manière, le programme sort de la boucle et passe à l'étape 824 Il explore ici la liste d'enregistre- ment d'utilisateur 1030 pour y chercher des blocs d'utilisa- teur non marqués, c'est-à-dire des blocs dont les en-têtes de section ne sont pas des chaînes vides L'information prove- nant d'un bloc d'utilisateur quelconque de ce type est copiée vers un bloc respectif parmi les blocs de sortie, de la même manière que l'information dans un bloc du système qui n'a pas de bloc d'utilisateur correspondant est copiée vers un bloc de sortie, comme décrit ci-dessus en relation avec l'étape 814 Ce qui précède permet de voir que la valeur d'indicateur de section n'intervient pas dans ce cas. A l'étape 826, le programme passe à sa partie de marquage/impression de section, qui est représentée sur la Figutre 9 Si l'ordre de documentation a spécifié que certai- nes sections seulement doivent être affichées, ce qui est déterminé à l'étape 901, l'indicateur d'impression est posi- Lionné dans le bloc de sortie approprié, ce qui correspond à l'étape 903 Dans le cas contraire, les indicateurs d'impres- sion sont positionnés dans tous les blocs de sortie, ce qui correspond à l'étape 904. La documentation est maintenant prête à être "imprimée", c'est-à-dire présentée à l'utilisateur En pre- mier lieu, la clé d'enregistrement qui a été utilisée pour l'extraction de l'enregistrement est présentée en lettres majuscules et imprimée avec des astérisques doubles, pour constituer l'en-tête principal, à l'étape 908 (par exemple -'APPEL, des les Tableaux I et II) Ensuite, chaque bloc de la liste de sortie 1050 est examiné à son tour au moyen d'une boucle qui commence en 911 Dans la boucle, chaque bloc de sortie est tout d'abord contrôlé à l'étape 913 pour voir- s'il a été marqué pour l'impression Dans la négative, l'exa- men passe au bloc suivant Cependant, si le bloc a été marqué pour l'impression, le programme passe par les étapes 915, 916 et 919 qui accomplissent respectivement les actions consis- tant à présenter en lettres majuscules et à imprimer l'en-tête de section, à imprimer le premier texte spécifié dans le bloc de sortie, et à imprimer le second texte, s'il existe. Une fois que tous les blocs de sortie ont été exa- minés, le programme retourne au programme qui l'a appelé. Il va de soi que de nombreuses modifications peuvent être apportées au procédé et au dispositif décrits et représentés, sans sortir du cadre de l'invention. REVENDICATIONS 1 Procédé de documentation en mode connecté prévu pour l'utilisation dans un système informatique, caractérisé en ce qu'il comprend les opérations suivantes: on fournit à des utilisateurs individuels du système, en réponse à l'émission par ces utilisateurs d'un ordre de documentation particulier, une documentation du système associée à l'ordre de documentation particulier; et on fournit à au moins un autre utilisateur du système, en réponse à l'émission de l'ordre de documentation particulier par cet autre utilisateur, une documentation spécifique de l'utilisateur, définie préala- blement par cet autre utilisateur. 2 Dispositif pour la mise en oeuvre du procédé de documentation en mode connecté destiné à l'utilisation dans un système informatique selon la revendication 1, caractérisé en ce qu'il comprend: des premiers moyens ( 36, 40; 1010, 1050) destinés à fournir à des utilisateurs individuels du système, en réponse à l'émission d'un ordre de documentation particulier par ces utilisateurs, une documentation du systè- me associée à cet ordre de documentation particulier; et des seconds moyens ( 36, 40, 45, 1030, 1050) destinés à fournir à au moins un autre utilisateur du système, en réponse à l'émission de l'ordre de documentation particulier par cet autre utilisateur, une documentation spécifique de l'utilisa- teur, définie préalablement par cet autre utilisateur. 3 Dispositif selon -la revendication 2, caractérisé en ce que les premiers et seconds moyens comprennent des moyens ( 40) qui leur sont communs et sont destinés à enregis- trer la documentation du système associée à l'ordre de docu- mentation particulier, et à enregistrer la documentation du système associée à d'autres ordres de documentation qui peu- vent être émis par les utilisateurs du système; et en ce que les seconds moyens comprennent en outre des moyens ( 45) desti- nés à enregistrer un ou plusieurs textes de documentation d'utilisateur associés au moins à l'ordre de documentation particulier, et à enregistrer une instruction associée à cha- que texte de documentation d'utilisateur, qui indique comment ce texte de documentation d'utilisateur doit être utilisé pour modifier la documentation du système enregistrée qui est associée à cet ordre particulier; et des moyens ( 36, 1030, 1050, 1010) destinés à créer la documentation spécifique de l'utilisateur conformément à chaque instruction. 4 Dispositif selon la revendication 2, caractérisé en ce que les premiers et seconds moyens comprennent des moyens ( 40) qui leur sont communs et, sont destinés à enregis- trer la documentation du système associée à l'ordre de docu- mentation particulier, et à enregistrer la documentation du système associée à d'autres ordres de documentation qui peu- vent être émis par les utilisateurs du système; en ce que la documentation du système associée à chaque ordre de documen- tation est constituée par une ou plusieurs sections de texte de documentation du système; cii ce que les seconds moyens comprennent en outre des moyens ( 45) destinés à enregistrer un ou plusieurs textes de documentation d'utilisateur asso- ciés au moins à l'ordre de documentation particulier, et à enregistrer une instruction associée à chaque texte de docu- mentation d'utilisateur, qui indique si ce texte de documen- tation d'utilisateur doit être ajouté à un texte de documen- tation du système correspondant, utilisé pour remplacer un texte de documentation du système correspondant, ou utilisé en tant que section séparée dans la documentation spécifique de l'utilisateur; et en ce que les seconds moyens ( 36, 1010, 1050, 1030) comprennent en outre des moyens destinés à créer la documentation spécifique de l'utilisateur conformément à chaque instruction.