Brevet FR2616244A1 — publié le 19881209

1. La présente invention concerne un système pour traiter des données en utilisant un langage logique et, plus particulièrement, un système pour exécuter un pro- gramme en logique. La figure 4 est une vue ayant pour objet d'expli- quer un procédé de l'art antérieur. Dans la figure, la référence 1 désigne un processeur, qui comprend un pro- cesseur de programme en logique 2 et un programme 3 appli- qué par programme en logique comportant des bases de don- nées de description 4 assemblées intérieurement. La figu- re 5 représente un exemple du programme appliqué par pro- gramme en logique, représenté en figure 4. Dans la figure, les références Fl à F12 sont des bases de données de faits- descriptifs. Si l'on prend par exemple la base Fl, elle prévoit la couleur et exprime le fait que la couleur d'une pomme est rouge. Les références Rl et R2 sont des bases de données de règles de description. Dans la base de données Rl, par exemple, sa règle selon laquelle Taro aime X exprimera que "Taro aime la couleur rouge" de X représente la couleur rouge. Il est bien connu dans la 2616244 ' 2. technique qu'un procédé de traitement des données afin de déterminer une variable K en entrant dans un tel program- me appliqué par programme en logique une question sous la forme ? - aime (Hanako, K), signifiant "Ce qu'Hanako aime est demandé", peut être exécuté en sortant le programme 3 appliqué par programme en logique dans l'ordre de l'agen- cement par unification de la tête de la variable et traitement de liste dans l'ordre inverse jusqu'à l'endroit du succès imrédiatement précé- dent au noment de l'apparition d'une défaillance.Par conséquent, ce !3 procédé ne sera pas décrit en détail. Dans le processeur 2 de programme en logique, les prédicats EXECUTION/Program- me en logique et autres prédicats assemblés sont préparés pour la commande de l'exécution du programme 3 appliqué par programme en logique. Dans le procédé ci-dessus de l'art antérieur, les bases de données de description 4 sont assemblées dans le programme 3 en les utilisant, et le programme 3 est cons- truit intégralement avec le processeur 2. Par conséquent, il est difficile de former un grand programme. Si un grand programme peut être divisé fonctionnellement en une multitude de blocs, il peut être formé facilement en le scindant en une multitude de modules, et il peut de plus être facilement vérifié. Cependant, cela peut ne pas être réalisable avec le procédé de l'art antérieur. La présente invention a pour objet un système qui puisse facilement former un grand programme consti- tué d'une multitude de modules. Selon la présente invention, la même base de don- nées de description peut être utilisée communément par dif- férents processeurs de programme en logique. La présente invention sera bien comprise lors de la description suivante faite en liaison avec les des- sins ci-joints dans lesquels: La figure 1 est un schéma sous forme de blocs d'un mode de réalisation de la présente invention; 3. La figure 2 est un organigramme décrivant le fonctionnement des processeurs 12 et 22 de programme en logique représentés en figure 1; La figure 3 est une vue-représentant un exem- pie des programmes 13 eta23 appliqués par programme en logique et des bases de données communes 30 illustrés en figure 1; La figure 4 est un schéma sous forme de blocs d'un procédé de l'art antérieur; et La figure 5 est une vue d'un exemple d'un pro- gramme 3 appliqué par programme en logique, illustré en figure 4. On décrira maintenant, en liaison avec les dessins, un mode de réalisation préféré de la présente invention. Dans les figures, la référence 11 désigne un processeur pour une tâche A, et la référence 21 un processeur pour une tâche B. Les processeurs 11 et 21 comprennent, respec- tivement, des processeurs de programme en logique 12 et 22, des programmes 13 et 23 appliqués par programme en lo- gique et des bases de données de description exclusives 14 et 24. La référence 30 désigne une base de données de des- cription qui est communément utilisée. La base 30 comprend intérieurement une table de contrôle 31 pouvant être accédée communément à partir des programmes 13 et 23 et une zone de pile 32. La base commune 30 de données de description comporte au moins soit des bases de données de règles soit des bases de données de faits, les bases de don- nées de règles exprimant des règles générales, des régula- tions et des lois fondamentales, les bases de données de faits exprimant des faits généraux. Dans la base commune 30 de données de descrip- tion, un pointeur est stocké dans la zone 32 car il est renouvelé progressivement. Les processeurs 11 et 21 peuvent être identiques 4. en matière de matériel, mais différents quant à leur tâ- che. Dans ce cas, les programmes 13 et 23 appliqués par programme en logique peuvent accéder à la base 30 de don- nées de description en copiant la donnée dans la table de contrôle 31 dans leurs mémoires principales. Parmi les prédicats dans les programmes 13 et 23, ceux qui nécessitent un accès à la base commune 30 de données de description sont distingués des autres en ajoutant un symbole spédial, par exemple un symbole "-" devant leur nom. La figure 2 est un organigramme représentant un traitement de prédicat dans les processeurs 12 et 22. Le traitement comprend des étapes 40 à 45. Dans l'étape 42, un contrôle est effectué pour savoir s'il y a un symbole "-" indiquant que le prédicat vérifié est un pré- dicat commun. Si le résultat du contrôle est "non", la base de données de description exclusives 14 ou 24 est utilisée. Le fonctionnement dans ce cas est le même que dans le pro- cédé de l'art antérieur. Si le résultat du contrôle effec- tué dans l'étape 42 est "oui", la base commune 30 de don- nées de description est accédée dans l'étape 44. L'accès à la base 30 signifie un "collage" du pointeur dans le cas des processeurs de programme en logi- que. Les pointeurs représentatifs de relations parmi les règles et les faits dans la base de données 30 sont sto- ckés dans un espace mémoire prédéterminé. L'agencement des règles et des faits est illustré sous forme d'une lis- te de donnée dans la table de contrôle 31, et les poin- teurs sont stockés dans la zone de pile 32 dans un système de programme récupérateur. La figure 3 illustre un exemple de base de don- nées 30 (du type "faits" dans le cas présent) et des programmes 13 et 23 représentés en figure 1. Dans la figu- re, les mêmes numéros de référence désignent des mêmes parties qu'en figure 1. Dans ce cas, la base de données 30 b. dans laquelle le nom (seul le prénom est indiqué pour simplifier), le sexe et l'âge des membres sont mémorisés, est utilisée communément pour l'exploitation d'une liste de membres masculins (programme A) et le calcul des payes standard de tous les membres si la paye standard est dé- terminée seulement par le sexe et l'âge (programme B) Dans le mode de réalisation illustré en figu- re 1, une base commune de données est accédée à partir de deux programmes. Cependant, la présente invention n'est aucunement limitée par le nombre des bases de don- nées communes et le nombre des programmes. Comme on vient de le décrire, selon la présente invention, on prévoit une base commune de données de des- cription pouvant être généralement accédée à partir d'une multitude de processeurs différents de programmes en logi- que, dans un système usuel de langage de programme en lo- gique. Ainsi, il est possible de former un programme ap- pliqué par programme en logique à grande échelle, tout en conservant les avantages du langage du programme en logique. La présente invention n'est pas limitée aux exem- ples de réalisation qui viennent d'être décrits, elle-est au contraire susceptible de modifications et de variantes qui apparaîtront à l'homme de l'art. 6. REVENDICATIONS 1 - Système pour traiter des données en utili- sant un langage logique par formation d'un programme ap- pliqué par langage en logique utilisant une base de don- nées de faits de description et une base de données de règles de description, par entrée-d'une question descrip- tive par rapport au programre appliqué par progranme logique et exécu- tion de procédés d'unification et de traiteLent de liste dans l'ordre inverse, caractérisé en ce qu'il comprend: 139 - un stade de formation et de stockage d'une base commune de données de description (30) devant être uti- lisée communément par une multitude de programmes diffé- rents appliqués par programme en logique (13; 23); - un stade ayant pour effet de provoquer que chacun des programmes appliqués par programme en logique stocke chacun des prédicats nécessitant un accès à la base commune de données de description en ajoutant un symbo- le représentatif d'un prédicat commun; et - un stade ayant pour effet de provoquer l'accès à la base commune de données de description lorsqu'un pré- dicat avec ledit symbole représentatif d'un prédicat com- mun est sorti lors de l'exécution de chaque programme appliqué par programme en logique. 2 - Système selon la revendication 1, caractéri- sé en ce que la base commune de données de description com- porte une zone de pile (32) dans un espace mémoire. 3 - Systeme selon la revendication 1, caractéri- sé en ce que la base commune de données de description comporte une table de contrôle (31); cette table est copiée dans une mémoire principale de programme appliqué par pro- gramme en logique lorsque ce programme utilise la base commune de données de description, et cette base de données est accédée en conformité avec la table de contrôle co- piée. 4 - Système selon la revendication 1, 7. caractérisé en ce que la base commune de données de des- cription est stockée progressivement dans une. zone de pile (32) avec renouvellement progressif d'un poin- teur. 5 - Système selon la revendication 1, caracté- risé en ce que le symbole représentatif d'un prédicat com- mun est le symbole "-". 6 - Système selon la revendication 1, caractéri- sé en ce que la base commune de données de description est constituée d'une base de données de faits qui exprime des faits. 7 - Système selon la revendication 1, caractéri- sé en ce que la base commune de données de description est constituée de bases de données de règle qui exprime des règles générales. 8 - Système selon la revendication 1, caractéri- sé en ce que la base commune de données est constituée à la fois de bases de données de faits et de bases de don- nées de règles.