Brevet FR2857115A1 — publié le 20050107

Compatibilité des révisions de modules interchangeables CONTEXTE Domaine de l'invention La présente invention a trait à des systèmes informatiques intégrant des modules interchangeables. Technique associée Tous les ordinateurs intègrent à la fois du matériel et des logiciels. Le matériel d'un ordinateur inclut des composants électromécaniques tels que les microprocesseurs, les bus, les contrôleurs d'E/S (Entrée/Sortie), la mémoire et les unités à disques magnétiques (telles que les disques durs). Il peut s'avérer difficile d'entretenir et de réparer de tels composants, particulièrement parce qu'ils deviennent de plus en plus complexes et miniaturisés. Il est de moins en moins évident d'essayer d'effectuer une réparation électrique ou mécanique sur un composant tel qu'un bus ou un contrôleur d'E/S. Au lieu de cela, la meilleure solution pour un technicien confronté à un ordinateur défaillant est souvent d'identifier le composant qui provoque le problème et de remplacer physiquement le composant identifié par un nouveau composant. Un tel processus de réparation peut être fastidieux, chronophage et coûteux car il nécessite qu'un technicien humain diagnostique la cause du disfonctionnement, ouvre le boîtier de l'ordinateur, enlève physiquement (et éventuellement jette) le composant défaillant et installe physiquement le nouveau composant. Bien que le processus de diagnostic des disfonctionnements de l'ordinateur devienne de plus en plus automatisé, le processus de remplacement du composant doit toujours être effectué manuellement. Dans les premiers systèmes informatiques, il était souvent difficile ou impossible de remplacer certains composants matériels, tels que l'unité centrale (UC), la mémoire et les contrôleurs d'E/S, après la fabrication de l'ordinateur. De tels composants peuvent, par exemple, être câblés les uns aux autres, auquel cas, la tentative de suppression de l'un des composants peut endommager l'ordinateur de façon irréversible. Dans certains cas, il peut être possible d'enlever ces composants en rompant et en rétablissant les connexions 2857115 2 physiques, en soudant ou en utilisant tout autre processus fastidieux et chronophage nécessitant un technicien qualifié pour son exécution. Les concepteurs de matériel informatique conçoivent de plus en plus de systèmes informatiques afin que les composants (tels que l'UC, la mémoire et les contrôleurs d'E/S) puissent être remplacés facilement sur le terrain (c'est-à-dire, chez l'utilisateur). Un composant pouvant être facilement enlevé d'un ordinateur et remplacé par un nouveau composant sur le terrain est appelé module interchangeable . Les ordinateurs récents intègrent de plus en plus d'interfaces matérielles modulaires permettant le retrait des modules interchangeables de façon simple par un technicien relativement non qualifié. La suppression d'un module interchangeable peut, par exemple, nécessiter seulement le retrait de quelques vis et l'extraction du module interchangeable de l'ordinateur. Le même technicien peut ensuite installer un module interchangeable de remplacement tout aussi facilement. Bien que l'utilisation des modules interchangeables limite la difficulté, le coût et le temps requis pour remplacer un composant matériel, le remplacement sur site des modules interchangeables nécessite toujours un technicien humain pour supprimer et remplacer le module interchangeable défaillant. Les logiciels, à l'inverse, sont incorporés sous forme de signaux électromagnétiques, stockés dans une unité à disques magnétiques (par exemple, un disque dur) ou autre forme de mémoire électronique. Par conséquent, il est généralement possible de remplacer ou de mettre à jour des logiciels défaillants ou obsolètes en effaçant simplement l'ancien logiciel et en le remplaçant par un nouveau logiciel fourni sur un support de mémoire tangible, tel qu'une disquette ou un CD-ROM. Par conséquent, la mise à jour ou le remplacement de logiciels a généralement toujours été plus simple et moins coûteux à effectuer que le remplacement de matériel. L'utilisation de masse des réseaux informatiques et d'Internet a également simplifié le processus de mise à jour des logiciels en permettant de télécharger des logiciels sur un réseau et de les installer, parfois sans intervention humaine, sans la nécessité de distribuer les logiciels sur un support physique tel qu'une disquette. Il existe aujourd'hui une tendance dans la conception de matériel informatique à implémenter divers composants matériels de façon à pouvoir mettre à jour le matériel et à le remplacer efficacement de la même façon qu'il 2857115 3 est généralement possible de mettre à jour et de remplacer les logiciels. Le terme module programmable sur site se rapporte à un composant matériel dont la fonctionnalité peut être modifiée par programmation électronique. Des exemples de modules programmables sur site incluent les progiciels système (par exemple, BIOS), les progiciels de processus de pièces jointes intégrés et les réseaux de portes programmables (FPGA). Chacun de ces types de modules programmables sur site est capable de stocker des signaux électriques représentant du code régissant, en totalité ou en partie, les fonctions exécutées par le module programmable sur site. La fonctionnalité d'un module programmable sur site, par conséquent, peut être modifiée en changeant simplement le code (sous forme de signaux électriques) stocké dans le module programmable sur site. Il peut être nécessaire ou souhaitable de reprogrammer un module programmable sur site dans l'une quelconque de diverses circonstances. Par exemple, le code stocké dans un module programmable sur site peut devenir obsolète, auquel cas, il peut être souhaitable de mettre à jour le code du module programmable sur site pour lui permettre d'exécuter de nouvelles fonctions. Autre exemple, le code stocké dans un module programmable sur site récemment installé peut être incompatible avec d'autres matériels du système, auquel cas, il peut être nécessaire de mettre à jour le code du module programmable sur site pour qu'il soit compatible avec les autres composants matériels du système. Le code d'un module programmable sur site peut aussi devenir corrompu, auquel cas, il peut être nécessaire de recharger un nouveau code dans le module programmable sur site pour le restaurer vers un état fonctionnel. Dans tous ces cas, le principal avantage du module programmable sur site sur toutes les formes classiques de matériel est que le module programmable sur site peut être réparé ou remplacé efficacement en stockant simplement un nouveau code dans le module programmable sur site. Un nouveau code peut être stocké dans un module programmable sur site à l'aide d'un processus similaire au processus par lequel un logiciel est mis à jour. Par exemple, un technicien humain peut fournir le code à l'ordinateur en utilisant une disquette ou en téléchargeant le code sur un réseau. Le technicien peut ensuite demander à l'ordinateur de stocker le nouveau code dans le module programmable sur site, processus qui peut généralement être effectué 2857115 -4 rapidement et sans que le technicien n'ait à ouvrir le boîtier de l'ordinateur ou à apporter des modifications physiques à l'ordinateur. Par conséquent, la réparation d'un module programmable sur site peut s'avérer moins fastidieuse, moins chronophage et moins coûteuse que la réparation d'un composant matériel classique. Bien qu'un module interchangeable ne nécessite pas d'être programmable sur site, un module interchangeable peut inclure un ou plusieurs modules programmables sur site. Un module interchangeable peut donc être programmable sur site et interchangeable. Dans un système informatique particulier, il est possible que le code du module programmable sur site stocké dans un module interchangeable soit incompatible avec un autre code de module programmable sur site du système ou avec des composants matériels du système. Ces incompatibilités peuvent provoquer un mauvais fonctionnement du système. Il est souhaitable d'éviter de telles incompatibilités pour que le système fonctionne correctement. Résumé Un système informatique peut inclure un ou plusieurs modules interchangeables qui peuvent contenir chacun un ou plusieurs modules programmables sur site. Chaque module programmable sur site peut contenir du code pouvant être modifié. Le système informatique peut inclure une matrice de compatibilité de révisions indiquant les combinaisons de modules interchangeables et de codes de modules programmables sur site compatibles les unes avec les autres. Lorsque le code d'un module programmable sur site est mis à jour, une vérification de compatibilité effectuée par la matrice de compatibilité de révisions peut indiquer de façon incorrecte que le code mis à jour n'est pas compatible avec le système informatique. Des techniques sont divulguées pour la mise à jour automatique de la matrice de compatibilité de révisions lorsque du code est mis à jour dans un module programmable sur site. En particulier, des techniques sont divulguées pour grouper le code du module programmable sur site mis à jour et une matrice de compatibilité de révisions mise à jour correspondante dans un seul package de mise à jour pouvant être utilisé pour mettre à jour le code du module programmable sur site et la matrice de compatibilité de révisions simultanément, en évitant ainsi 2857115 5 une détermination erronée de l'incompatibilité du code du module programmable sur site avec le système. Même si certaines formes de réalisation de la présente invention vont maintenant être décrites sous forme d'étapes méthodologiques, ces étapes peuvent être mises en oeuvre en tant qu'instructions de programmes informatiques incorporées de façon tangible dans un support assimilable par machine. Par exemple, dans une forme de réalisation de la présente invention, une méthode est fournie pour être utilisée dans un système informatique intégrant un premier descripteur de compatibilité de révisions identifiant une première pluralité de combinaisons compatibles de codes de modules programmables sur site. La méthode inclut les étapes consistant à (A) déterminer si le premier descripteur de compatibilité de révisions identifie le premier code de module programmable sur site pour une utilisation dans un premier module programmable sur site comme compatible avec le système informatique; et (B) si le premier descripteur de compatibilité de révisions n'identifie pas le premier code de module programmable sur site comme compatible avec le système informatique, à effectuer une étape de mise à jour du premier descripteur de compatibilité de révisions pour identifier le premier code de module programmable sur site pour une utilisation dans un premier module programmable sur site comme compatible avec le système informatique, tel qu'en mettant à jour le premier descripteur de compatibilité de révisions pour inclure une première combinaison compatible de codes de modules programmables sur site incluant le premier code de module programmable sur site. Le premier module programmable sur site peut aussi être interchangeable. L'étape (B) peut inclure les étapes consistant à : (B) (1) identifier un second descripteur de compatibilité de révisions identifiant une seconde pluralité de combinaisons compatibles de codes de modules programmables sur site incluant le premier code de module programmable sur site; et (B) (2) remplacer le premier descripteur de compatibilité de révisions par le second descripteur de compatibilité de révisions. Le système informatique peut également inclure une pluralité de modules programmables sur site incluant un pluralité correspondante de codes de modules programmables sur site et l'étape (A) de la méthode peut inclure une étape consistant à déterminer que le premier code de module 2857115 6 programmable sur site est compatible avec le système informatique si une combinaison du premier code de module programmable sur site et de la pluralité de codes de modules programmables sur site se trouve parmi la pluralité de combinaisons compatibles des codes de modules programmables sur site identifiées par le premier descripteur de compatibilité de révisions. La méthode peut également inclure une étape consistant à : (C) se procurer un package de mise à jour incluant le premier code de module programmable sur site et du code mis à jour spécifiant une première combinaison compatible de codes de modules programmables incluant le premier code de module programmable sur site et l'étape consistant à mettre à jour le premier descripteur de compatibilité de révisions peut inclure une étape consistant à mettre à jour le premier descripteur de compatibilité de révisions en fonction du code de mise à jour du package de mise à jour. Le code de mise à jour peut inclure un second descripteur de compatibilité de révisions identifiant une seconde pluralité de combinaisons compatibles de codes de modules programmables sur site incluant le premier code de module programmable sur site et l'étape (B) peut inclure une étape consistant à remplacer le premier descripteur de compatibilité de révisions par le second descripteur de compatibilité de révisions. Dans une autre forme de réalisation de la présente invention, une méthode est fournie pour être utilisée dans un système informatique incluant un premier descripteur de compatibilité de révisions identifiant une première pluralité de combinaisons compatibles de codes de modules programmables sur site. La méthode inclut les étapes consistant à : (A) recevoir un package de mise à jour contenant un premier code de module programmable sur site approprié pour une utilisation dans un premier module programmable sur site et un code de mise à jour spécifiant une première combinaison compatible de codes de modules programmables sur site incluant le premier code de module programmable sur site; et (B) mettre à jour le premier descripteur de compatibilité de révisions pour inclure la première combinaison compatible de codes de modules programmables sur site. Le premier descripteur de compatibilité de révisions peut être associé à une première date de révision et le code de mise à jour peut être associé à une seconde date de révision. La méthode peut également inclure les étapes consistant à : (C) avant l'étape (B), déterminer si la seconde date de révision 2857115 7 est plus récente que la première date de révision; et (D) exécuter l'étape (B) seulement si l'on a déterminé à l'étape (C) que la seconde date de révision est plus récente que la première date de révision. La méthode peut également inclure une étape consistant à (E) déterminer si le premier code de module programmable sur site est compatible avec le système informatique par référence au premier descripteur de compatibilité de révisions mis à jour. D'autres caractéristiques et avantages des divers aspects et formes de réalisation de la présente invention apparaîtront à la lecture de la description suivante et des revendications. BRÈVE DESCRIPTION DES DESSINS Comme décrit plus en détail ci-dessous, les méthodes illustrées dans les dessins par les diagrammes peuvent être mises en oeuvre par les programmes 15 informatiques. La figure 1A est un schéma fonctionnel d'un système informatique avant l'installation d'un nouveau module interchangeable selon une forme de réalisation de la présente invention; La figure 1B est un schéma fonctionnel du système informatique de la 20 figure 1A après l'installation d'un nouveau module interchangeable selon une forme de réalisation de la présente invention; La figure 1C est un schéma fonctionnel du système informatique de la figure 1A dans lequel le code d'un module programmable sur site a été remplacé par un nouveau code de module programmable sur site selon une forme de réalisation de la présente invention; La figure 1 D est un schéma fonctionnel du système informatique de la figure lA avant l'installation d'un code de mise à jour à partir d'un package de mise à jour selon une forme de réalisation de la présente invention; La figure 1E est un schéma fonctionnel du système informatique de la figure 1D après remplacement d'une première matrice de compatibilité de révisions par une seconde matrice de compatibilité de révisions selon une forme de réalisation de la présente invention; La figure 1F est un schéma fonctionnel du système informatique de la figure 1E après remplacement du code d'un module programmable sur site par 2857115 8 un nouveau code de module programmable sur site selon une forme de réalisation de la présente invention; La figure 1G est un schéma fonctionnel du système informatique de la figure lA avant la mise à jour d'une matrice de compatibilité de révisions du système informatique selon une forme de réalisation de la présente invention; La figure 1H est un schéma fonctionnel du système informatique de la figure 1G après la mise à jour de la matrice de compatibilité de révisions selon une forme de réalisation de la présente invention; La figure 2A est un schéma d'une première matrice de compatibilité de révisions selon une forme de réalisation de la présente invention; La figure 2B est un schéma d'une seconde matrice de compatibilité de révisions selon une forme de réalisation de la présente invention; La figure 3 est un diagramme d'une méthode utilisée dans une forme de réalisation de la présente invention pour mettre à jour la matrice de 15 compatibilité de révisions de la figure 2A; et La figure 4 est un diagramme d'une méthode utilisée dans une autre forme de réalisation de la présente invention pour mettre à jour la matrice de compatibilité de révisions de la figure 2A. DESCRIPTION DÉTAILLÉE Un système informatique peut inclure un ou plusieurs modules interchangeables, chacun pouvant inclure un ou plusieurs modules programmables sur site. Chaque module programmable sur site peut inclure du code pouvant être modifié. Le système informatique peut inclure une matrice de compatibilité de révisions qui indique les combinaisons des modules interchangeables et des codes de modules programmables sur site compatibles les unes avec les autres. Lorsque le code d'un module programmable sur site est mis à jour, une vérification de compatibilité exécutée à l'aide de la matrice de compatibilité de révisions peut indiquer de façon incorrecte que le code mis à jour n'est pas compatible avec le système informatique. Des techniques sont divulguées pour la mise à jour automatique de la matrice de compatibilité de révisions lorsque du code est mis à jour dans un module programmable sur site. En particulier, des techniques sont divulguées pour grouper le code du module programmable sur site mis à jour et une matrice de compatibilité de 2857115 9 révisions mise à jour correspondante dans un seul package de mise à jour pouvant être utilisé pour mettre à jour le code du module programmable sur site et la matrice de compatibilité de révisions simultanément, en évitant ainsi une détermination erronée de l'incompatibilité du code du module programmable sur site avec le système. Sur la figure 1A, un schéma fonctionnel d'un système informatique 100a est présenté, dans lequel diverses formes de réalisation de la présente invention peuvent être appliquées. Le système informatique 100a peut, par exemple, être un ordinateur de bureau, un ordinateur portable, une station de travail, un grand système ou toute autre sorte de système informatique. Bien que le système informatique 100a inclue au moins un processeur, une mémoire principale, un bus système et les autres composants couramment inclus dans un système informatique, ces composants ne sont pas illustrés sur la figure 1A pour faciliter l'illustration. Au lieu de cela, seuls les éléments pertinents par rapport au sujet de la méthode 100 sont présentés sur la figure 1A. En particulier, le système informatique 100a inclut quatre modules interchangeables 108a-d. Les modules interchangeables 108a-d peuvent, par exemple, être implémentés en tant qu'ensembles de circuit imprimé. Les modules interchangeables 108a-d incluent des numéros de révision 124a-d, respectivement. Dans la forme de réalisation illustrée dans la figure 1A, chacun des numéros de révision 124a-d représente un numéro de révision matérielle du module interchangeable correspondant. Les numéros de révision 124a-d peuvent, par exemple, être stockés dans les mémoires mortes à reprogrammation électrique série sur les ensembles de circuit imprimé qui implémentent les modules interchangeables 108a-d. Les modules interchangeables 108a-d sont installés dans les logements de modules interchangeables 116a-d, respectivement. Les logements de modules interchangeables 116a-d ne doivent pas nécessairement être des logements , mais peuvent plutôt généralement inclure toute sorte d'ensembles de circuits connectifs ou autres composants pour connecter les modules interchangeables 108a-d, respectivement, au système 100a. Les modules interchangeables 108a-d incluent les modules programmables sur site 102a-d, respectivement. Les modules programmables sur site 102a- d incluent le code de module programmable sur site 104a-d, respectivement. Le code 104a-d inclut des numéros de révision 122a-d, 2857115 -10respectivement. Comme décrit plus en détail ci-dessous, chacun des numéros de révision 122a-d représente un numéro de révision du code correspondant 104a-d. Les modules programmables sur site 102a-d peuvent être toute sorte de modules programmables sur site, tels que des progiciels système, des progiciels de processus de pièces jointes intégrés ou des réseaux de portes programmables (FPGA). Les modules programmables sur site 102a-d sont installés dans les logements de modules programmables sur site 106ad, respectivement. Comme les logements de modules interchangeables 116a-d, les logements de modules programmables sur site 106a-d peuvent inclure toute sorte d'ensembles de circuits connectifs ou autres composants permettant de connecter les modules programmables sur site 102a-d aux modules interchangeables 108a-d, respectivement. Dans la forme de réalisation illustrée sur les figures 1A-1B, chacun des logements 106a-d est conçu pour recevoir un module programmable sur site d'un type particulier. Par exemple, le logement 106a peut être conçu pour recevoir un progiciel implémentant le BIOS système, tandis que le logement 101B peut être conçu pour recevoir un réseau de portes programmable implémentant un contrôleur d'E/S particulier. Bien que quatre modules interchangeables 108a-d, quatre modules programmables sur site 102a-d et les logements correspondants 116a-d et 106a-d soient illustrés sur la figure lA à des fins d'exemple, le système 100a peut inclure n'importe quel nombre et type de module interchangeable et module programmable sur site dans n'importe quelle combinaison. En particulier, un module interchangeable peut inclure, zéro, un ou plusieurs modules programmables sur site. Il est courant pour la première révision (également appelée version ) d'un module interchangeable ou d'un code de module programmable sur site d'avoir un numéro de révision de 1 (ou 1.0) et, pour les révisions ultérieures, d'avoir des numéros de révision supérieurs (tels que 1.1 pour une révision mineure et 2.0 pour une révision majeure). Les différentes révisions de code pour le même module programmable sur site peuvent, par exemple, inclure du code corrigeant les bogues des précédentes révisions ou ajoutant des fonctionnalités au module programmable sur site. Le terme code de module programmable sur site se rapporte à un 35 ensemble de code prévu pour être utilisé dans un module programmable sur 2857115 -11- site. Par exemple, les codes 104a-d sont tous des codes de modules programmables sur site. Une combinaison particulière de modules interchangeables et de codes de modules programmables sur site pouvant être installée sur un système informatique est appelée ici formule . Par exemple, la combinaison particulière des modules interchangeables 108a-d et des codes de modules programmables sur site 104a-d installée dans le système 100a est un exemple de formule. Une formule particulière peut, par exemple, être représentée en tant que liste de numéros de révision de modules interchangeables et numéros de révision de codes de modules programmables sur site. Le terme révision est utilisé ici pour faire référence généralement aux révisions de modules interchangeables et aux révisions de codes de modules programmables sur site, simultanément. Les combinaisons de révisions de modules interchangeables et de révisions de codes de modules programmables sur site représentées par une formule particulière peuvent éventuellement être compatibles les unes avec les autres. Une formule peut, par exemple, spécifier une combinaison de codes qui, si elle est installée dans les modules programmables sur site des logements 106a-d, provoquera un disfonctionnement du système informatique 100a. Une combinaison de codes de modules programmables sur site qui, si elle est installée dans les modules programmables sur site des logements 106a-d, n'interfère pas avec le fonctionnement des unes et des autres est appelée ici codes mutuellement compatibles . Il est souhaitable que seules les formules incluant des codes de modules programmables sur site mutuellement compatibles soient installées dans un système informatique. Plus généralement, une combinaison de révisions de modules interchangeables et de révisions de codes de modules programmables sur site qui, si elle est installée dans un système informatique, n'interfère pas avec le fonctionnement des unes et des autres est appelée ici révisions mutuellement compatibles . Une formule qui spécifie une combinaison de révisions mutuellement compatibles est appelée ici formule compatible . Le système 100 inclut également une matrice de compatibilité de révisions 200a qui spécifie les formules compatibles appropriées pour une utilisation dans le système informatique 100a. La matrice de compatibilité de révisions 200a peut, par exemple, être générée en installant et en testant diverses combinaisons de révisions de modules interchangeables et de 2857115 -12- révisions de codes de modules programmables sur site dans le système informatique 100a, en identifiant les combinaisons de révisions qui sont mutuellement compatibles et en enregistrant les combinaisons identifiées des révisions mutuellement compatibles dans la matrice de compatibilité de révisions 200a. Sur la figure 2A, un exemple de matrice de compatibilité de révisions 200a est présenté selon une forme de réalisation de la présente invention. La matrice de compatibilité de révisions 200a présentée sur la figure 2A inclut huit lignes (enregistrements) 202a-h, dont chacune spécifie une formule compatible particulière appropriée pour une utilisation dans le système informatique 100a. La matrice de compatibilité de révisions 200a inclut: (1) les colonnes 204a-d, correspondant aux logements de modules programmables sur site 106a-d, respectivement; (2) les colonnes 204e-h, correspondant aux logements de modules interchangeables 116a-d, respectivement; et (3) la colonne 204i, qui indique la formule la plus récemment reconnue installée sur le système 100a. Chacun des logements de modules programmables sur site 106a-d est référencé par un identifiant de module programmable sur site particulier affiché en haut des colonnes 204a-d. En particulier, les logements de modules programmables sur site 106a-d sont référencés par les ID de module programmable sur site A, B, C et D, respectivement, sur la figure 2A(comme indiqué par les chiffres de référence entre parenthèses sous les colonnes 204a-d). De même, chacun des logements de modules interchangeables 116a-d est référencé par un identifiant de module interchangeable particulier affiché en haut des colonnes 204e-h (comme indiqué par les chiffres de référence entre parenthèses sous les colonnes 204e-h). Chaque ligne de la matrice de compatibilité de révisions 200a spécifie une formule compatible particulière ainsi qu'un ensemble de numéros de révision de codes de modules programmables sur site et de numéros de révision de modules interchangeables. Par exemple, la ligne 202h spécifie une formule dans laquelle: (1) la révision de code 2 est stockée dans le module programmable sur site du logement 106a; (2) la révision de code 0 est stockée dans le module programmable sur site du logement 106b; (3) la révision de code 3 est stockée dans le module programmable sur site du logement 106c; (4) la révision de code 2 est stockée dans le module programmable sur site du 2857115 - 13 - logement 106d; (5) un module interchangeable ayant une révision 0 est installé dans le logement de module interchangeable 116a; (6) un module interchangeable ayant une révision 0 est installé dans le logement de module interchangeable 116b; (7) un module interchangeable ayant une révision 3 est installé dans le logement de module interchangeable 116c; (8) un module interchangeable ayant une révision 3 est installé dans le logement de module interchangeable 116d. Notez que dans la présente forme de réalisation, un ensemble particulier de code de module programmable sur site peut être identifié par une combinaison d'ID de module programmable sur site et de numéro de révision. Par exemple, la combinaison de l'ID de module programmable sur site A et du numéro de révision 2 identifie le code de module programmable sur site pour une utilisation dans le logement de module programmable sur site 106a et ayant le numéro de révision 2. Toutefois, ce schéma particulier d'identification du code de module programmable sur site est simplement présenté à des fins d'exemple et ne constitue pas une limitation de la présente invention. D'autres schémas d'identification peuvent également être utilisés pour identifier du code de module programmable particulier dans la matrice de compatibilité de révisions 200a. Ceci est également vrai pour la numérotation des révisions de modules interchangeables. Sur la figure lA à nouveau, la matrice de compatibilité de révisions 200a inclut un numéro de version 206a. Le numéro de version 206a peut indiquer la version de la matrice de compatibilité de révisions 200a de l'une quelconque des différentes façons, par exemple, en indiquant la date à laquelle la matrice de compatibilité de révisions 200a a été créée ou en indiquant un numéro de version de la matrice 200a. Prenons maintenant un exemple dans lequel le module interchangeable 108a est remplacé. Par exemple, sur la figure 1B, un système informatique 100b est présenté, identique au système informatique 100a sauf que le module interchangeable 108a a été remplacé par un module interchangeable 108e, dont le numéro de révision est 124e et qui inclut un module programmable sur site 102e incluant un code 104e ayant un numéro de révision 122e. Le chiffre de référence 100 est utilisé ici pour faire référence de façon générique aux systèmes informatiques 100a-h (figures 1A-1H) lorsque les différences entre les deux ne sont pas pertinentes. Comme cela sera décrit plus en détail ci- 2857115 -14- dessous, le numéro de révision 124e du module interchangeable de remplacement 108e peut être identique à ou différent du numéro de révision 124a du module interchangeable d'origine 108a et le code 104e du module programmable sur site de remplacement 102e peut être identique à ou différent du code 104a du module programmable sur site d'origine 102a. Le remplacement du module interchangeable 108a par le module interchangeable 108e sera généralement effectué par un opérateur humain en réponse à l'identification d'un disfonctionnement ou autre problème avec le module interchangeable d'origine 108a. Le système 100b inclut également un vérificateur de compatibilité 110 qui dispose d'un accès aux modules interchangeables 108b-e et qui peut essayer de déterminer si le nouveau module interchangeable 102e, y compris le code 104e qu'il contient, est compatible avec le reste du système 100b en fonction des informations contenues dans la matrice de compatibilité de révisions 200a. Les techniques d'exécution d'une telle détermination de compatibilité sont décrites plus en détail dans la demande de brevet à laquelle il est précédemment fait référence, intitulée Matrice de compatibilité des révisions de modules interchangeables . Pour une rapide présentation, le vérificateur de compatibilité 110 détermine si l'un quelconque des enregistrements 202a-h de la matrice de compatibilité de révisions 200a spécifie une combinaison de révisions de modules interchangeables et de révisions de codes de modules programmables sur site correspondant à la combinaison des modules interchangeables 108b-e et des codes de modules programmables sur site 104b-e actuellement installée dans le système 100b. Si un tel enregistrement est trouvé, le nouveau module interchangeable 108e est déterminé comme compatible avec le système informatique 100; sinon, le nouveau module interchangeable 108e est déterminé comme incompatible avec le système informatique 100. Sur la figure 1 C, un système informatique 100c est présenté, identique au système informatique 100a sauf que le code 104a du module programmable sur site 102a a été remplacé par le code 104f ayant un numéro de révision 122f. Comme le montre la figure 1C, le code 104f a été téléchargé à partir d'un site distant et installé dans le module programmable sur site 102a. Supposons à des fins d'exemple, que le code 104f est en fait compatible avec les modules interchangeables 108a-d et avec les codes de modules 2857115 - 15 - programmables sur site 102b-d installés sur le système, mais que la matrice de compatibilité de révisions 200a n'inclut aucun enregistrement indiquant que le code 104f est compatible avec le système. Si les techniques divulguées ci-dessus sont utilisées pour déterminer si le nouveau code 104f est compatible avec le reste du système 100c, le vérificateur de compatibilité 110 déterminera (de façon incorrecte) que le nouveau code 104f est incompatible avec le reste du système 100c. Le vérificateur de compatibilité 110 produira le mauvais résultat car il base sa détermination sur les informations contenues dans la matrice de compatibilité de révisions 200a qui, dans le présent exemple, n'est pas à jour. Des exemples de techniques vont maintenant être divulgués pour mettre à jour le contenu de la matrice de compatibilité de révisions 200a pour qu'elle contienne les informations sur la compatibilité du nouveau code 104f avec les autres composants du système 100c. Sur la figure 3, un diagramme est présenté concernant une méthode 300 utilisée dans une forme de réalisation de la présente invention pour mettre à jour la matrice de compatibilité de révisions 200a pour qu'elle inclue les informations sur la compatibilité du nouveau code 104f avec les autres composants du système 100c. Sur la figure ID, un système informatique 100d est présenté, identique aux systèmes informatiques 100a et 100c (figure 1C). Remarquez, toutefois, que sur la figure 1D, le nouveau code 104f n'a pas encore été installé dans le module programmable sur site 102a, et qu'un package de mise à jour 126 inclut à la fois le nouveau code 104f et une nouvelle matrice de compatibilité de révisions 200b incluant son propre numéro de révision 206b. La matrice de compatibilité de révisions 200b inclut les informations de compatibilité sur le nouveau code 104f. Notez que bien que la matrice de compatibilité de révisions 200b puisse être qualifiée ici de nouvelle matrice de compatibilité de révisions 200b, ceci n'implique pas nécessairement qu'elle a été créée plus récemment que la matrice de compatibilité de révisions 200a, mais plutôt simplement que la matrice de compatibilité de révisions 200b est nouvellement introduite dans le système informatique 100. Il en est de même pour le nouveau code 104f, qui est également appelé ici code de mise à jour . Sur la figure 2B, un exemple de contenu de la matrice de compatibilité 35 de révisions 200b est présenté selon une forme de réalisation de la présente 2857115 -16- invention. Dans l'exemple présenté sur la figure 2B, la nouvelle matrice de compatibilité de révisions 200b possède le même contenu que la matrice de compatibilité de révisions 200a existante sauf que la nouvelle matrice de compatibilité de révisions 200b inclut un enregistrement supplémentaire 212i répertoriant une formule compatible supplémentaire. Supposons que dans le présent exemple, le numéro de révision 122f du code de mise à jour 104f est égal à 3. Notez que la valeur de la colonne 214a (correspondant au logement de module programmable sur site 106a) de l'enregistrement 212i est égale à 3. Par conséquent, l'enregistrement 212i indique une combinaison particulière de révisions de codes de modules programmables sur site et de révisions de modules interchangeables avec lesquelles le code de mise à jour 104f est compatible. Notez que le système 100d inclut également un programme de mise à jour de la matrice de compatibilité de révisions 118. Le programme de mise à jour de la matrice de compatibilité de révisions 118 est responsable de la mise à jour de la matrice de compatibilité de révisions 200a en fonction du contenu du package de mise à jour 126 et de l'installation du code 104f dans le module programmable sur site 102a. Le programme de mise à jour de la matrice de compatibilité de révisions 118 peut effectuer une partie ou la totalité de la méthode 300. La méthode 300 reçoit une demande de mise à jour de code 114 à partir, par exemple, d'un utilisateur 116 du système 100d (étape 302). Bien que l'utilisateur 116 puisse faire la demande 114 de façon explicite, la demande 114 peut également être générée de façon implicite lorsque l'utilisateur 116 essaie d'installer le nouveau code 114f. Le programme de mise à jour de la matrice 118 peut, par exemple, être exécuté sur un processeur de gestion qui peut effectuer les étapes restantes de la méthode 300 de façon automatique en réponse à la tentative d'installation du code 104f par l'utilisateur. La méthode 300 obtient le numéro de version 206b de la matrice de compatibilité de révisions 200b du package de mise à jour 126 (étape 304) et le numéro de version 206a de la matrice de compatibilité de révisions 200a existante du système informatique 100d (étape 306). La méthode 300 détermine, en fonction du nouveau numéro de version 206b et de l'ancien numéro de version 206a, si la nouvelle matrice de compatibilité de révisions 200b est plus récente que la matrice de 2857115 - 17 - compatibilité de révisions 200a existante (étape 308). Comme décrit ci- dessus, les numéros de version 206a-b peuvent prendre l'une quelconque des diverses formes, comme les numéros de révision (par exemple, 1.0, 1.1, 2.0) ou les dates. Une date plus récente ou un numéro de révision supérieur peut être interprété par la méthode 300 comme indiquant une version plus récente. Si la méthode 300 détermine que la nouvelle matrice de compatibilité de révisions 200b est plus récente que la matrice de compatibilité de révisions 200a existante, la méthode 300 remplace la matrice de compatibilité de révisions 200a par la matrice de compatibilité de révisions 200b (étape 310). Sur la figure 1E, un système informatique 100e est présenté, identique au système informatique 100d sauf que la première matrice de compatibilité de révisions 200a a été remplacée par la seconde matrice de compatibilité de révisions 200b par le programme de mise à jour de la matrice de compatibilité de révisions 118 à l'étape 310. Comme cela est décrit plus en détail ci-dessous, la matrice de compatibilité de révisions 200a peut être mise à jour par l'intermédiaire d'autres moyens qui ne requièrent pas le remplacement de la matrice de compatibilité de révisions 200a entière. La méthode 300 installe le code 104f dans le module programmable sur site 102a (étape 312). Sur la figure IF, un système informatique 100f est présenté, identique au système informatique 100e sauf que le code 104e a été remplacé par le code de mise à jour 104f par la méthode 300 à l'étape 312. La méthode 300 détermine si le code nouvellement installé 104f est compatible avec les modules interchangeables 108a-d et les autres codes 104b-d du système 104f, en fonction des informations contenues dans la matrice de compatibilité de révisions 200b nouvellement installée (étape 314). Notez que même si la seconde matrice de compatibilité de révisions 200b inclut des informations de compatibilité pour le code nouvellement installé 104f, il peut arriver que ces informations de compatibilité indiquent que le code 104f est incompatible avec le reste du système 100f. Si la méthode 300 détermine que le code nouvellement installé 104f est compatible avec le reste du système 100f, la méthode 300 se termine (étape 318). Si la méthode 300 détermine que le code nouvellement installé 104f est incompatible avec le reste du système 100f, la méthode 300 peut avertir l'utilisateur 116 de l'incompatibilité, identifier et informer l'utilisateur 116 du code pouvant être installé dans le module programmable sur site 102a pour le 2857115 - 18 - rendre compatible avec le reste du système 100f et/ou installer automatiquement ce code compatible dans le module programmable sur site 102a (étape 316). La méthode 300 peut ensuite se terminer. Des techniques pouvant être utilisées pour mettre en oeuvre les étapes 314 et 316 sont décrites plus en détail dans la demande de brevet à laquelle il est précédemment fait référence intitulée Matrice de compatibilité des révisions de modules interchangeables et ne sont par conséquent pas décrites ici. Notez que la vérification de compatibilité de code effectuée à l'étape 314 peut également être effectuée à l'étape 304. Si cette vérification de compatibilité détermine que le code 104f est compatible avec le système 100f, le reste de la méthode 300 n'a pas besoin d'être effectué. Sur la figure 4, un diagramme est présenté concernant une méthode 400 utilisée dans une forme de réalisation de la présente invention pour mettre à jour la matrice de compatibilité de révisions 200a pour qu'elle inclue les informations indiquant que le code mis à jour 104f est compatible avec les autres composants du système 100. Cette méthode peut être utile lorsque, par exemple, l'utilisateur 116 sait indépendamment que le code 104f est compatible avec les composants du système 100, mais dans lequel il n'y a aucune matrice de compatibilité de révisions disponible indiquant la même chose. Sur la figure 1G, un système informatique 100g est présenté, dans lequel la méthode 400 peut être utilisée. Notez que dans l'exemple présenté sur la figure 1G, le code mis à jour 104f est fourni au système 100g indépendamment d'une matrice de compatibilité de révisions. La méthode 400 reçoit la demande de mise à jour de code 114 (étape 402) de la façon décrite ci-dessus pour l'étape 302 de la méthode 300 (figure 3). La méthode 400 reçoit une demande de mise à jour de la matrice de compatibilité de révisions 128 (étape 404). Le programme de mise à jour de la matrice de compatibilité de révisions 118 peut, par exemple, fournir à l'utilisateur 116 une interface utilisateur (non représentée) qui permet à l'utilisateur 116 de soumettre sa demande de mise à jour de la matrice de compatibilité de révisions 128 en indiquant que l'utilisateur 116 sait que le code 104f est compatible avec le système 100g et que la matrice de compatibilité de révisions 200a doit être mise à jour pour refléter ce fait. Éventuellement, la méthode 400 peut d'abord déterminer si le code 104f est compatible avec le système 100g (en utilisant, par exemple, les techniques 2857115 -19- décrites ci-dessous pour l'étape 314 de la méthode 300) avant d'inviter l'utilisateur 116 à soumettre sa demande de mise à jour de la matrice de compatibilité de révisions 128. Si une telle vérification de compatibilité détermine que le code 104f est compatible avec le système 100g, la demande de mise à jour de la matrice de compatibilité de révisions 128 n'a pas besoin d'être reçue et les étapes ultérieures de la méthode 400 n'ont pas besoin d'être effectuées. Si l'utilisateur 116 soumet une demande de mise à jour de la matrice de compatibilité de révisions 128, la méthode 400 met à jour la matrice de compatibilité de révisions 200a pour indiquer que le code de mise à jour 104f est compatible avec le système informatique 100h (étape 406). Des exemples de techniques particulières pouvant être utilisées pour effectuer l'étape 406 vont maintenant être décrites. La méthode 400 obtient le numéro de révision 122f du code de mise à jour 104f (étape 408). Supposons, pour le présent exemple, que le numéro de révision 122f est égal à 3. La méthode 400 obtient également les numéros de révisions des autres codes de modules programmables sur site 104b-d du système 100g (étape 410) et les numéros de révision des modules interchangeables 108a-d du système 100g (étape 412). Supposons, pour le présent exemple, que les numéros de révision des codes de modules programmables sur site 122b-d sont comme présentés dans les colonnes 214bd, respectivement, de l'enregistrement 212h (figure 2A) et que les numéros de révision des modules interchangeables 124a-d sont comme présentés dans les colonnes 214e-h, respectivement, de l'enregistrement 212h. La méthode 400 met à jour la matrice de compatibilité de révisions 200a pour qu'elle indique que le code 104f est compatible avec les autres composants du système 100g en créant un nouvel enregistrement de la matrice de compatibilité de révisions 130 (figure 1H) qui spécifie les numéros de révision obtenus aux étapes 406-410 (étape 414) et en ajoutant cet enregistrement 130 à la matrice de compatibilité de révisions 200a (étape 416). Selon les valeurs d'exemple des numéros de révision 122f, 122b-d et 124a-d décrits ci-dessus, le contenu de l'enregistrement 130 serait le même que le contenu de l'enregistrement 212i présenté sur le figure 2B. Dans le présent exemple, par conséquent, le contenu de la matrice de compatibilité de 2857115 - 20 - révisions 200a avec l'enregistrement 130 ajouté serait le même que le contenu de la matrice de compatibilité de révisions 200b présentée sur la figure 2B. Par conséquent, la matrice de compatibilité de révisions 200a indique que le code de mise à jour 104f est compatible avec le système 100g. La méthode 400 installe le code de mise à jour 104f dans le module programmable sur site 102a (étape 418) et se termine (étape 420). Sur la figure 1H, un système 100H est présenté, illustrant le résultat de la méthode 400. Quelques-uns des avantages de l'invention sont parmi les suivants. Pour les raisons décrites ci-dessus, un système informatique avec des caractéristiques automatiques de vérification de la compatibilité des modules interchangeables peut indiquer de façon incorrecte que le code de module programmable sur site nouvellement installé est incompatible avec le système informatique. Un avantage des techniques divulguées ici est qu'elles peuvent être utilisées pour permettre la mise à jour de code de module programmable sur site dans ce type de système informatique sans que celui-ci n'indique de façon incorrecte que le code de module programmable sur site mis à jour est incompatible avec le système informatique. Ceci permet de mettre à jour le code de module programmable sur site facilement et efficacement sans troubler l'opérateur système avec de faux messages d'erreur. En outre, le fait de fournir les informations de mise à jour de la matrice de compatibilité de révisions et le code de mise à jour dans un seul package de mise à jour (comme présenté sur les figures 1D-1F) permet de simplifier et d'automatiser davantage le processus de mise à jour de la matrice de compatibilité de révisions 200a. Par exemple, un avantage d'un tel package de mise à jour intégré est que l'utilisateur 116 n'a plus besoin d'identifier séparément et/ou de se procurer les informations de mise à jour de la matrice de compatibilité de révisions correspondant au code de mise à jour 104f. Au lieu de cela, l'utilisateur 116 peut simplement identifier/télécharger le package de mise à jour 126 et soumettre la demande de mise à jour de code 114 au programme de mise à jour de la matrice de compatibilité de révisions 118. Le programme de mise à jour de la matrice de compatibilité de révisions 118 peut ensuite installer le code 104f dans le module programmable sur site 102a et mettre à jour la matrice de compatibilité 200a à l'aide des informations contenues dans le package de mise à jour 126 sans intervention ultérieure de l'utilisateur 116. 2857115 -21 - Il doit être entendu que bien que l'invention ait été décrite ci-dessus dans des conditions de formes de réalisation particulières, les formes de réalisation susdites sont fournies en tant qu'illustrations seulement et ne limitent pas ni ne définissent la portée de l'invention. Plusieurs autres formes de réalisation, y compris les suivantes, mais ne s'y limitant pas, sont également comprises dans le champ d'application des revendications. Les éléments et composants décrits ici peuvent encore être divisés en composants supplémentaires ou rassemblés pour former moins de composants pour exécuter les mêmes fonctions. Bien que les matrices de compatibilité de révisions 200a-b soient illustrées dans les figures 2A-2B en tant que matrices à deux dimensions, ceci ne constitue pas une limitation de la présente invention. Les matrices de compatibilité de révisions 200a-b peuvent plutôt être mises en oeuvre sous forme de toute structure de données appropriée et peuvent, par conséquent, être considérées plus généralement comme des descripteurs de compatibilité de révisions qui décrivent la compatibilité des divers codes de modules programmables sur site les uns avec les autres. Par exemple, bien que les matrices de compatibilité de révisions particulières 200a-b présentées sur les figures 2A-2B répertorient des ensembles complets de modules interchangeables et de codes de modules programmables sur site mutuellement compatibles, les matrices de compatibilité de révisions 200a-b peuvent, par exemple, indiquer des paires, des triplets ou autres combinaisons de modules interchangeables et de codes de modules programmables sur site mutuellement compatibles qui ne spécifient pas une formule complète. Bien que les formes de réalisation particulières des matrices de compatibilité de révisions 200a-b présentées sur les figures 2A-2B utilisent des numéros de révision sous forme de nombres entiers pour identifier les modules interchangeables et les codes de modules programmables sur site, ceci ne constitue pas une limitation de la présente invention. Au contraire, tout type d'informations d'identification peut être utilisé pour spécifier des modules interchangeables et des codes de modules programmables sur site particuliers et pour déterminer si deux instances particulières de modules interchangeables et de codes de modules programmables sur site sont identiques ou différentes l'une de l'autre. Par exemple, les bits dans les ensembles de codes de modules programmables sur site peuvent être comparés directement les uns aux autres 2857115 - 22 - pour déterminer s'ils sont identiques, ainsi il n'est plus nécessaire d'utiliser des numéros de révision distincts ou autres informations d'identification. Les matrices de compatibilité de révisions 200a-b peuvent éventuellement être stockées de façon permanente dans le système informatique 100. Par exemple, les matrices de compatibilité de révisions 200a-b peuvent être téléchargeables à partir d'un emplacement distant vers le système informatique 100 à l'aide de techniques qui sont bien connues de l'homme du métier. Les matrices 200a-b peuvent être utilisées pour exécuter les fonctions divulguées ici et supprimées lorsqu'elles deviennent inutiles. Les systèmes informatiques appropriés pour une utilisation dans les formes de réalisation de la présente invention peuvent inclure un nombre quelconque de modules programmables sur site et/ou de modules interchangeables dans toutes les combinaisons. Un module interchangeable peut inclure zéro ou plusieurs modules programmables sur site. En outre, bien que les modules programmables sur site 102a-e illustrés sur les figures 1A-1H soient présentés comme des sous-composants distincts des modules interchangeables 108a-e, respectivement, ceci ne constitue pas une condition requise de la présente invention. Au lieu de cela, un module interchangeable peut lui-même être un module programmable sur site contenant son propre code. La seconde matrice de compatibilité de révisions 200b ne doit pas nécessairement être une matrice de compatibilité de révisions complète spécifiant toutes les combinaisons compatibles des révisions de modules interchangeables et des révisions de codes de modules programmables sur site. Au lieu de cela, la seconde matrice de compatibilité de révisions 200b peut, par exemple, inclure seulement les enregistrements spécifiant la compatibilité du code de mise à jour 104f avec diverses révisions des modules interchangeables et révisions des codes de modules programmables sur site. Dans ce cas, la matrice de compatibilité de révisions 200b du package de mise à jour 126 peut être fusionnée ou ajoutée à la matrice de compatibilité de révisions 200a existante, plutôt qu'utilisée pour remplacer la matrice de compatibilité de révisions 200a existante. Les techniques décrites ci-dessus (par exemple, le programme de mise à jour de la matrice de compatibilité de révisions 118, les matrices de compatibilité de révisions 200a-b et le vérificateur de compatibilité 110) 2857115 - 23 - peuvent être mises en oeuvre, par exemple, dans du matériel, des logiciels, des progiciels ou l'une quelconque de leurs combinaisons. Les techniques décrites ci-dessus peuvent être mises en oeuvre dans un ou plusieurs programmes informatiques s'exécutant sur un ordinateur programmable incluant un processeur, un support de mémoire lisible par le processeur (incluant, par exemple, la mémoire temporaire et permanente et/ou des éléments de stockage), au moins un périphérique d'entrée et au moins un périphérique de sortie. Le code de programme peut être appliqué à l'entrée fournie à l'aide du périphérique d'entrée pour effectuer les fonctions décrites et pour générer la sortie. La sortie peut être fournie à un ou plusieurs périphériques de sortie. Chaque programme informatique entrant dans le champ d'application des revendications ci-dessous peut être mis en oeuvre dans tout langage de programmation, tel que le langage d'assemblage, le langage machine, un langage de programmation procédural de haut niveau ou un langage de programmation orienté objet. Le langage de programmation peut, par exemple, être un langage de programmation compilé ou interprété. Chacun de ces programmes informatiques peut être mis en oeuvre dans un produit de programme informatique incorporé de façon tangible dans unemémoire assimilable par machine pour être exécuté par un processeur informatique. Les étapes méthodologiques de l'invention peuvent être effectuées par un processeur informatique exécutant un programme incorporé de façon tangible sur un support assimilable par machine pour exécuter les fonctions de l'invention en fonctionnant d'après l'entrée et en générant la sortie. Des processeurs appropriés incluent, par exemple, à la fois des microprocesseurs universels et spécialisés. Généralement, le processeur reçoit des instructions et des données d'une mémoire en lecture seule et/ou d'une mémoire RAM. Des périphériques de stockage appropriés pour incorporer de façon tangible les instructions de programme informatique incluent, par exemple, toutes les formes de mémoire permanente, telles que les périphériques de mémoire à semi- conducteur, dont la mémoire morte programmable électriquement, la mémoire morte à reprogrammation électrique et les périphériques de mémoire flash; les disques magnétiques tels que les disques durs internes et les disques amovibles; les disques magnétooptiques; et les CD-ROM. Tous ces périphériques peuvent être complétés ou incorporés dans des circuits intégrés à application spécifique spécialement 2857115 - 24 - conçus. Un ordinateur peut généralement recevoir également des programmes et des données d'un support de stockage tel qu'un disque interne (non représenté) ou un disque amovible. Ces éléments seront également trouvés dans un ordinateur de bureau classique ou une station de travail ainsi que dans d'autres ordinateurs appropriés pour l'exécution des programmes informatiques mettant en oeuvre les méthodes décrites ici, qui peuvent être utilisées conjointement à tout coeur d'impression numérique ou moteur de marquage, moniteur ou autre périphérique de sortie rastré capable de produire des pixels de couleur et d'échelle de gris sur du papier, du film, un écran ou autre support de sortie. Les revendications sont les suivantes: 15 20 25 30 - 25 - REVENDICATIONS 1. Procédé mis en oeuvre par ordinateur (300) dans un système informatique (100d) incluant un premier descripteur de compatibilité de révisions (200a) identifiant une première pluralité de combinaisons compatibles de codes de modules programmables sur site, caractérisé en ce qu'il comprend les étapes consistant à : (A) déterminer (314) si le premier descripteur de compatibilité de révisions (200a) identifie le premier code de module programmable sur site (104f) pour une utilisation dans un premier module programmable sur site (102a) comme compatible avec le système informatique (100d) ; et (B) si le premier descripteur de compatibilité de révisions (200a) n'identifie pas le premier code de module programmable sur site (102a) comme compatible avec le système informatique (100d), effectuer une étape de mise à jour (310) du descripteur de compatibilité de révisions (200a) pour qu'il identifie le premier code de module programmable sur site (104f) comme compatible avec le système informatique (100d). 2. Procédé de la revendication 1 dans lequel l'étape (B) comprend les étapes consistant à : (B) (1) identifier (304) un second descripteur de compatibilité de révisions (200b) identifiant une seconde pluralité de combinaisons compatibles de codes de modules programmables sur site incluant le premier code de module programmable sur site (104f) ; et (B) (2) remplacer (310) le premier descripteur de compatibilité de révisions (200a) par le second descripteur de compatibilité de révisions (200b). 3. Procédé de la revendication 1, dans lequel le premier module programmable sur site (102a) comprend un module interchangeable. 4. Procédé de la revendication 1, comprenant également une étape consistant à : 2857115 -26- (C) obtenir un package de mise à jour (126) incluant le premier code de module programmable sur site (104f) et un code de mise à jour (200b) spécifiant une première combinaison compatible de codes de modules programmables sur site incluant le premier code de module programmable sur site (1040; dans lequel l'étape consistant à mettre à jour le premier descripteur de compatibilité de révisions (200a) comprend une étape consistant à mettre à jour le premier descripteur de compatibilité de révisions (200a) en fonction du code de mise à jour (200b) du package de mise à jour (126). 5. Dispositif périphérique dans un système informatique (100d) incluant un premier descripteur de compatibilité de révisions (200a) identifiant une première pluralité de combinaisons compatibles de codes de modules programmables sur site, caractérisé en ce qu'il comprend: des moyens de détermination (110) pour déterminer si le premier descripteur de compatibilité de révisions (200a) identifie le premier code de module programmable sur site (1040 pour une utilisation dans un premier module programmable sur site (102a) comme compatible avec le système informatique (100d) ; et des moyens de mise à jour (118) pour mettre à jour le premier descripteur de compatibilité de révisions (200a) pour qu'il identifie le premier code de module programmable sur site (1040 comme compatible avec le système informatique (100d) si le premier descripteur de compatibilité de révisions (200a) n'identifie pas le premier code de module programmable sur site (104f) comme compatible avec le système informatique (100d). 6. Support de mémoire lisible par un ordinateur dans un système informatique (100d) incluant un premier descripteur de compatibilité de révisions (200a) identifiant une première pluralité de combinaisons compatibles de codes de modules programmables sur site, caractérisé en ce qu'il incorpore de façon tangible des instructions de programme exécutables par l'ordinateur pour effectuer les étapes méthodologiques consistant à : (A) déterminer si le premier descripteur de compatibilité de révisions (200a) identifie le premier code de module programmable sur site (104f) pour une utilisation dans un premier module programmable sur site (102a) comme compatible avec le système informatique (100d) ; et 2857115 -27- (B) si le premier descripteur de compatibilité de révisions (200a) n'identifie pas le premier code de module programmable sur site (104f) comme compatible avec le système informatique (100d), effectuer une étape de mise à jour du descripteur de compatibilité de révisions (200a) pour qu'il identifie le premier code de module programmable sur site (104f) comme compatible avec le système informatique (100d). 7. Procédé mis en oeuvre par ordinateur dans un système informatique (100d) incluant un premier descripteur de compatibilité de révisions (200a) identifiant une première pluralité de combinaisons compatibles de codes de modules programmables sur site, caractérisé en ce qu'il comprend les étapes consistant à : (A) recevoir (304) un package de mise à jour (126) comprenant un premier code de module programmable sur site (104f) approprié pour une utilisation dans un premier module programmable sur site (102a) et un code de mise à jour (200b) spécifiant une première combinaison compatible de codes de modules programmables sur site incluant le premier code de module programmable sur site (104f) ; et (B) mettre à jour (310) le premier descripteur de compatibilité de révisions (200a) pour qu'il inclue la première combinaison compatible de codes de modules programmables sur site. 8. Dispositif périphérique dans un système informatique (100d) incluant un premier descripteur de compatibilité de révisions (200a) identifiant une 25 première pluralité de combinaisons compatibles de codes de modules programmables sur site, caractérisé en ce qu'il comprend: des moyens de réception (118) pour recevoir un package de mise à jour (126) comprenant le premier code de module programmable sur site (104f) approprié pour une utilisation dans un premier module programmable sur site (102a) et un code de mise à jour (200b) spécifiant une première combinaison compatible de codes de modules programmables sur site incluant le premier code de module programmable sur site; et des moyens de mise à jour (118) pour mettre à jour le premier descripteur de compatibilité de révisions (200a) pour qu'il inclue la première 35 combinaison compatible de codes de modules programmables sur site.