NL194520C - Expert system based on regulations. - Google Patents

Expert system based on regulations. Download PDF

Info

Publication number
NL194520C
NL194520C NL8900588A NL8900588A NL194520C NL 194520 C NL194520 C NL 194520C NL 8900588 A NL8900588 A NL 8900588A NL 8900588 A NL8900588 A NL 8900588A NL 194520 C NL194520 C NL 194520C
Authority
NL
Netherlands
Prior art keywords
prescription
memory
memory means
address
instruction
Prior art date
Application number
NL8900588A
Other languages
Dutch (nl)
Other versions
NL194520B (en
NL8900588A (en
Original Assignee
Ricoh Kk
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Kk filed Critical Ricoh Kk
Publication of NL8900588A publication Critical patent/NL8900588A/en
Publication of NL194520B publication Critical patent/NL194520B/en
Application granted granted Critical
Publication of NL194520C publication Critical patent/NL194520C/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems

Description

1 1945201 194520

Op voorschriften gebaseerd expertsysteemExpert system based on regulations

Deze uitvinding heeft betrekking op een, op voorschriften gebaseerd expertsysteem, en meer in het bijzonder op een schakelingstechnisch geïmplementeerd op voorschriften gebaseerd expertsysteem, 5 geschikt voor het met hoge snelheid uitvoeren van deducties in kunstmatige intelligentie-applicaties.This invention relates to a rule-based expert system, and more particularly to a circuit-based, rule-based expert system suitable for performing deductions in artificial intelligence applications at high speed.

Uit het artikel ’’VOSS-VHSIC Hosted Expert System” van M. Plutowski, gepubliceerd in "Proceedings of the IEEE 1986 National Aerospace and Electronics Conference NAECON 1986, deel 4, 19 mei 1986 Dayton, OH USA, is een dergelijk, op voorschriften gebaseerd, expertsysteem bekend. Het beschreven expertsysteem omvat een geïntegreerd hardware software-ontwerp dat toestaat berekeningsintensieve en 10 geheugenintensieve toepassingen van een expertsysteem uit te voeren in dit systeem.From the article "VOSS-VHSIC Hosted Expert System" by M. Plutowski, published in "Proceedings of the IEEE 1986 National Aerospace and Electronics Conference NAECON 1986, part 4, May 19, 1986 Dayton, OH USA, is such, by prescriptions based expert system known The expert system described comprises an integrated hardware software design that allows calculation-intensive and memory-intensive applications of an expert system to be implemented in this system.

Expertsystemen omvatten een klasse van computerprogramma’s met kunstmatige intelligentietechnologie voor het aanpakken van problemen waarvoor normaliter menselijke experts of specialisten nodig zouden zijn. In een op voorschriften gebaseerd expertsysteem wordt de kennis van een expert op een specifiek toepassingsgebied in de vorm van een reeks van voorschriften ’’productievoorschriften” gerepresenteerd. Bij 15 het werken met een typisch expertsysteem voedt de gebruiker, via een geschikte gebruikersinterface, het expertsysteem met bepaalde bekende informatie over een specifiek probleem, en past het expertsysteem de productievoorschriften op deze bekende informatie toe, voor het deduceren van feiten en het oplossen van problemen welke relevant zijn voor het toepassingsgebied.Expert systems include a class of computer programs with artificial intelligence technology to address problems that would normally require human experts or specialists. In a rules-based expert system, the knowledge of an expert in a specific field of application is represented in the form of a set of rules "production rules". When working with a typical expert system, the user, through a suitable user interface, feeds the expert system with certain known information about a specific problem, and the expert system applies the production rules to this known information, for deducing facts and solving problems which are relevant to the scope.

De Europese octrooiaanvrage EP 0166 251 onthult een dergelijk expertsysteem dat een deductie-20 systeem en bijbehorende werkwijze omvat waarbij kennistechnologieën, zoals ”productievoorschriften”of "productiekaders” worden toegepast.European patent application EP 0166 251 discloses such an expert system which comprises a deduction system and associated method in which knowledge technologies such as "production rules" or "production frameworks" are applied.

In het artikel "Rule-Based Systems” van Hayes-Roth, gepubliceerd in "Communications of the Associa-tion for Computing machinery", deel 28, nummer 9, september 1985, New York, USA, blz. 921-932, wordt een algemeen overzicht gepresenteerd van op voorschriften gebaseerde expertsystemen en hun toepassin· 25 gen.In the "Rule-Based Systems" article by Hayes-Roth, published in "Communications of the Association for Computing Machinery," Part 28, Number 9, September 1985, New York, USA, pages 921-932, a general overview of regulatory based expert systems and their applications.

Voorts wordt in dit artikel uitgebreid ingegaan op de karakteristieke eigenschappen van dergelijk op voorschriften gebaseerde expertsystemen.Furthermore, this article extensively examines the characteristic features of such expert-based expert systems.

Voor verdere achtergrondinformatie met betrekking tot expertsystemen wordt verwezen naar de volgende artikelen: Robert H. Michaelsen, et al., 'The Technology of Expert Systems", Byte Magazine, april 1985, blz. 30 308-312; Bevely A. Thompson, et al., "Inside an Expert System”, Byte Magazine, april 1985, blz. 315-330; Michael F. Deering, "Architectures for ΑΓ, Byte Magazine, april 1985, blz. 193-206.For further background information regarding expert systems, reference is made to the following articles: Robert H. Michaelsen, et al., "The Technology of Expert Systems", Byte Magazine, April 1985, pages 30 308-312; Bevely A. Thompson, et. al., "Inside an Expert System," Byte Magazine, April 1985, pp. 315-330; Michael F. Deering, "Architectures for ΑΓ, Byte Magazine, April 1985, pp. 193-206.

Voor een aantal toepassingsgebieden zijn succesvolle expertsystemen ontwikkeld: voor het maken van medische diagnoses, voor het identificeren van organische mengsels, voor het selecteren van boorolie-suspensies, enz. Bovendien is een aantal toepassings-onafhankelijke expertsystemen in programmatuur-35 vorm ontwikkeld, voor het ondersteunen van het opbouwen van op voorschriften gebaseerde expertsystemen voor specifieke toepassingsgebieden. In de bovengenoemde artikelen van Michaelsen, et al. Thompson, et al., en Deering zijn een aantal commercieel beschikbare expertsysteemgereedschappen beschreven. Deze expertsystemen en expertsysteemgereedschappen zijn typisch in de vorm van computerprogramma’s ontworpen, om op een computer voor algemene doeleinden of een microcomputer te 40 draaien. Het computerprogramma verschaft een interactieve sessie tussen de gebruiker en het expertsysteem waarin het expertsysteem vragen aan de gebruiker stelt, en voor het oplossen van problemen en voor het verschaffen van advies aan de gebruiker zijn expertkennis-informatiebank gebruikt.Successful expert systems have been developed for a number of application areas: for making medical diagnoses, for identifying organic mixtures, for selecting drilling oil suspensions, etc. In addition, a number of application independent expert systems have been developed in software form, for supporting the building of regulatory based expert systems for specific application areas. In the aforementioned articles by Michaelsen, et al. Thompson, et al., And Deering, a number of commercially available expert system tools are described. These expert systems and expert system tools are typically designed in the form of computer programs to run on a general purpose computer or a microcomputer. The computer program provides an interactive session between the user and the expert system in which the expert system asks questions to the user, and uses expert knowledge database to solve problems and provide advice to the user.

Er bestaat een aanzienlijke belangstelling voor het uitbreiden van de toepassing van expertsystemen naar andere praktische toepassingen en in het bijzonder in het ontwikkelen van expertsystemen welke 45 geschikt zijn om in ware-tijdapplicaties te gebruiken. Deze systemen zouden bijvoorbeeld nuttig kunnen zijn als stuursysteem voor verschillende toepassingen, zoals vervaardigingsprocessen, procesbesturing, geleidingssystemen, robotica, etc. Een ernstige beperking bij het ontwikkelen van ingewikkelde, ware-tijd kunstmatige intelligentiesystemen ("artificial intelligence (Al)systems”) vormt echter de rekensnelheid. Om effectief praktisch gebruik van de kunstmatige intelligentietechnologie te kunnen maken dienen de efficiency 50 en rekensnelheid te worden verhoogd.There is considerable interest in extending the application of expert systems to other practical applications and in particular in developing expert systems which are suitable for use in real-time applications. These systems could, for example, be useful as a control system for various applications, such as manufacturing processes, process control, guidance systems, robotics, etc. However, a serious limitation in the development of complicated, real-time artificial intelligence systems ("artificial intelligence (Al) systems") the calculation speed.To make effective practical use of artificial intelligence technology, the efficiency 50 and calculation speed must be increased.

Er zijn belangrijke inspanningen gedaan om de snelheid van de Al-verwerking te verbeteren door de in Al-verwerking gebruikte programmatuurgereedschappen, zoals de Al-talen, te verbeteren en te stroomlijnen. Er is ook ingezien dat kwaliteitsverbeteringen door op maat gemaakte schakelingen kunnen worden bereikt, in het bijzonder ontworpen voor kunstmatige intelligentieverwerking. Zoals aangegeven in het bovenge-55 noemde artikel van Deering, omvatte een benadering ten aahzien van schakelingstechnische architecturele verbeteringen verfijningen in de instructieset van de processor, om een snellere werking van de processor mogelijk te maken. Er is ook aandacht besteed aan het ontwikkelen van parallelverwerkingsarchitecturen, 194520 2 waarmee het mogelijk zou kunnen zijn om de Al-berekeningen parallel uit te voeren. Het artikel merkt ook op dat op maat gemaakte VLSI-schakelingen zouden kunnen worden toegepast voor het versnellen van specifieke operaties zoals vergelijkingen, het ophalen van instructies, parallelprocessorcommunicatie en signaal-naar-symbool-verwerking.Significant efforts have been made to improve the speed of Al processing by improving and streamlining software tools used in Al processing, such as the Al languages. It has also been recognized that quality improvements can be achieved through bespoke circuits, especially designed for artificial intelligence processing. As indicated in the above-mentioned Deering article, an approach to circuit engineering architectural enhancements included refinements in the processor instruction set to enable faster operation of the processor. Attention was also paid to the development of parallel processing architectures, 194520 2, with which it could be possible to perform the Al calculations in parallel. The article also notes that customized VLSI circuits could be used to speed up specific operations such as comparisons, retrieval of instructions, parallel processor communication and signal-to-symbol processing.

5 Een belangrijke doelstelling van de onderhavige uitvinding is het verbeteren van de snelheid en de efficiency van op voorschrift gebaseerde expertsystemen door het verschaffen van een schakelings-technisch geïmplementeerde deductiemachine. Meer in het bijzonder verschaft de onderhavige uitvinding een toepassingsgerichte geïntegreerde schakeling welke speciaal voor het met hoge snelheid uitvoeren van deducties voor een op voorschriften gebaseerd expertsysteem is ontworpen.An important object of the present invention is to improve the speed and efficiency of prescription-based expert systems by providing a circuit-technically implemented deduction machine. More specifically, the present invention provides a dedicated integrated circuit that has been specially designed for performing high-speed deductions for a regulation-based expert system.

10 De onderhavige uitvinding heeft betrekking op een hardware-geïmplementeerde op voorschriften gebaseerde expertsysteeminrichting voor het uitvoeren van deducties met hoge snelheid gebaseerd op een voorschriftenset voor een toepassingsgebied, omvattend: toegewezen werkgeheugenmiddelen voor het opslaan daarin van feiten betrekking hebbend op het toepassingengebied; 15 toegewezen voorschrift-geheugenmiddelen voor het opslaan daarin van de voorschriftenset voor het toepassingsgebied, omvattend een reeks instructies die ieder een conditie of een actie definiëren; logische middelen; een eerste communicatiebus die een de werkgeheugenmiddelen communicatief verbindt met de logische middelen; 20 een tweede communicatiebus die communicatief is verbonden met de voorschriftgeheugenmiddelen; welke logische middelen toegewezen middelen omvatten voor het achtereenvolgens uitvoeren van de instructies in de voorschriftgeheugenmiddelen welke zijn verkregen via de tweede communicatiebus, met verwijzing naar de opgeslagen feiten in de werkgeheugenmiddelen zoals verkregen via de eerste communicatiebus, teneinde daardoor nieuwe feiten te deduceren, en waarin ten minste een van de 25 genoemde instructies voor elk voorschrift een conditie representeert waaraan moet worden voldaan door de feiten van een gegeven probleem en omvattend: (i) een bewerkingscode die een logische uit te voeren bewerking definieert; (ii) een eerste operand die een eerste, door de logische bewerking te vergelijken waarde definieert; en (iü) een tweede operand die het adres in het werkgeheugen definieert, dat een tweede, door de logische 30 bewerking te vergelijken waarde bevat.The present invention relates to a hardware-implemented rule-based expert system device for performing high-speed deductions based on a prescription set for an application area, comprising: allocated working memory means for storing therein relating to the application area; 15 dedicated prescription memory means for storing therein the prescription set for the scope, comprising a series of instructions each defining a condition or an action; logical means; a first communication bus communicatively connecting the working memory means to the logic means; 20 a second communication bus which is communicatively connected to the prescription memory means; which logical means comprises allocated means for successively executing the instructions in the prescription memory means obtained via the second communication bus, with reference to the stored facts in the working memory means as obtained via the first communication bus, thereby thereby deducing new facts, and wherein at least one of said instructions represents for each rule a condition to be met by the facts of a given problem and comprising: (i) an operation code defining a logical operation to be performed; (ii) a first operand defining a first value to be compared by the logical operation; and (iü) a second operand that defines the address in the working memory that contains a second value to be compared by the logical operation.

Voorts heeft de onderhavige uitvinding betrekking op een hardwaregeimplementeerde of voorschrift gebaseerde expert-systeeminrichting die geschikt is voor het uitvoeren van deducties met hoge snelheid gebaseerd op een voorschriftenset voor een toepassingsgebied, omvattend: toegewezen werkgeheugenmiddelen voor het opslaan daarin van feiten betrekking hebbend op het 35 toepassingsgebied; toegewezen voorschrift-geheugenmiddelen voor het opslaan daarin van de voorschriftenset voor het toepassingsgebied, omvattend een reeks instructies die ieder een conditie of een actie definiëren; logische middelen; een eerste communicatiebus die de werkgeheugenmiddelen communicatief verbindt met de logische 40 middelen; een tweede communicatiebus die communicatief is verbonden met de voorschriftgeheugenmiddelen; welke logische middelen toegewezen middelen omvatten voor het achtereenvolgens uitvoeren van de instructies in de voorschriftgeheugenmiddelen welke zijn verkregen via de tweede communicatiebus, met verwijzing naar de opgeslagen feiten in de werkgeheugenmiddelen zoals verkregen via de eerste 45 communicatiebus, teneinde daardoor nieuwe feiten te deduceren, en waarbij ten minste een van de instructies van elk voorschrift een actie representeert die dient te worden uitgevoerd indien aan alle condities van het voorschrift is voldaan en omvattend: (i) een bewerkingscode die de uit te voeren actie definieert; en (ii) een eerste operand die een waarde voor een feit definieert; en 50 (iii) een tweede operand die een adres definieert in de werkgeheugenmiddelen, waarin de in de eerste operand gedefinieerde waarde dient te worden opgeslagen.Furthermore, the present invention relates to a hardware-implemented or prescription-based expert system device that is capable of performing high speed deductions based on a prescription set for an application area, comprising: allocated working memory means for storing therein facts relating to the application area ; allocated prescription memory means for storing therein the prescription set for the scope, comprising a set of instructions that each define a condition or an action; logical means; a first communication bus communicatively connecting the working memory means to the logical means; a second communication bus that is communicatively connected to the prescription memory means; which logical means comprises allocated means for successively executing the instructions in the prescription memory means obtained via the second communication bus, with reference to the stored facts in the working memory means as obtained via the first communication bus, thereby thereby deducing new facts, and wherein at least one of the instructions of each rule represents an action to be performed if all conditions of the rule are met and comprising: (i) an operation code defining the action to be performed; and (ii) a first operand defining a value for a fact; and 50 (iii) a second operand defining an address in the working memory means, in which the value defined in the first operand is to be stored.

De inrichting en werkwijze voor een schakelingstechnisch geïmplementeerd, op voorschriften gebaseerde expertsysteem volgens de onderhavige uitvinding wordt in het navolgende met het acronym REX ("Ruleba-sed EXpert”) aangeduid, en omvat een werkgeheugen waarin, bij het begin van een deductiehandeling voor 55 het toepassingsgebied bekende informatie of feiten zijn opgeslagen. De inrichting omvat verder een voorschriftengeheugen voor het opslaan van een voorschriftenset voor het toepassingsgebied. De voorschriftenset bestaat uit een reeks van instructies welke elk een voorwaarde of een actie bepalen. Er zijn 3 194520 middelen verschaft voor het vanuit het voorschriftengeheugen in het werkgeheugen laden van opeenvolgende instructies van de voorschriftenset en er zijn logische middelen verschaft voor het opeenvolgend uitvoeren van de instructies in het werkgeheugen met betrekking tot de in het werkgeheugen opgeslagen feiten, voor het aldus deduceren van nieuwe feiten.The arrangement and method for a circuit-implemented, rule-based expert system according to the present invention is hereinafter referred to as the acronym REX ("Ruleba-sed EXpert"), and comprises a working memory in which, at the start of a deduction operation for 55 information or facts are stored in the field of application .The device further comprises a prescription memory for storing a prescription set for the field of application. The prescription set consists of a series of instructions which each determine a condition or an action. loading the prescription memory into the working memory of successive instructions from the prescription set and logical means are provided for successively executing the instructions in the working memory with respect to the facts stored in the working memory, thus deducing new facts.

5 Tijdens het deductieproces worden, wanneer nieuwe feiten zijn gededuceerd deze in het werkgeheugen opgeslagen, die tijdens het uitvoeren van opeenvolgende instructies van de voorschriftenset voor het afleiden van verdere feiten kunnen worden gebruikt. Na het voltooien van het deductieproces worden de, in het werkgeheugen opgeslagen feiten naar een uitvoerinrichting overgebracht.During the deduction process, when new facts are deducted, they are stored in the working memory, which can be used during the execution of successive instructions from the prescription set to derive further facts. After completion of the deduction process, the facts stored in the working memory are transferred to an output device.

Elk van de instructies van de voorschriftenset omvat een operator, een conditie/actie-vlag en een paar 10 operanden. De logische middelen omvatten een instructiedecodeerder voor het testen van de conditie/ actievlag van elke instructie, om te bepalen of de instructie een conditie of een actie is. Wanneer de instructie een conditie is, worden de operanden vergeleken in overeenstemming met de, door de operator gespecificeerde logische operatie voor het genereren van een logisch resultaat (bijvoorbeeld waar of onwaar). Wanneer de instructie een actie is wordt de, door de operator gespecificeerde actie op de 15 operanden uitgevoerd.Each of the prescription set instructions includes an operator, a condition / action flag, and a pair of operands. The logic means includes an instruction decoder for testing the condition / action flag of each instruction to determine whether the instruction is a condition or an action. When the instruction is a condition, the operands are compared in accordance with the logical operation specified by the operator to generate a logical result (e.g. true or false). When the instruction is an action, the action specified by the operator is performed on the operands.

Het werkgeheugen en de logische middelen kunnen geschikt als een geïntegreerde schakeling worden verschaft. Het voorschriftengeheugen kan ofwel extern van de geïntegreerde schakeling via een geschikte externe geheugenbus met het werkgeheugen zijn verbonden, of het voorschriftengeheugen kan eveneens in de geïntegreerde schakeling zijn opgenomen met geschikte gegevensbusverbindingen met het werkgeheu-20 gen. Omdat de toepassingsvoorschriftenset in een geheugeninrichting is opgeslagen, is de REX-deductiemachine gebieds-onafhankelijk waardoor deze voor verschillende toepassingen kan worden gebruikt, door eenvoudigweg een andere toepassingsvoorschriftenset in het voorschriftengeheugen op te nemen. De structuur van het voorschrïftengeheugen en de gegevensstructuur van de toepassingsvoorschriftenset zijn zodanig ontworpen dat zij de efficiency van het deductieproces in grote mate verhogen. 25 Voor het illustreren van de veelzijdigheid en brede algemene toepasbaarheid van de onderhavige uitvinding, toont de navolgende gedetailleerde beschrijving op welke wijze de REX-deductiemachine als coprocessor in samenhang met een bestaande computer of microcomputer kan worden gebruikt, voor het verschaffen van een expertsysteem dat geschikt is voor het uitvoeren van deducties met snelheden welke significant groter zijn dan door een gebruikelijk programmatuur-gelmplementeerde deductiemachines zou 30 kunnen worden uitgevoerd. De REX-deductiemachine kan echter ook voor vele andere toepassingen worden gebruikt, zoals een zelfstandig werkend stelsel, indien voorzien van een geschikt inwendig stuurstelsel, een gebruikersinterface en invoer-/uitvoer-inrichtingen.The working memory and the logical means may suitably be provided as an integrated circuit. The prescription memory can either be connected externally of the integrated circuit to the working memory via a suitable external memory bus, or the prescription memory can also be included in the integrated circuit with suitable data bus connections to the working memory. Because the application prescription set is stored in a memory device, the REX deduction machine is region-independent, so that it can be used for different applications by simply including another application prescription set in the prescription memory. The structure of the prescription memory and the data structure of the application prescription set are designed to greatly increase the efficiency of the deduction process. To illustrate the versatility and broad general applicability of the present invention, the following detailed description shows how the REX deduction machine can be used as a coprocessor in conjunction with an existing computer or microcomputer to provide an expert system that is suitable is for performing deductions at speeds that are significantly greater than could be performed by conventional software-implemented deduction machines. However, the REX deduction machine can also be used for many other applications, such as an independently operating system, if provided with a suitable internal control system, a user interface and input / output devices.

De REX-deductiemachine is geschikt voor het uitvoeren van waretijd kennisverwerking, gebaseerd op de huidige VLSI-technologie. De snelheid waarmee problemen worden opgelost wordt gemeten in logische 35 deducties per seconde (’’logical inferences per second”) (LIPS) in plaats van drijvende kommaverwerkingen per seconde (’’floating point operations per second”) (FLOPS). Een LIPS is gelijk aan ongeveer 100 tot 1000 FLOPS op een gebruikelijke computer.The REX deduction machine is suitable for carrying out real-time knowledge processing, based on current VLSI technology. The speed at which problems are solved is measured in logical deductions per second ("logical inferences per second") (LIPS) instead of floating point operations per second ("floating point operations per second") (FLOPS). A LIPS equals about 100 to 1000 FLOPS on a conventional computer.

Korte beschrijving van de tekeningen 40 Enkele van de eigenschappen en voordelen van de uitvinding zijn reeds genoemd, andere zullen uit de navolgende gedetailleerde beschrijving duidelijk worden, in samenhang met de tekeningen, waarin: figuur 1 een perspectivisch aanzicht is dat illustreert op welke wijze de REX-deductiemachine als een co-processor in een gebruikelijke personal computer kan worden toegepast; figuur 2 is een meer gedetailleerd aanzicht van een co-processorkaart welke van de REX-45 deductiemachine gebruik maakt; figuur 3 is een blokschema dat de gegevensstroom voor de REX-machine toont; figuur 4 is een blokschema dat de structuur van de voorschrifteninformatiebank voor de REX-machine illustreert; figuur 5 is een schema dat de gegevensstructuur van de, in het voorschriftengeheugen opgeslagen 50 instructies toont; figuur 6 is een schema dat het in de REX-chip toegepaste operatiecodeformaat illustreert; figuur 7 is een totaal blokschema van de belangrijkste functionele componenten van de REX-chip; figuur 8 is een schema dat de gegevensbus-bittoewijzing voor I/O lees/schrijf-opóraties illustreert; figuur 9 is een stroomschema dat de deductiestroom van de REX-chip toont; en 55 figuur 10 t/m 12 zijn tijddiagrammen voor de REX-chip welke respectievelijk de tijdsturing van de leesmode, schrijfmode en het externe geheugen tonen.Brief Description of the Drawings 40 Some of the features and advantages of the invention have already been mentioned, others will become apparent from the following detailed description, in conjunction with the drawings, in which: Figure 1 is a perspective view illustrating how the REX deduction machine as a co-processor can be used in a conventional personal computer; Figure 2 is a more detailed view of a co-processor card that uses the REX-45 deduction machine; Figure 3 is a block diagram showing the data flow for the REX machine; Figure 4 is a block diagram illustrating the structure of the regulations database for the REX machine; Fig. 5 is a diagram showing the data structure of the instructions stored in the rule memory; Fig. 6 is a diagram illustrating the operation code format used in the REX chip; Figure 7 is a total block diagram of the main functional components of the REX chip; Fig. 8 is a diagram illustrating the data bus bit allocation for I / O read / write operations; Fig. 9 is a flow chart showing the deduction current of the REX chip; and Figs. 10 to 12 are time diagrams for the REX chip showing the read mode, write mode and external memory timing respectively.

194520 4194520 4

Gedetailleerde beschrijvingDetailed description

Figuur 1 illustreert een expertsysteem dat ontworpen is voor samenwerking met een microcomputer 10, zoals een IBM AT Personal Computer met een daaraan toegevoegd, op voorschriften gebaseerde expertsysteem (REX) co-processorkaart 11. De REX-kaart 11 is opgebouwd uit een REX-chip 12, een 5 extern voorschriftengeheugen 13 en een l/O-interface 14. De REX-kaart is meer gedetailleerd in figuur 2 getoond. Een applicatie-voorschriftenset voor een specifiek toepassingsgebied, in figuur 2 aangeduid met 15, is in het externe voorschriftengeheugen 13 opgeslagen. De REX-chip 12 is bijgevolg gebieds-onafhankelijk en kan voor een groot aantal verschillende toepassingsgebieden worden toegepast.Figure 1 illustrates an expert system designed for collaboration with a microcomputer 10, such as an IBM AT Personal Computer with an attached expert system (REX) co-processor card 11. The REX card 11 is made up of a REX chip 12, an external prescription memory 13 and an I / O interface 14. The REX card is shown in more detail in Figure 2. An application prescription set for a specific application area, designated 15 in Figure 2, is stored in the external prescription memory 13. The REX chip 12 is therefore region-independent and can be used for a large number of different application areas.

Verwijzend naar figuur 2, elke component van de REX-co-processorkaart 11 wordt als volgt verklaard: 10 l/O-interface: De l/O-interface 14 is verantwoordelijk voor de communicatie tussen de personal computer 10 en de REX-co-processorkaart 11. Externe gegevens worden vanaf de personal computer 10 via de l/O-interface 14 naar de REX-kaart 11 overgebracht. In de hierin geïllustreerde uitvoeringsvorm verschaft een DMA-kanaal een communicatieverbinding tussen de REX-kaart 11 en de personal computer 10. Een op de personal computer draaiend computerprogramma wordt voor het verschaffen van een gemakkelijk 15 begrijpbare gebruikersinterface toegepast.Referring to Figure 2, each component of the REX processor card 11 is explained as follows: 10 I / O interface: The I / O interface 14 is responsible for the communication between the personal computer 10 and the REX processor. processor card 11. External data is transferred from the personal computer 10 via the I / O interface 14 to the REX card 11. In the embodiment illustrated herein, a DMA channel provides a communication link between the REX card 11 and the personal computer 10. A computer program running on the personal computer is used to provide an easily understandable user interface.

REX-chip: De REX-chip 12 is een schakelingstechnische deductiemachine en vormt het hart van de REX-co-processorkaart 11. Twee hoofdcomponenten van de REX-chip zijn het werkgeheugen en de stuurlogica. Voordat het deductieproces begint, wordt het werkgeheugen met externe gegevens van de l/O-interface geïnitialiseerd. Externe gegevens welke relevant zijn voor van het applicatiegebied bekende 20 feiten worden in speciale geheugenplaatsen van het werkgeheugen opgeslagen. Tijdens het deductieproces vormt het werkgeheugen een tijdelijke opslag voor tussengegevens. Wanneer het deductieproces is voltooid bevat het werkgeheugen de resultaten van het deductieproces, welke daarna via de l/O-interface naar de personal computer worden overgebracht.REX chip: The REX chip 12 is a circuit-based deduction machine and forms the heart of the REX processor card 11. Two main components of the REX chip are the main memory and the control logic. Before the deduction process begins, the main memory is initialized with external data from the I / O interface. External data which are relevant for facts known from the application area are stored in special memory locations of the working memory. During the deduction process, the working memory forms a temporary storage for intermediate data. When the deduction process is completed, the working memory contains the results of the deduction process, which are then transferred to the personal computer via the I / O interface.

Voorschriftengeheugen: De kennis-ingenieur onttrekt een productievoorschriftenset, een applicatie-25 voorschriftenset 15 genoemd, aan het applicatiegebied en deze voorschriftenset wordt in het voorschriftengeheugen 13 opgeslagen. Tijdens het deductieproces refereert de REX-chip 12 aan het voorschriftengeheugen 13 ten behoeve van voorschrift-informatie. De structuur van het voorschriftengeheugen is geschikt ontworpen om te voldoen aan de vereisten van de REX-chip en voor het reduceren van geheugenruimte.Prescription memory: The knowledge engineer extracts a production prescription set, called an application prescription set 15, from the application area and this prescription set is stored in the prescription memory 13. During the deduction process, the REX chip 12 refers to the prescription memory 13 for prescription information. The structure of the prescription memory is suitably designed to meet the requirements of the REX chip and to reduce memory space.

De datastructuur van de, in het voorschriftengeheugen opgeslagen applicatie-voorschriftenset is ontworpen 30 voor het in grote mate verhogen van de efficiency van het deductieproces. Verdere details rond de structuur van het voorschriftengeheugen en de hierin opgeslagen applicatie-voorschriftenset worden hierna verschaft.The data structure of the application prescription set stored in the prescription memory is designed to greatly increase the efficiency of the deduction process. Further details about the structure of the prescription memory and the application prescription set stored therein are provided below.

Het voorschriftengeheugen kan een ROM, RAM, EPROM of een andere geschikte geheugeninrichting zijn. Wanneer een RAM voor het voorschriftengeheugen wordt toegepast, wordt een initialisatieprogramma gebruikt om vooraf de applicatie-voorschriftenset 15 in het externe geheugen 13 onder te brengen.The prescription memory can be a ROM, RAM, EPROM or other suitable memory device. When a prescription memory RAM is applied, an initialization program is used to pre-accommodate the application prescription set 15 in the external memory 13.

35 Hoewel de hierin geïllustreerde specifieke uitvoeringsvorm demonstreert hoe de REX-chip 12 als een co-processor voor een personal computer kan worden gebruikt, zullen deskundigen herkennen dat het schakelingstechnisch geïmplementeerde, op voorschriften gebaseerde expertsysteem (REX) voor vele andere specifieke toepassingen kan worden gebruikt. Het kan bijvoorbeeld als een zelfstandig werkend systeem worden gebruikt. In een dergelijk geval wordt een stuursysteem verschaft voor het afhandelen van 40 de gebruikersinterface en de l/O-interface en worden extra l/O-inrichtingen zoals een toetsenbord, een grafische weergever, enz. verschaft, om communicatie tussen de REX-kaart en de gebruiker mogelijk te maken.Although the specific embodiment illustrated herein demonstrates how the REX chip 12 can be used as a co-processor for a personal computer, those skilled in the art will recognize that the circuit-implemented, rule-based expert system (REX) can be used for many other specific applications. . For example, it can be used as an independently operating system. In such a case, a control system is provided for handling the user interface and the I / O interface and additional I / O devices such as a keyboard, a graphical display, etc. are provided to communicate between the REX card and to enable the user.

Deductiemechanisme 45 Er zijn verschillende soorten deductiewerkwijzen welke voor het oplossen van een probleem in een op voorschrift gebaseerd expertsysteem kunnen worden toegepast. Enkele van de belangrijkste deductiewerkwijzen zijn voorwaartse ketenvorming, achterwaartse ketenvorming en combinatieketenvorming. De hierin in het bijzonder geïllustreerde en beschreven deductiemachine maakt gebruik van de voorwaartse ketenvormingdeductiewerkwijze met productievoorschriften.Deduction mechanism 45 There are different types of deduction methods that can be used to solve a problem in a prescription-based expert system. Some of the most important deduction methods are forward chain formation, backward chain formation and combination chain formation. The deduction machine particularly illustrated and described herein utilizes the forward chain-forming deduction method with production rules.

50 De voorschriften van het op voorschriften gebaseerde stelsel worden door productievoorschriften gerepresenteerd. De productievoorschriften bestaan uit een indien (”if”) deel en een als ("then") deel.50 The rules of the rule-based system are represented by production rules. The production rules consist of an if ("if") part and an if ("then") part.

Het iFdeel is een lijst van een of meer condities of antecedenten. Het then-deel is een lijst van acties of consequenties. Een productievoorschrift kan dus als volgt worden gerepresenteerd: if conditie_1, 55 conditie_2, conditie_n 5 194520 then actie_1, actie_2, actie_n 5 Wanneer de condities (conditie_1, conditie_2,.. conditiën) door de feiten van een gegeven probleem zijn vervuld, kunnen wij zeggen dat het voorschrift is getrokken ("triggered”). Het expertsysteem kan vervolgens de gegeven acties uitvoeren. Wanneer de acties zijn uitgevoerd zegt men dat de voorschriften zijn afgevuurd ("fired"). Deze speciale acties kunnen andere condities veranderen, welke op hun beurt andere voorschriften kunnen afvuren. De stroom van afgevuurde voorschriften zal voortgaan totdat de 10 problemen zijn opgelost, of totdat er geen andere voorschriften kunnen worden vervuld. Deze werkwijze van het afvuren van voorschriften beweegt zich in voorwaartse richting door de voorschriften, bijgevolg noemt men dit voorwaartse ketenvorming. Voorwaartse ketenvorming wordt ook wel een deductiestelsel of feiten-gedreven genoemd, omdat de feiten de stroom van de afgevuurde voorschriften leiden.The iFdeel is a list of one or more conditions or antecedents. The then part is a list of actions or consequences. A production rule can therefore be represented as follows: if condition_1, 55 condition_2, condition_n 5 194520 then action_1, action_2, action_n 5 When the conditions (condition_1, condition_2, .. conditions) are fulfilled by the facts of a given problem, we can say that the prescription has been drawn ("triggered"). The expert system can then perform the given actions. Once the actions have been performed, the prescriptions are fired ("fired"). These special actions may change other conditions, which in turn may change The flow of fired rules will continue until the problems are solved, or until no other rules can be fulfilled.This method of firing rules moves forward through the rules, so this is called forward Forward chain formation is also called a deduction system or fact driven, omda t the facts guide the flow of the fired regulations.

Het trekken van de voorschriften betekent niet dat de voorschriften zijn afgevuurd, omdat aan de 15 condities van verscheidene andere voorschriften gelijktijdig kan zijn voldaan, en alle worden getrokken. Wanneer dit optreedt is het noodzakelijk om een conflictoplossingsstrategie toe te passen, om te beslissen welk voorschrift feitelijk is afgevuurd. Een conflictoplossingsstrategie is een proces van het selecteren van het meest gunstige voorschrift wanneer aan meer dan een voorschrift is voldaan. Voorbeelden van conflictoplossingsstrategieën zijn de volgende: 20 1. Het voorschrift dat de meest recente gegevens bevat wordt geselecteerd. Deze strategie wordt in de Engelse taal "Data Recency Ordering” genoemd.Drawing the rules does not mean that the rules are fired, because the conditions of several other rules can be met simultaneously, and all are drawn. When this occurs it is necessary to apply a conflict resolution strategy to decide which rule has actually been fired. A conflict resolution strategy is a process of selecting the most favorable rule when more than one rule is met. Examples of conflict resolution strategies are the following: 1. The rule that contains the most recent data is selected. This strategy is called "Data Recency Ordering" in the English language.

2. Het voorschrift dat de meest ingewikkelde van de moeilijkste voorwaarden bezit wordt geselecteerd. In de Engelse taal wordt dit ook "Context Limiting Strategy" genoemd.2. The rule that has the most complicated of the most difficult conditions is selected. In the English language this is also called "Context Limiting Strategy".

3. Het voorschrift dat als eerste in de lijst is opgenomen wordt geselecteerd. Dit wordt in de Engelse taal 25 "Rule Ordering" genoemd.3. The rule that is first in the list is selected. This is called 25 "Rule Ordering" in the English language.

Voorbeeld IEXAMPLE 1

Voorbeeld van voorwaartse ketenvormingExample of forward chaining

Dit voorbeeld verschaft een algemene illustratie van de werking van een op voorschriften gebaseerd 30 expertsysteem. Ten behoeve van deze illustratie wordt naar de dier-identificatievoorschriftenset in aanhangsel A verwezen. Deze voorschriftenset probeert, door het geven van zijn fysische eigenschappen, een dier te identificeren. Veronderstel dat de volgende eigenschappen zijn waargenomen: het dier heeft haar, het dier eet vlees, 35 het dier heeft een geelbruine kleur, het dier heeft zwarte strepen.This example provides a general illustration of the operation of a rules-based expert system. For the purpose of this illustration, reference is made to the animal identification rule set in Appendix A. This prescription set tries, by giving its physical properties, to identify an animal. Suppose that the following properties have been observed: the animal has hair, the animal eats meat, the animal has a tan, the animal has black stripes.

Deze waarnemingen worden in de volgende feiten vertaald: bedekking = haar, voedsel = vlees, 40 kleur = geelbruin, strepen = zwart.These observations are translated into the following facts: coverage = hair, food = meat, 40 color = tan, stripes = black.

Gegeven deze feiten wordt VOORSCHRIFT 1 getrokken. Volgens dit voorschrift deduceren wij dat klasse - zoogdier.Given these facts, REGULATION 1 is drawn. According to this regulation we deduce that class mammal.

Dat het dier een zoogdier is wordt nu door het systeem als een nieuw feit aangenomen. Bijgevolg kan 45 VOORSCHRIFT 2 t/m VOORSCHRIFT 4 niet worden getrokken. De conditie van VOORSCHRIFT 5 i s geldig zodat het systeem zal deduceren dat het dier een vleeseter is. vleeseter = ja.That the animal is a mammal is now accepted by the system as a new fact. Consequently, 45 REGULATION 2 to REGULATION 4 cannot be drawn. The condition of REGULATION 5 is valid so that the system will deduce that the animal is a meat eater. meat eater = yes.

Het systeem heeft tot zoverre twee bruikbare nieuwe feiten gededuceerd. De eerste drie condities van VOORSCHRIFT 9 zijn waar, maar de laatste conditie niet, zodat VOORSCHRIFT 9 faalt. VOORSCHRIFT 50 10 wordt getrokken en kan worden afgevuurd. Het systeem deduceert bijgevolg dat het dier een tijger is. dier = tijger.The system has so far deduced two useful new facts. The first three conditions of REGULATION 9 are true, but the last condition is not, so that REGULATION 9 fails. REGULATION 50 10 is drawn and can be fired. The system therefore deduces that the animal is a tiger. animal = tiger.

De deductie stopt hier niet, omdat er meerdere voorschriften zijn. In dit geval kan aan geen van de andere voorschriften worden voldaan. Het systeem identificeert het dier als een tijger.The deduction does not stop here, because there are several prescriptions. In this case, none of the other requirements can be met. The system identifies the animal as a tiger.

Het voorbeeld toont een deductiewerkwijze in voorwaartse richting, vanuit de huidige situatie van feiten of 55 observaties naar een conclusie.The example shows a deduction method in the forward direction, from the current situation of facts or 55 observations to a conclusion.

194520 6 REX-deductiemachine-architectuur194520 6 REX deduction machine architecture

De hoofdcomponenten van de REX-deductiemachine zijn meer gedetailleerd in figuur 3 getoond. De REX-chip zelf heeft drie primaire functionele componenten: het werkgeheugen 16, een rekenkundige en logische eenheid (ALU) 17 en stuurlogica 18. In de hierin getoonde uitvoeringsvorm is het voorschriften-5 geheugen 13 een afzonderlijke geheugeninrichting welke via een gegevensbus 21 met het werkgeheugen 16 is verbonden. Voor een deskundige zal het daarentegen duidelijk zijn dat het voorschriftengeheugen, indien gewenst, in de REX-chip zelf zou kunnen worden geïntegreerd. De l/O-interface 14 is via een systeeminterfacebus, welke in zijn geheel met 22 is aangeduid, communicatief met het werkgeheugen verbonden. De stuurlogica is schematisch in figuur 3 weergegeven en met het verwijzingscijfer 18 aange-The main components of the REX deduction machine are shown in more detail in Figure 3. The REX chip itself has three primary functional components: the main memory 16, an arithmetic and logic unit (ALU) 17 and control logic 18. In the embodiment shown herein, the control memory 13 is a separate memory device which is connected via a data bus 21 to the working memory 16 is connected. On the other hand, it will be clear to a person skilled in the art that the prescription memory could, if desired, be integrated into the REX chip itself. The I / O interface 14 is communicatively connected to the working memory via a system interface bus, which is designated in its entirety by 22. The control logic is schematically shown in Figure 3 and designated with the reference numeral 18

10 duid. In het algemeen heeft de stuurlogica 18 tot taak de werking van de andere elementen, zoals de ALU10. In general, the control logic 18 has the task of operating the other elements, such as the ALU

17 en het werkgeheugen 16 te sturen.17 and the working memory 16.

Gegevensstroom in de REX-deductiemachineData stream in the REX deduction machine

De gegevensstroom van de REX-machine zal het beste duidelijk worden uit figuur 3 en de navolgende 15 beschrijving. De omcirkelde cijfers in figuur 3 corresponderen met de volgende onderwerpen: 1. InvoergegevensThe data stream of the REX machine will best become clear from Figure 3 and the following description. The circled figures in Figure 3 correspond to the following subjects: 1. Input data

De gebruiker voert de feiten via een gebruikersinterfaceprogramma op de personal computer 10 aan het systeem toe. De gebruiker presenteert de feiten in een vooraf bepaalde syntax. Bij toepassing van de feitengegevens van voorbeeld I en de voorschriftenset van aanhangsel A, zou de gebruiker bijvoorbeeld het 20 volgende invoeren: bedekking = haar kleur = geelbruin .. etc.The user applies the facts to the system via a user interface program on the personal computer 10. The user presents the facts in a predetermined syntax. When applying the fact data of example I and the prescription set of Appendix A, the user would, for example, enter the following: coverage = hair color = tan .. etc.

25 Het gebruikersinterfaceprogramma zet elke feitelijke observatie om in waarden die door een paar binaire getallen worden gerepresenteerd.The user interface program converts any actual observation into values represented by a pair of binary numbers.

Het eerste deel van het paar is een adres en het tweede deel van het paar is een waarde.The first part of the pair is an address and the second part of the pair is a value.

adres waarde 30address value 30

In het bovenstaande voorbeeld hebben wij: (adres o32)bedekking = (waarde %10) ohaar, (adres e58)kleur = (waarde %55)geelbruin, 35 .. etc.In the example above we have: (address o32) coverage = (value% 10) ohaar, (address e58) color = (value% 55) tan, 35 .. etc.

waarin α en ”%” aangeven dat het cijfer waarnaar wordt verwezen respectievelijk een adres of een waarde is. In het bovenstaande geval is bedekking afgebeeld op adres 32 (er is geen ander woord op adres 32 afgebeeld). Aan elk woord is dus een uniek adresgetal toegewezen. De waarde haar is op adres 32 opgeslagen. Deze getallen worden in stap 2 gebruikt.wherein α and "%" indicate that the digit being referred to is respectively an address or a value. In the above case, coverage is displayed at address 32 (no other word is displayed at address 32). A unique address number is therefore assigned to each word. The hair value is stored at address 32. These numbers are used in step 2.

40 2. Het opslaan van feiten in het werkgeheugen40 2. Storing facts in the main memory

In stap 2 worden de feiten in het werkgeheugen opgeslagen.In step 2 the facts are stored in the working memory.

3. Het plaatsen van voorschriften in het werkgeheugen3. Placing rules in the working memory

Het externe geheugen wordt voor het opslaan van voor het applicatiegebied relevante voorschriften gebruikt. Elk voorschrift wordt als volgt gerepresenteerd: 45 IF conditie 1 en conditie 2 en THEN actie 1 actie 2 50The external memory is used for storing regulations relevant to the application area. Each prescription is represented as follows: 45 IF condition 1 and condition 2 and THEN action 1 action 2 50

Een conditie-element is: (klasse = zoogdier)A condition element is: (class = mammal)

Gelijksoortig is een actie-element: (soort = gehoefd) 55 Elk element, zowel een conditie- als een actiedeel van het voorschrift, wordt intem als een instructie in het onderstaand getoonde formaat gerepresenteerd: 7 194520Similarly, an action element is: (type = required) 55 Each element, both a condition part and an action part of the prescription, is intemally represented as an instruction in the format shown below: 7 194520

Operandl I Operand2 I Operator I Dir/lmme I Act/CondOperand I Operand 2 I Operator I Dir / lmme I Act / Cond

Elke instructie heeft een vooraf bepaalde lengte, bijvoorbeeld 32 bits. Operandl representeert een adres 5 van het werkgeheugen. Afhankelijk van de waarde van het Dir/lmme-veld is Operand2 ofwel een adres ofwel een waarde in het werkgeheugen. Het Dir/lmme-veld specificeert of de adresseringsmode van Operand2 Direct of Immediate is. Het Act/Condveld specificeert of het element aan het conditie- of het actiedeel van een voorschrift refereert. Het Operator-veld specificeert het type operator dat in het conditie-deel van het voorschrift is gebruikt. Voorbeelden van operatoren zijn: is gelijk aan (=), groter dan (>), kleiner 10 dan (<), etc.Each instruction has a predetermined length, for example 32 bits. Operandl represents an address 5 of the main memory. Depending on the value of the Dir / lmme field, Operand2 is either an address or a value in the working memory. The Dir / lmme field specifies whether the addressing mode is Operand2 Direct or Immediate. The Act / Cond field specifies whether the element refers to the condition or action part of a prescription. The Operator field specifies the type of operator used in the condition part of the prescription. Examples of operators are: equals (=), greater than (>), less than (<), etc.

4-5. Deductiecyclus4-5. Deduction cycle

De volgende stappen worden tijdens de deductiecyclus uitgevoerd.The following steps are performed during the deduction cycle.

4.1. Het bereiken van het externe geheugenelement4.1. Reaching the external memory element

Een voorschrift wordt uit het voorschriftengeheugen 13 opgehaald, waarbij het Cond/Act-veld van de 75 eerste instructie wordt onderzocht om na te gaan of het een conditie of een actie is. Wanneer de instructie een conditie-element is, wordt de in sectie 4.1.1. beschreven procedure toegepast. Wanneer het een actie is, wordt de in sectie 4.1.2. beschreven procedure toegepast.A prescription is retrieved from the prescription memory 13, wherein the Cond / Act field of the first 75 instruction is examined to determine if it is a condition or an action. If the statement is a condition element, the statement in section 4.1.1. procedure described. If it is an action, the information in section 4.1.2. procedure described.

4.1.1. Het aan het werkgeheugen aanpassen van het voorschriftenconditie-element4.1.1. Adapting the prescription condition element to the working memory

Het adres in Operandl wordt in de ALU geladen (stap 4). Vervolgens wordt het Dir/lmme-veld onder-20 zocht om na te gaan of Operand2 Direct of Immediate is. Wanneer deze Immediate is, wordt de waarde van Operand2 direct aan de ALU toegevoerd, in het andere geval wordt de inhoud van het door Operand2 aangewezen adres aan de ALU toegevoerd. De invoer van de ALU wordt door de ALU vergeleken onder toepassing van de operator (Operator-veld) om na te gaan of de conditie waar of onwaar is. Wanneer de conditie waar is, wordt de volgende successievelijke instructie van het voorschrift onderzocht door het 2s herhalen van de, in sectie 4.1. aangegeven reeks van stappen. Wanneer het conditie-element onwaar is, wordt dit voorschrift terzijde gelegd en wordt het volgende voorschrift onderzocht door het herhalen van de reeks van stappen in sectie 4.1.The address in Operandl is loaded in the ALU (step 4). Next, the Dir / lmme field under-20 is searched to see if Operand2 is Direct or Immediate. When this Immediate is, the value of Operand2 is directly supplied to the ALU, otherwise the content of the address designated by Operand2 is supplied to the ALU. The ALU compares the ALU input using the operator (Operator field) to determine if the condition is true or false. If the condition is true, the next successive instruction of the prescription is examined by repeating the 2s in section 4.1. specified sequence of steps. If the condition element is false, this rule is discarded and the next rule is examined by repeating the sequence of steps in section 4.1.

4.1.2. Actiedeel4.1.2. Action part

De Dir/lmme-vlag van het actie-element wordt al s eerste gecontroleerd. Wanneer deze Direct is, wordt 20 de, in de locatie Operand2 van het werkgeheugen opgeslagen waarde naar het door Operandl gerepresenteerde adres van het werkgeheugen gecopieerd. Wanneer de Dir/lmme-vlag Immediate is, wordt Operand2 naar het door Operandl gerepresenteerde adres van het werkgeheugen gecopieerd. Na het uitvoeren van de, door de instructie aangegeven actie wordt de volgende successievelijke actieinstructie van het voorschrift gelezen en wordt de in sectie 4.1.2. beschreven procedure herhaald. Wanneer de actie-instructie 35 de laatste instructie van het voorschrift is, wordt door het herhalen van de reeks van stappen in sectie 4.1. het volgende voorschrift onderzocht.The Dir / lmme flag of the action element is checked first. When this is Direct, the value stored in the Operand2 location of the main memory is copied to the address of the main memory represented by Operand1. When the Dir / lmme flag is Immediate, Operand2 is copied to the address of the main memory represented by Operandl. After performing the action specified by the instruction, the following successive action instruction is read from the rule and the one described in section 4.1.2. procedure described. When the action instruction 35 is the last instruction of the prescription, repeating the sequence of steps in section 4.1. examined the following requirement.

6. Feiten naar gegevens6. Facts to data

Wanneer alle voorschriften verwerkt zijn wordt de sturing aan de l/O-interface 14 overgedragen. De numerieke representatie van de feiten wordt in een vorm omgezet welke gemakkelijk door de gebruiker kan 40 worden begrepen.When all regulations have been processed, the control is transferred to the I / O interface 14. The numerical representation of the facts is converted into a form that can be easily understood by the user.

7. Gegevensuitvoer7. Data output

De l/O-interface zal vervolgens de gegevens naar de personal computer 10 uitvoeren.The I / O interface will then output the data to the personal computer 10.

Voorbeeld IIEXAMPLE II

45 Voorbeeld van de REX-gegevensstroom45 Example of the REX data stream

Dit voorbeeld illustreert de wijze waarop de REX-chip het voorgaand in voorbeeld I beschreven probleem oplost. De genummerde onderwerpen corresponderen weer met de omcirkelde cijfers in figuur 3. Zie aanhangsel A voor de volledige dier-identificatievoorschriftenset.This example illustrates the manner in which the REX chip solves the problem described above in Example I. The numbered subjects again correspond to the circled figures in Figure 3. See Appendix A for the complete animal identification rule set.

1. Invoer van externe gegevens 50 De gemaakte gegevens of observaties zijn: het dier heeft haar, het dier eet vlees, het dier heeft een geelbruine kleur, het dier heeft zwarte strepen.1. Input of external data 50 The data or observations made are: the animal has hair, the animal eats meat, the animal has a tan color, the animal has black stripes.

55 De bovenstaande gegevens komen de l/O-interface binnen en worden in feiten vertaald. De gegevens worden in de volgende feiten vertaald: (adres o32) bedekking = (waarde %10) haar, 194520 8 (adres 041) voedsel = (waarde %3) vlees, (adres 058) kleur = (waarde %55) geelbruin, (adres 035) strepen = (waarde %8) zwart.55 The above information enters the L / O interface and is translated into facts. The data is translated into the following facts: (address o32) coverage = (value% 10) hair, 194520 8 (address 041) food = (value% 3) meat, (address 058) color = (value% 55) tan, (address 035) stripes = (value% 8) black.

5 2. In het werkgeheugen opgeslagen feiten5 2. Facts stored in the working memory

Het adres representeert de locatie in het werkgeheugen. Adreslocatie 32 herbergt bijvoorbeeld de waarde 10.The address represents the location in the main memory. For example, address location 32 houses the value 10.

3. Het laden van een instructie3. Loading an instruction

Een instructie wordt uit het voorschriftengeheugen geladen. De eerste instructie van VOORSCHRIFT 1 is 10 een conditie, en heeft de vorm van: (adres 032) bedekking IS GELIJK AAN (’’EQUAL") (waarde %10) haar 4. Het laden van operanden a. ConditieAn instruction is loaded from the prescription memory. The first instruction of REGULATION 1 is 10 a condition, and takes the form of: (address 032) coverage IS EQUAL ("EQUAL") (value% 10) hair 4. Loading operands a. Condition

De waarde van adreslocatie 32 wordt in de ALU geladen, in dit geval 10. Het vergelijkingsproces van de 15 ALU is: (waarde %10) haar EQUAL (waarde %10) haar Dit resultaat is waar.The value of address location 32 is loaded into the ALU, in this case 10. The comparison process of the 15 ALU is: (value% 10) her EQUAL (value% 10) her This result is true.

Wanneer de instructie is: (adres 032) bedekking EQUAL (waarde %11) veren, 20 zou de uitvoer van de ALU onwaar zijn. De sturing gaat terug naar STAP 3.If the instruction is: (address 032) cover EQUAL (value% 11) springs, the output of the ALU would be false. The control goes back to STEP 3.

b. Actieb. Action

Wanneer de instructie een actie is, zoals: (adres 077) klasse MOV (waarde %20) zoogdier zou de ALU de waarde 20 krijgen en deze op adreslocatie 77 opslaan.If the instruction is an action such as: (address 077) class MOV (value% 20) mammal, the ALU would get the value 20 and store it at address location 77.

25 5. Het opslaan van feiten in het werkgeheugen25 5. Storing facts in the working memory

De waarde 20 is uit het VOORSCHRIFT 1 gededuceerd en dient op adreslocatie 77 te worden opgeslagen. De sturing gaat terug naar STAP 3.The value 20 is deduced from REGULATION 1 and must be stored at address location 77. The control goes back to STEP 3.

6. Feiten naar gegevens6. Facts to data

In dit voorbeeld wordt de waarde op het (adres 88) klasse naar de l/O-interface overgebracht. Uit de 30 feiten volgt dat de waarde op adreslocatie 88 (waarde %100) tijger is.In this example, the value on the (address 88) class is transferred to the I / O interface. It follows from the 30 facts that the value at address location 88 (value% 100) is tiger.

7. Uitvoer van gegevens7. Export of data

Door de interface wordt de waarde 100 in tijger vertaald.The value 100 is translated into tiger through the interface.

Structuur van de voorschriften-informatiebank 35 De applicatievoorschriftenset 15, welke in het werkgeheugen 16 is opgeslagen, is in twee delen verdeeld -STRUCT en VOORSCHRIFTEN. In elk voorschrift is een set van condities op aangrenzende adressen gegroepeerd. Eveneens is in elk voorschrift een set van acties op aangrenzende adressen gegroepeerd. Deze groepen kunnen op de volgende wijze in het VOORSCHRIFTEN-deel van het werkgeheugen worden opgeslagen: 40 Voorschrift %1 adres xxx1 conditie_1_1 adres xxx2 conditie_1_2 45 adres xxxm conditie_1_m adres yyy1 actie_1_1 adres yyy2 actie_1_2 50 Voorschrift %2 adres zzz1 conditie_2_1Structure of the regulation data base 35 The application regulation set 15, which is stored in the working memory 16, is divided into two parts -STRUCT and REQUIREMENTS. In each regulation, a set of conditions is grouped at adjacent addresses. A set of actions is also grouped at adjacent addresses in each prescription. These groups can be stored in the REGULATIONS section of the main memory in the following manner: 40 Prescription% 1 address xxx1 condition_1_1 address xxx2 condition_1_2 45 address xxxm condition_1_m address yyy1 action_1_1 address yyy2 action_1_2 50 Prescription% 2 address zzz1 condition_2_1

Omdat de condities en acties achtereenvolgens op verschillende geheugenadressen zijn opgeslagen kan de representatie van de voorschriften onder toepassing van het startadres van elk voorschrift worden gestructureerd. Het productievoorschrift kan bijgevolg uitgedrukt worden als: 9 194520 , if xxx 1 then yyy1 if zzz1 5 thenBecause the conditions and actions are successively stored at different memory addresses, the representation of the rules can be structured using the start address of each rule. The production regulation can therefore be expressed as: 9 194520, if xxx 1 then yyy1 if zzz1 5 then

Dit formaat toont dat, wanneer een groep van condities op een bepaald adres WAAR is, de groep van acties op het, in het then-deel gespecificeerde adres dient te worden uitgevoerd. Wanneer vervolgens het eerste voorschrift onwaar is, springt het stuurmechanisme naar het startadres van het volgende voorschrift. Er is geen noodzaak voor eindindicatoren voor elk voorschrift, zodat bijgevolg de REX geen tijd verspilt met het zoeken naar eind-indicatoren.This format shows that when a group of conditions at a given address is TRUE, the group of actions must be executed at the address specified in the then part. If the first rule is then false, the steering mechanism jumps to the start address of the next rule. There is no need for end indicators for each requirement, so that the REX does not waste time searching for end indicators.

De structuur van de voorschrifteninformatiebank van de REX is in figuur 4 weergegeven. In deze versie i s voor het opslaan van de applicatievoorschriftenset 15 eeh extern geheugen van 64K X 32 ROM toegepast.The structure of the REX regulatory data bank is shown in Figure 4. In this version, for storing the application prescription set, an external memory of 64K X 32 ROM is used.

Om het gebruik van het beperkte geheugen te maximaliseren zijn STRUCT en VOORSCHRIFTEN respectievelijk aan de beide einden van het voorschriftengeheugen 13 opgeslagen. STRUCT start vanaf het adres OOOOH en hoger. VOORSCHRIFTEN start vanaf het adres FFFFH en lager.In order to maximize the use of the limited memory, STRUCT and REGULATIONS are stored at both ends of the prescription memory 13, respectively. STRUCT starts from the address OOOOH and higher. REGULATIONS start from the FFFFH address and below.

In figuur 5 is de gedetailleerde structuur van het voorschriftengeheugen getoond. STRUCT herbergt de adresindex welke naar het startadres van elk voorschrift in VOORSCHRIFTEN wijst. De afmeting van het 20 voorschriftengeheugen is 64K, zodat alleen het 16-bit onderste halve woord wordt gebruikt.Figure 5 shows the detailed structure of the prescription memory. STRUCT houses the address index that points to the start address of each rule in RULES. The size of the prescription memory is 64K, so that only the 16-bit lower half word is used.

Elke conditie of actie wordt gerepresenteerd als een instructie van een 32-bit woord, verwerkt door de REX. De conditie is in de grond een logische vergelijking van twee gegeven operanden. De acties zijn op soortgelijke wijze georganiseerd. De operatoren van de acties zijn in de grond logische operatoren en een toewijzingsoperator. Voor elk proces zijn er twee operanden: operandl en operand2. Operand2 kan twee • vormen aannemen: direct of immediate. Zoals getoond in figuur 4 is de direct operand een wijzer (’’pointer”) naar een adres in het werkgeheugen, gerepresenteerd door het symbool ’o’ en is de immediate operand een integer, gerepresenteerd door ’%’.Each condition or action is represented as an instruction of a 32-bit word processed by the REX. The condition is basically a logical comparison of two given operands. The actions are organized in a similar way. The operators of the actions are basically logical operators and an allocation operator. There are two operands for each process: operandl and operand2. Operand2 can take two • forms: direct or immediate. As shown in Figure 4, the direct operand is a pointer ("pointer") to an address in the main memory represented by the "o" symbol and the immediate operand is an integer represented by "%".

Instructieset voor de REX-deductiemachine 30 Zoals getoond in figuur 5(b) zijn instructies van de REX steeds 32 bit lang. De Operatiecode (6 bits), OPI (13 bits) en OP2 (13 bits) zijn tot een 32-bit instructie samengevoegd. Elk voorschrift in een gegeven applicatievoorschriftenset heeft conditie- en actiedelen. De REX heeft bijgevolg twee typen instructieset: - Conditie-instructies: Dit type instructie wordt gebruikt om na te gaan of de conditie Waar of Onwaar is. Dit maakt het voor gebruikers mogelijk om verschillende logische relaties tussen twee operanden te definiëren, 35 zoals ’’Gelijk aan” ("Equal”), ’’Groter dan” (’’Greater than”), enz. Het bewerkingsresultaat van een Conditie-instructie kan alleen Waar of Onwaar zijn, hetgeen de volgende verwerkingsreeks beïnvloedt.Instruction set for the REX deduction machine 30 As shown in Figure 5 (b), instructions from the REX are always 32 bits long. The Operation Code (6 bits), OP1 (13 bits) and OP2 (13 bits) are merged into a 32-bit instruction. Every prescription in a given application prescription set has condition and action parts. The REX therefore has two types of instruction set: - Condition instructions: This instruction type is used to determine whether the condition is True or False. This makes it possible for users to define different logical relationships between two operands, such as "Equal", "Greater than" ("Greater than"), etc. The editing result of a Condition instruction can only be True or False, which affects the next processing sequence.

- Actie-instructies: Dit type instructie wordt alleen uitgevoerd wanneer alle condities van het momentane voorschrift Waar zijn. Het resultaat van het uitvoeren van de actie wordt altijd in de eerste operand opgeslagen.- Action instructions: This type of instruction is only executed when all conditions of the current rule are True. The result of performing the action is always stored in the first operand.

40 De instructies en de bijbehorende operatiecodes zijn in tabel A samengevat.40 The instructions and the associated operation codes are summarized in Table A.

TABEL ATABLE A

REX-OPERATIECODESREX OPERATION CODES

40 Operatiecodes Operatie Beschrijving OXOOOO EQ Gelijk aan ("EQual to”);40 Operation codes Operation Description OXOOOO EQ Same as ("EQual to");

Is operandl = operand2 ? OXOOOI NE Niet Gelijk aan (’’Not Equal to”); S0 Is operandl < > operand2 ? OXOOIO GT Groter dan (’’Greater Than”);Is operandl = operand2? OXOOOI NE Not Equal to ("Not Equal to"); S0 Is operandl <> operand2? OXOOIO GT Greater than ("Greater Than");

Is operandl > operand2 ? OXOOII LT Kleiner dan (’’Less Than”);Is operandl> operand2? OXOOII LT Less than ("Less Than");

Is operandl < operand2 ? 00 OXOIOO GE Groter dan of Gelijk aan (’’Greater than or Equal to”);Is operandl <operand2? 00 OXOIOO GE Greater than or Equal to ("Greater than or Equal to");

Is operandl > = operand2 ? 194520 10Is operandl> = operand2? 194520 10

TABEL ATABLE A

REX-OPERATIECODES (vervolg)REX OPERATION CODES (continued)

Operatiecodes Operatie Beschrijving 5 _____ ____ — OXOIOI LE Kleiner dan of Gelijk aan (’’Less than or Equal to”);Operation codes Operation Description 5 _____ ____ - OXOIOI LE Less than or Equal to "Less than or Equal to";

Is operandl < = operand2 ? IXOOOO NOT logische ontkenning operandl (’’logic NOT operandl”);Is operandl <= operand2? IXOOOO NOT logical denial operandl ("logic NOT operandl");

Elk bit van operandl wordt gecomplementeerd en het 10 resultaat wordt op operandl in het werkgeheugen opgeslagen.Each bit of operandl is complemented and the result is stored on operandl in the working memory.

IXOOOI AND logische EN ("AND”) operandl en operand2;IXOOOI AND logical AND ("AND") operandl and operand2;

De logische EN-operatie wordt op de corresponderende bits van operandl en operand2 uitgevoerd. Het 15 resultaat wordt op perandl in het werkgeheugen opgeslagen.The logical AND operation is performed on the corresponding bits of operand1 and operand2. The result is stored in the main memory on perandl.

IXOOIO OR logische OF (”OR”) operandl en operand2;IXOOIO OR OR ("OR") operandl and operand2;

De logische OF-operatie wordt op de corresponderende bits van operandl en operand2 uitgevoerd. Het 20 resultaat wordt op operandl in het werkgeheugen opgeslagen.The logical OR operation is performed on the corresponding bits of operand1 and operand2. The result is stored in the working memory on operandl.

IXOOII MOV Verplaats (”MOVe”) operand2 naar operandl;IXOOII MOV Move ("MOVe") operand2 to operandl;

De inhoud van operand2 wordt op operandl in het werkgeheugen opgeslagen.The contents of operand2 are stored in the working memory on operandl.

25 IXOIOO SHR Schuif (’’SHift”) operandl over 1 bit naar Rechts (’’Right·’);25 IXOIOO SHR Slide ("SHift") operandl over 1 bit to the Right ("Right ·");

Het minst significante bit wordt verwijderd en op de plaats van het meest significante bit wordt een nul geschoven; het resultaat wordt op operandl in het 20 werkgeheugen opgeslagen.The least significant bit is removed and a zero is shifted at the location of the most significant bit; the result is stored in the working memory on operandl.

IXOIOI SHL Schuif (’’SHift”) operandl over 1 bit naar Links (’’Left”);IXOIOI SHL Move ("SHift") operandl over 1 bit to the Left ("" Left ");

Het meest significante bit wordt verwijderd en op de plaats van het minst significante bit wordt een nul 35 geschoven; het resultaat wordt op operandl in het werkgeheugen opgeslagen.The most significant bit is removed and a zero is shifted at the location of the least significant bit; the result is stored in the working memory on operandl.

XXOIIO JMP Spring (”JuMP”) naar een nieuw adres van het externe geheugen;XXOIIO JMP Jump ("JuMP") to a new address of the external memory;

Voor de JMP-instructie worden de minst significante 40 16 bits van de instructie in het C1-register geladen dat naar het nieuwe voorschrift in het externe geheugen wijst.For the JMP statement, the least significant 40 bits of the statement are loaded into the C1 register pointing to the new rule in the external memory.

XXOIII EOR Einde van het externe geheugen (’’End of ExternalXXOIII EOR End of the external memory ("End of External

Memory").Memory ").

45 _ - operandl is een direct-geadresseerd gegeven (WM[OP1j) uit het werkgeheugen.45 _ - operandl is a directly addressed data (WM [OP1j) from the main memory.

- operand2 kan een direct-geadresseerd gegeven (WM[OP2j) of een immediate gegeven (OP2) zijn.- operand2 can be a direct-addressed data (WM [OP2j) or an immediate data (OP2).

5050

Het formaat van de opcode is in figuur 6 weergegeven. Het MSB (Meest Significant Bit), dat is F1, van de opcode wordt voor het specificeren van het type instructie gebruikt. Wanneer F1 0 is, betreft het een Conditie-instructie, anders is het een Actie-instructie. Een Conditie-instructie heeft steeds twee operanden. Een Actie-instructie daarentegen kan slechts een of twee operanden hebben, afhankelijk van de vereiste operatie.The format of the opcode is shown in Figure 6. The MSB (Most Significant Bit), that is F1, of the opcode is used to specify the instruction type. When F1 is 0, it is a Condition statement, otherwise it is an Action statement. A Condition instruction always has two operands. An Action statement, on the other hand, can only have one or two operands, depending on the required operation.

De REX staat twee typen adressering toe: immediate en directe adressering. De eerste operand maakt steeds gebruik van directe adressering. De tweede operand kan een immediate gegeven of een direct- 5 11 194520 geadresseerd gegeven zijn. De adresseringswijze wordt bepaald door het onderzoeken van het tweede MSB, dat is F2, van de operatiecode. Wanneer F2 gelijk aan O is, is de tweede operand een immediate gegeven. Anders is de tweede operand een direct-geadresseerd gegeven.The REX allows two types of addressing: immediate and direct addressing. The first operand always uses direct addressing. The second operand can be an immediate given or an immediately addressed given. The addressing method is determined by examining the second MSB, that is F2, of the operation code. When F2 is O, the second operand is an immediate given. Otherwise, the second operand is a direct address.

Functionele beschrijving van de REX-chipFunctional description of the REX chip

Figuur 7 verschaft een gedetailleerd blokschema van de REX-chip 12. Om herhaalde beschrijving te vermijden, zijn elementen welke in het voorgaande in samenhang met eerdere figuren zijn beschreven, met dezelfde verwijzingscijfers aangeduid.Figure 7 provides a detailed block diagram of the REX chip 12. To avoid repeated description, elements described in the foregoing in conjunction with previous figures are designated with the same reference numerals.

10 Tabel B geeft de naam, l/O-type en de functie van elke, in figuur 7 geïllustreerde ingang en uitgang.Table B gives the name, I / O type and function of each input and output illustrated in Figure 7.

TABEL BTABLE B

PEN-OMSCHRIJVING VAN DE REX ... Symbool Type Naam en functie 70 CLK I Klok Ingang ("Clock Input”): CLK stuurt de interne verwerking van de REX-chip.PEN DESCRIPTION OF THE REX ... Symbol Type Name and function 70 CLK I Clock Input: CLK controls the internal processing of the REX chip.

De maximale klokfrequentie bedraagt 6 MHz.The maximum clock frequency is 6 MHz.

CS I Chip Selectie ("Chip Select”): CS is een actief-laag ingang welke wordt gebruikt 2Q voor het selecteren van de REX-chip als een l/O-inrichting wanneer de CPU de interne registers (WM, WMC, C/S) van de REX-chip wil lezen/schrijven.CS I Chip Selection ("Chip Select"): CS is an active-low input which is used 2Q to select the REX chip as an I / O device when the CPU handles the internal registers (WM, WMC, C / S) wants to read / write from the REX chip.

EMCS O Externe Geheugen Chip Selectie ("External Memory Chip Select”): EMCS is laag actief. Wanneer REX in de deductiemode is, wordt EMCS voor het selecteren van het externe geheugen ten behoeve van informatie omtrent het 25 voorschrift geselecteerd.EMCS O External Memory Chip Selection ("External Memory Chip Select"): EMCS is low active. When REX is in the deduction mode, EMCS is selected for selecting the external memory for information about the prescription.

TOR I l/O-Lezen ("I/O Read”): TÖR is laag actief. Wanneer zowel CS en 1ÜR actief zijn, heeft de CPU een leestoegang tot de interne registers (WM, WMC, C/S) van de REX-chip.TOR I / O Read ("I / O Read"): TÖR is low active. When both CS and 1ÜR are active, the CPU has read access to the internal registers (WM, WMC, C / S) of the REX chip.

1CW I l/O-Schrijven ("I/O Write”): 1ÖW is laag actief. Wanneer zowel CS en IÖW1CW I / O Write ("I / O Write"): 1ÖW is low active. When both CS and IÖW

„Q actief zijn, heeft de CPU een schrijftoegang tot de interne registers (WM, WMC, C/S) van de REX."Q are active, the CPU has write access to the internal registers (WM, WMC, C / S) of the REX.

HLauV O Gereed ("Ready”): HEADY is laag actief. HEADY is een synchronisatiesignaal voor externe gegevensoverdracht. HEADY gaat laag wanneer REX gereed Is voor nieuwe gegevens.HLauV O Ready: HEADY is low active. HEADY is a synchronization signal for external data transfer. HEADY goes low when REX is ready for new data.

RESET I Terugstellen ("Reset”): RESET is hoog actief. RESET wordt gebruikt om de toestand van de REX-chip te initialiseren. Alle registers worden teruggesteld nadat RESET is geactiveerd.RESET I Reset ("Reset"): RESET is highly active. RESET is used to initialize the state of the REX chip. All registers are reset after RESET is activated.

INT O Interruptie Aanvraag ("INTerrupt Request”): INT is hoog actief. De REX-chip gebruikt INT voor het onderbreken van de CPU wanneer de REX-chlp het 4q deductieproces heeft beëindigd.INT O Interruption Request ("INTerrupt Request"): INT is highly active. The REX chip uses INT to interrupt the CPU when the REX chlp has finished the 4q deduction process.

AO-A1 I Adres ("Address”): Door de CPU worden de twee minst significante adreslijnen voor het sturen van de gegevensoverdracht naar de interne registers (WM, WMC, C/S) van de REX-chip gebruikt.AO-A1 I Address ("Address"): The CPU uses the two least significant address lines for controlling data transfer to the internal registers (WM, WMC, C / S) of the REX chip.

DO-D15 I/O Gegegevensbus ("Data Bus”): De gegevensbuslijnen zijn bidirectionele 45 drie-toestanden-signalen welke met de systeemgegevensbus zijn verbonden.DO-D15 I / O Data Bus ("Data Bus"): The data bus lines are bidirectional 45 three-state signals that are connected to the system data bus.

De Gegevensbus bevat uitgangssignalen wanneer TÜR actief is. De Gegevens-bus bevat ingangssignalen wanneer 1CW actief is.The Data bus contains output signals when TÜR is active. The Data bus contains input signals when 1CW is active.

MAO- O Externe Geheugen-adresbus ("External Memory Address Bus"): Wanneer de MAI5 REX-chip in de deductiemode is, wordt de externe geheugen-adresbus voor het 5q adresseren van een voorschrift in het externe geheugen gebruikt.MAO-O External Memory Address Bus ("External Memory Address Bus"): When the MAI5 REX chip is in deduction mode, the external memory address bus is used to address a regulation in the external memory.

MDO- I Externe Geheugen-gegevensbus ("External Memory Data Bus”): Wanneer de MD31 REX-chip in de deductiemode is, zendt de externe geheugen-gegevensbus de informatie met betrekking tot elk voorschrift naar de REX-chip.MDO-I External Memory Data Bus (External Memory Data Bus): When the MD31 REX chip is in deduction mode, the external memory data bus sends the information related to each rule to the REX chip.

55 - WM: Werkgeheugen ("Working Memory") - WMC: Werkgeheugen-tellerregister ("Working Memory Counter register”) - C/S: Stuur/Status-vlag registers ("Control/Status flag registers”) 194520 1255 - WM: Working memory ("Working Memory") - WMC: Working memory counter register ("Working Memory Counter register") - C / S: Send / Status flag registers ("Control / Status flag registers") 194520 12

De identificatie van elk register en de werking van elk is als volgt: - WM (Werkgeheugen): Het werkgeheugen 16 wordt tijdens het deductieproces voor het opslaan van de tussengegevens gebruikt. Voordat REX het deductieproces start, wordt het werkgeheugen geladen met door de gebruiker ingevoerde feiten. De afmeting van het werkgeheugen begrenst steeds de hoeveelheid invoer 5 van de gebruiker naar de REX. In de geïllustreerde uitvoeringsvorm is het werkgeheugen een 4K X 8 statisch RAM.The identification of each register and the operation of each is as follows: - WM (Working memory): The working memory 16 is used during the deduction process for storing the intermediate data. Before REX starts the deduction process, the main memory is loaded with facts entered by the user. The size of the working memory always limits the amount of input 5 from the user to the REX. In the illustrated embodiment, the working memory is a 4K X 8 static RAM.

- WMC (Werkgeheugenteller) register: WMC is een 13-bit opteller met de mogelijkheid voor parallel laden. Tijdens de l/O-mode wordt WMC als werkgeheugenadresteller voor gegevensoverdracht gebruikt. Wanneer de gegevensoverdracht aan de gang is, zal WMC automatisch worden verhoogd. De inhoud van WMC kan 10 voorafgaand aan de start van de gegevensoverdracht door de CPU worden ingesteld.- WMC (Working memory counter) register: WMC is a 13-bit adder with the possibility for parallel loading. WMC is used as the main memory address counter for data transfer during the I / O mode. When data transfer is in progress, WMC will be automatically increased. The contents of WMC can be set by the CPU prior to the start of data transfer.

- C1 -register: C1 is een 16-bit opteller met de mogelijkheid van parallel laden. Tijdens het deductieproces wijst C1 naar een van de adressen van de voorschriften in het STRUCT-deel van het voorschriftengeheugen 13. C1 neemt met één toe voordat REX naar het volgende voorschrift gaat. Voor een JMP-instructie wordt C1 met een nieuwe waarde geladen in plaats van het met één verhogen hiervan.- C1 register: C1 is a 16-bit adder with the possibility of parallel loading. During the deduction process, C1 points to one of the prescriptions addresses in the STRUCT section of the prescription memory 13. C1 increases by one before REX moves to the next prescription. For a JMP statement, C1 is loaded with a new value instead of incrementing it by one.

15 - C2-register: C2 is een 16-bit afteller met de mogelijkheid van parallel laden. C2 wijst naar het VOORSCHRIFTEN-deel van het voorschriftengeheugen. Wanneer geen onware conditie in een voorschrift optreedt, wordt C2 met één verlaagd voordat REX naar de volgende conditie of actie gaat. Wanneer met betrekking tot een voorschrift een onware conditie wordt gedetecteerd, wordt C2 met het startadres van het volgende voorschrift geladen, in plaats van het met één verlagen daarvan.15 - C2 register: C2 is a 16-bit counter with the possibility of parallel loading. C2 points to the REGULATIONS section of the prescription memory. If no false condition occurs in a prescription, C2 is lowered by one before REX moves to the next condition or action. When an untrue condition is detected with respect to a prescription, C2 is loaded with the start address of the next prescription, rather than lowering it by one.

20 - OP-register: Het OP-register omvat drie delen: Operatiecode, OPI en OP2, welke een REX-instructie omvatten. Operactiecode is een 6-bit register dat de operator van een instructie opslaat. Zowel OPI als OP2 zijn 13-bit gegevensregisters welke respectievelijk het adres in het werkgeheugen van operandl en operand2 opslaan.20 - OP register: The OP register comprises three parts: Operation code, OP1 and OP2, which include a REX instruction. Operational code is a 6-bit register that stores the operator of an instruction. Both OP1 and OP2 are 13-bit data registers which respectively store the address in the working memory of operand1 and operand2.

- OP’-register: Het OP’-register is een voor-ophaalregister (’’prefetch register”) dat voor het opslaan van de 25 voor-ophaalinstructie (’’prefetch instruction”) voor het OP-register wordt gebruikt. REX zal de voor- ophaalinstructie uitvoeren tenzij er een JMP-instructie of een onware conditie optreedt.- OP 'register: The OP' register is a pre-fetch register ("prefetch register") that is used for storing the pre-fetch instruction ("prefetch instruction") for the OP register. REX will execute the pre-collection instruction unless a JMP instruction or a false condition occurs.

- SI (Start/lnactief) (”Start/ldle”) stuurvlag: SI wordt gebruikt om de REX-operatiestatus te identificeren: Deductiemode en l/O-mode. SI wordt door de CPU ingesteld nadat het systeem alle feiten naar het werkgeheugen heeft verzonden. SI heeft tijdens de deductiemode de waarde 1. SI wordt elke keer dat het 30 deductieproces stopt door de REX teruggesteld, waarna de REX naar de l/O-mode schakelt.- SI (Start / lactive) ("Start / ldle") control flag: SI is used to identify the REX operation status: Deduction mode and l / O mode. SI is set by the CPU after the system has sent all the facts to the main memory. During the deduction mode, SI has the value 1. SI is reset by the REX each time the deduction process stops, after which the REX switches to the I / O mode.

- IE (Interrupt-vrijgave) (’’Interrupt Enable”) stuurvlag: IE wordt tegelijkertijd met de Sl-vlag door de CPU ingesteld. REX kent de interrupt-vrijgave toe wanneer de REX naar de deductiemode overgaat. IE wordt met de IRQ-vlag voor het afgeven van een interruptiesignaal toegepast. De IE-vlag wordt aan het einde van de interruptieserviceroutine door de CPU teruggesteld.- IE (Interrupt Release) ("Interrupt Enable") control flag: IE is set by the CPU at the same time as the Sl flag. REX assigns the interrupt release when the REX switches to the deduction mode. IE is applied with the IRQ flag for issuing an interrupt signal. The IE flag is reset by the CPU at the end of the interrupt service routine.

35 - IRQ (Interrupt-aanvraag) (’’Interrupt ReQuest”) statusvlag: Wanneer het deductieproces stopt wordt IRQ door REX ingesteld om aan te geven dat de REX een interrupt aan de CPU vraagt. Voor het afgeven van een interruptiesignaal INT is IRQ en-verknoopt met de IE-vlag. IRQ wordt, nadat de interruptie is herkend, door de CPU teruggesteld.35 - IRQ (Interrupt Request) ("Interrupt ReQuest") status flag: When the deduction process stops, REX sets IRQ to indicate that the REX is requesting an interrupt from the CPU. To output an interrupt signal INT, IRQ is en-linked with the IE flag. IRQ is reset by the CPU after the interruption has been recognized.

Wanneer de REX in de l/O-mode is, kan de CPU registers van de REX lezen of schrijven. De signalen 40 en de beïnvloede registers zijn in tabel C aangegeven.When the REX is in the I / O mode, the CPU can read or write registers from the REX. The signals 40 and the affected registers are indicated in Table C.

TABEL CTABLE C

DEFINITIE VAN DE REGISTERCODESDEFINITION OF REGISTER CODES

45 Registeroperatie CS IOW IOR A1 AO45 CS IOW IOR A1 AO Register Operation

Lees status-registers 0 10 0 0 ("Read Status Registers”) 50 Schrijf stuurregisters 0 0 10 0 ("Write Control Registers”)Read status registers 0 10 0 0 ("Read Status Registers") 50 Write control registers 0 0 10 0 ("Write Control Registers")

Lees werkgeheugenteller 0 1 0 0 1 ("Read Working Memory Counter”) 55----—Read working memory counter 0 1 0 0 1 ("Read Working Memory Counter") 55 ----—

Schrijf werkgeheugenteller 0 0 10 1 13 194520Write working memory counter 0 0 10 1 13 194520

TABEL CTABLE C

DEFINITIE VAN DE REGISTERCODES (vervolg)DEFINITION OF REGISTER CODES (continued)

Registeroperatie CS IOW IOR A1 AORegister operation CS IOW IOR A1 AO

5 _ ("Write Working Memory Counter”)5 _ ("Write Working Memory Counter")

Lees werkgeheugen 0 10 10 ("Read Working Memory”) 10 _Read working memory 0 10 10 ("Read Working Memory") 10 _

Schrijf werkgeheugen 0 0 110 ("Write Working Memory")Write working memory 0 0 110 ("Write Working Memory")

REX-chip is niet geselecteerd 1 X X X XREX chip is not selected 1 X X X X

15 ("REX Chip is Not Selected")15 ("REX Chip is Not Selected")

Bewerkingsmodi REX heeft twee bewerkingsmodi: 20 - l/O-mode - deductiemode.Editing modes REX has two editing modes: 20 - l / O mode - deduction mode.

De stuurvlag SI wordt als modevlag gebruikt. REX schakelt naar de andere mode wanneer de Sl-viag wordt veranderd.The control flag SI is used as a fashion flag. REX switches to the other mode when the Sl-viag is changed.

Voordat REX in de deductiemode gaat dient de REX alle door de gebruiker ingevoerde feiten vanuit het 20 hoofdsysteem in het werkgeheugen van de REX te laden. Wanneer de Sl-vlag wordt ingesteld, schakelt de REX van de l/O-mode naar de deductiemode. Nadat het deductiéproces is beëindigd, worden de resultaten vanuit het werkgeheugen naar het hoofdsysteem overgebracht.Before REX enters the deduction mode, the REX must load all the facts entered by the user from the main system into the working memory of the REX. When the Sl flag is set, the REX switches from the I / O mode to the deduction mode. After the deduction process is finished, the results are transferred from the main memory to the main system.

Tijdens de l/O-bewerking kan het hoofdsysteem specifieke registers lezen of schrijven, indien de REX-chip is geselecteerd. De sturing van lees/schrijf-bewerkingen en het selecteren van registers worden 30 door een set stuurlijnen gestuurd, welke in tabel C zijn aangegeven. Tijdens het lezen en het schrijven van WMC- en C/S-registers worden slechts enkele bits van de systeemgegevensbus gebruikt Dit is in figuur 8 geïllustreerd.During the I / O operation, the main system can read or write specific registers if the REX chip is selected. The control of read / write operations and the selection of registers are controlled by a set of control lines, which are indicated in table C. During the reading and writing of WMC and C / S registers, only a few bits of the system data bus are used. This is illustrated in Figure 8.

Zodra het werkgeheugen met door de gebruiker ingevoerde feiten is geladen, zal de REX het deductie-proces vanaf het eerste voorschrift in het externe geheugen starten. De deductiestroom van de REX is in 35 figuur 9 getoond.Once the main memory has been loaded with facts entered by the user, the REX will start the deduction process from the first prescription in the external memory. The deduction current of the REX is shown in Figure 9.

Er zijn drie verschillende machinecycli voor de REX in de deductiemode.There are three different machine cycles for the REX in deduction mode.

- T1-cyclus: T1 is een voorschrift-ophaalcyclus. De T1-cyclus wordt alleen tijdens het eerste begin van het deductieproces of wanneer een JMP-instructie optreedt uitgevoerd. In de T1 -cyclus wordt van een voorschrift in het externe geheugen het startadres in het C1 -register geplaatst. C1 is in feite een 40 voorschriftenteller, welke naar het startadres van het momentaan gededuceerde voorschrift wijst.- T1 cycle: T1 is a prescription retrieval cycle. The T1 cycle is only performed during the first start of the deduction process or when a JMP instruction occurs. In the T1 cycle, the start address of a regulation in the external memory is placed in the C1 register. C1 is in fact a 40 prescription counter, pointing to the starting address of the currently deduced prescription.

- T2-cyclus: T2 is een instructie-ophaalcyclus. In de T2-cyclus wordt de eerste conditie-instructie van elk voorschrift in de REX-registers geplaatst. De T2-cyclus wordt uitgevoerd wanneer een van de condities van een voorschrift onwaar is, waarbij de verwerking vanaf de eerste instructie van het volgende voorschrift start. C2 kan worden opgevat als een instructieteller die naar een conditie-instructie of een actie-instructie 45 verwijst welke momentaan in uitvoering is in de ALU.- T2 cycle: T2 is an instruction retrieval cycle. In the T2 cycle, the first condition instruction of each prescription is placed in the REX registers. The T2 cycle is performed when one of the conditions of a rule is false, the processing starting from the first instruction of the next rule. C2 can be understood as an instruction counter referring to a condition instruction or an action instruction 45 which is currently being implemented in the ALU.

- T3-cyclus: De T3-cyclus is een instructieverwerkingscyclus. Er zijn verschillende gevallen voor de T3-cyclus:- T3 cycle: The T3 cycle is an instruction processing cycle. There are several cases for the T3 cycle:

Conditie-instructie/lmmediate gegevens Conditie-instructie/Directe adressering 00 Actie-instructie/lmmediate gegevens Actie-instructie/Directe adressering JMPCondition instruction / Immediate data Condition instruction / Direct addressing 00 Action instruction / Immediate data Action instruction / Direct addressing JMP

STOP (einde van het voorschrift)STOP (end of the prescription)

De instructie-voorophaalcyclus is overlappend met de T3-cyclus. Wanneer een JMP-instructie optreedt 02 zal de bewerkingsreeks naar de T1 -cyclus gaan. Wanneer het resultaat van een Conditie-instructie onwaar is, zal de bewerkingsreeks naar de T2-cyclus gaan. Wanneer geen JMP-instructie en geen onware conditie optreedt, zal de REX de voorophaalgegevens gebruiken om naar de T3-cyclus te gaan.The instruction prefetch cycle overlaps the T3 cycle. When a JMP instruction occurs 02, the operation sequence goes to the T1 cycle. If the result of a Condition statement is false, the operation sequence will go to the T2 cycle. If no JMP instruction and no false condition occurs, the REX will use the prefetch data to go to the T3 cycle.

194520 14 REX zal steeds hetzelfde proces doorlopen, totdat alle voorschriften in het externe geheugen zijn gededuceerd. Wanneer het deductïeproces stopt wordt de Sl-vlag naar "O” teruggezet. De REX schakelt dan van de deductiemode naar de l/O-mode.194520 14 REX will always go through the same process until all regulations in the external memory have been reduced. When the deduction process stops, the Sl flag is reset to "O". The REX then switches from the deduction mode to the I / O mode.

55

TijddiagramTimetable

De tijddiagrammen voor de REX in de l/O-leesmode, de l/O-schrijfmode en voor het externe voorschriftengeheugen zijn respectievelijk in de figuur 10-12 getoond. De AC (wisselstroom) eigenschappen van de REX in de l/O-mode zijn in tabel D aangegeven.The time diagrams for the REX in the I / O read mode, the I / O write mode and for the external rule memory are shown in Figures 10-12, respectively. The AC (alternating current) properties of the REX in the I / O mode are shown in Table D.

1010

TABEL DTABLE D

AC-SPECIFICATIEAC SPECIFICATION

Symbool Parameter Min Min Type Max Eenheid 15 -:- TAS l/O-adresinsteltijd 20 - ns ("I/O Address Setup Time”) TAH l/O-adresvasthoudtijd 10 - - ns 20 ("I/O Address Hold Time”) TIW l/O-lees/schrijf-signaalbreedte 60 - - ns ("I/O Read/Write Signal Width”) 25 TOD Gegevensuitvoervertragingstijd - - 40 ns ("Data Output Delay Time") TOH Gegevensuitvoervasthoudtijd 10 - - ns ("Data Output Hold Time”) 30 - TDS Gegevensinsteltijd 20 - - ns ("Data Setup Time") TDH Gegevensvasthoudtijd 10 - - ns 35 ("Data Hold Time") TRS Gereed-signaal insteltijd 0 - - ns ("READY Signal Setup Time”) 40 TRD Gereed-signaal vertragingstijd 0 - CLK*1 ns ("READY Signal Delay Time”) TRW Gereed-signaal breedte CLK-10 CLK*1 CLK+10 ns ("READY Signal Width”) 45 - TMAW Extern geheugen-adressignaalbreedte - CLK*2 CLK*2+20 ns ("External Memory CLK*2-20 Address Signal Width”) 50 TMAC Extern geheugen-adrestoegangstijd ("External - - 170 nsSymbol Parameter Min Min Type Max Unit 15 -: - TAS l / O address set time 20 - ns ("I / O Address Setup Time") TAH l / O address hold time 10 - - ns 20 ("I / O Address Hold Time" ) TIW l / O read / write signal width 60 - - ns ("I / O Read / Write Signal Width") 25 TOD Data output delay time - - 40 ns ("Data Output Delay Time") TOH Data output hold time 10 - - ns (" Data Output Hold Time ”) 30 - TDS Data setup time 20 - - ns (" Data Setup Time ") TDH Data retention time 10 - - ns 35 (" Data Hold Time ") TRS Ready signal setup time 0 - - ns (" READY Signal Setup Time ”) 40 TRD Ready signal delay time 0 - CLK * 1 ns (“ READY Signal Delay Time ”) TRW Ready signal width CLK-10 CLK * 1 CLK + 10 ns (“ READY Signal Width ”) 45 - TMAW External memory address signal width - CLK * 2 CLK * 2 + 20 ns ("External Memory CLK * 2-20 Address Signal Width") 50 TMAC External memory address access time ("External - - 170 ns

Memory -Memory -

Address Access Time”) TMOH Extern geheugen-gegevensuitvoervasthoudtijd - -- ns 55 ("External 0Address Access Time ”) TMOH External memory data output retention time - - ns 55 (" External 0

Memory Data Output Hold Time") 15 194520Memory Data Output Hold Time ") 15 194520

TABEL DTABLE D

AC-SPECIFICATIE (vervolg)AC SPECIFICATION (continued)

Symbool Parameter Min Min Type Max Eenheid 5 _______ - ___ _ _ -___— TCSS Extern geheugen-chipselectieinsteltijd - - - ns ("External Memory 0 Chip Select Setup Time”) 10 TCSH Extern geheugen-chipselectievasthoudtijd ns ("External Memory 0 Chip Select Hold Time”) TMOZ Extern geheugen-uitvoerwisseling ("External - 20 - nsSymbol Parameter Min Min Type Max Unit 5 _______ - ___ _ _ -___— TCSS External memory chip selection set time - - - ns ("External Memory 0 Chip Select Setup Time") 10 TCSH External memory chip selection hold time ns ("External Memory 0 Chip Select Hold Time ”) TMOZ External memory output change (" External - 20 - ns

Memory Output Floating”)Memory Output Floating ”)

VERKLARENDE WOORDENLIJSTGLOSSARY

2020

Antecedent Het jf (indien) deel van een productievoorschrift.Antecedent The jf (if any) part of a production regulation.

Applicatiegebied Het onderwerp of veld dat voor het expertsysteem relevant is.Application area The subject or field that is relevant to the expert system.

Applicatie- Een set van voorschriften, welke door een kennis-ingenieur zijn geselecteerd, en voor voorschriftenset een specifiek toepassingsgebied relevant zijn.Application- A set of rules, which have been selected by a knowledge engineer, and a specific application area is relevant for the set of prescriptions.

25 ASIC Applicatie-specifieke geïntegreerde schakeling ("Application Specific Integrated25 ASIC Application-specific integrated circuit ("Application Specific Integrated

Circuit”) is een op maat gemaakte geïntegreerde schakeling voor een specifieke applicatie.Circuit ”) is a tailor-made integrated circuit for a specific application.

Consequentie Het then (dan) deel van een productievoorschrift.Consequence The then (then) part of a production regulation.

CPU Centrale verwerkingseenheid (’’Central Processing Unit”): Een werkzame eenheid 30 welke instructies en gegevens verwerkt.CPU Central processing unit ("Central Processing Unit"): An operating unit 30 which processes instructions and data.

Co-processor Een gespecialiseerde processor welke met een hoofdcomputer samenwerkt om de kwaliteit van het gehele systeem te verhogen.Co-processor A specialized processor that works together with a main computer to increase the quality of the entire system.

Stuurlogica Een op maat gemaakte schakeling welke alle, voor de REX-chip benodigde bewerkin gen stuurt.Control logic A customized circuit that controls all operations required for the REX chip.

35 DMA Directe geheugentoegang ("Direct Memory Access”): Een in de communicatietechniek gebruikelijke werkwijze tussen een hoofdcomputer en computerrandapparatuur. DMA verschaft de meest efficiënte wijze voor het overbrengen van een blok van gegevens. Externe Een blok van binaire gegevens dat in een hoofdcomputergeheugen verblijft, gegevens 40 Extern geheugen Een fysisch geheugen waarin de applicatievoorschriftenset is opgeslagen.35 DMA Direct memory access: A method common to communication technology between a main computer and computer peripherals. DMA provides the most efficient way of transferring a block of data. External A block of binary data that resides in a main computer memory. , data 40 External memory A physical memory in which the application prescription set is stored.

Feit Een waarheid welke door feitelijke ervaring of observatie bekend is. Een groep van feiten wordt verzameld voor het aangrijpen van veronderstellingen.Fact A truth that is known through factual experience or observation. A group of facts is collected for the assumption.

Deductie Het interpreteren van een voorschrift van een applicatievoorschriftenset.Deduction Interpreting a prescription from an application prescription set.

Deductiemachine Een probleem-oplossend stuurmechanisme voor een expertsysteem.Deduction machine A problem-solving steering mechanism for an expert system.

45 l/O-interface Een type inrichtingsstuurorgaan dat verantwoordelijk is voor de communicatie tussen het hoofdcomputerstelsel en computerrandapparatuur.45 l / O interface A type of device controller that is responsible for communication between the main computer system and computer peripherals.

Kennis-ingenieur Een persoon welke kennis en feiten aan een betreffend applicatiegebied onttrekt en deze in een applicatievoorschriftenset omzet.Knowledge engineer A person who extracts knowledge and facts from a relevant application area and converts them into an application prescription set.

PC Personal computer.PC Personal computer.

50 PC/DOS Het schijfbeheersysteem (’’Disk Operating System”) van een personal computer, dat de lees/schrijf-handelingen van een schijfstuurorgaan beheert.50 PC / DOS The disk management system ("Disk Operating System") of a personal computer, which controls the read / write operations of a disk controller.

Produktie- Een voorschrift dat in een if-then-formaat is gespecificeerd, voorschrift RAM Willekeurig toegankelijk geheugen (’’Random-Access Memory"): Een elektronisch 55 geheugen dat binaire informatie bevat welke voor lezen of schrijven toegankelijk is.Production- A prescription specified in an if-then format, prescription RAM Random Access Memory: An electronic 55 memory that contains binary information that is accessible for reading or writing.

194520 16 ROM Dood geheugen (’’Read-Only Memory”): Een elektronisch geheugen dat de binaire informatie opslaat. Een ROM is alleen toegankelijk om te lezen; het heeft geen 5 schrijfmogelijkheid.194520 16 ROM Dead memory ("Read-Only Memory"): An electronic memory that stores the binary information. A ROM is only accessible for reading; it does not have 5 writing options.

Voorschriften- Een organisatieschema waarmee de productievoorschriften op een efficiënte wijze informatie- worden opgeslagen om geheugenruimte en verwerkingstijd te besparen, bankstructuurRegulations - An organization chart with which the production regulations are efficiently stored in information - to save memory space and processing time, bank structure

Werkgeheugen Een RAM dat in de REX-chip is gehuisvest voor het opslaan van de aanvangs*, tussen- en eindgegevens van een deductieproces.Working memory A RAM that is housed in the REX chip for storing the initial *, intermediate and final data of a deduction process.

Gebruikers- Een computerprogramma dat verantwoordelijk is voor de communicatie tussen de interface eindgebruikers en het computerhoofdsysteem.Users - A computer program that is responsible for communication between the end-user interface and the main computer system.

Voorbeeld van een dieridentificatie-voorschriftenset VOORSCHRIFT 1 15 IFExample of an animal identification prescription set REGULATION 1 15 IF

(bedekking = haar)(cover = hair)

THENTHEN

(klasse = zoogdier).(class = mammal).

VOORSCHRIFT 2 20 IFREGULATION 2 20 IF

(productie = melk)(production = milk)

THENTHEN

(klasse = zoogdier).(class = mammal).

VOORSCHRIFT 3 25 IFREGULATION 3 25 IF

(bedekking = veren)(cover = springs)

THENTHEN

(klasse = vogel).(class = bird).

VOORSCHRIFT 4 30 IFREGULATION 4 30 IF

(beweging = vliegen) en (productie = eieren)(movement = flies) and (production = eggs)

THENTHEN

(klasse = vogel).(class = bird).

35 VOORSCHRIFT 5 IF35 REQUIREMENT 5 IF

(voedsel = vlees)(food = meat)

THENTHEN

(vleeseter = ja).(meat eater = yes).

40 VOORSCHRIFT 6 IF40 REQUIREMENT 6 IF

(tanden = puntig) en (lid = klauwen) en (ogen = voorwaarts)(teeth = pointed) and (lid = claws) and (eyes = forward)

45 THEN45 THEN

(carnivoor = ja).(carnivore = yes).

VOORSCHRIFT 7 IFREGULATION 7 IF

(klasse = zoogdier) en 50 (leden = hoeven)(class = mammal) and 50 (members = hooves)

THENTHEN

(type = gehoefd).(type = required).

VOORSCHRIFT 8 IFREGULATION 8 IF

55 (klasse = zoogdier) en (voedsel = herkauwmassa)55 (class = mammal) and (food = ruminant mass)

THENTHEN

17 194520 (type = gehoefd) en (tenen = even).17 194520 (type = required) and (toes = even).

VOORSCHRIFT 9 IFREGULATION 9 IF

5 (klasse = zoogdier) en (type = vleeseter) en (kleur = geelbruin) en (vlekken = donker)5 (class = mammal) and (type = meat eater) and (color = tan) and (spots = dark)

THENTHEN

10 (dier = cheetah).10 (animal = cheetah).

VOORSCHRIFT 10 IFREGULATION 10 IF

(klasse = zoogdier) en (type = vleeseter) en 15 (kleur = geelbruin) en (strepen = zwart)(class = mammal) and (type = meat eater) and 15 (color = tan) and (stripes = black)

THENTHEN

(dier = tijger).(animal = tiger).

VOORSCHRIFT 11 20 IFREGULATION 11 20 IF

(type = gehoefd) en (nek = lang) en (benen = lang) en (vlekken = donker)(type = hoved) and (neck = long) and (legs = long) and (spots = dark)

25 THEN25 THEN

(dier = giraffe).(animal = giraffe).

VOORSCHRIFT 12 IFREGULATION 12 IF

(type = gehoefd) en 30 (strepen = zwart)(type = hoved) and 30 (stripes = black)

THENTHEN

(dier = zebra).(animal = zebra).

VOORSCHRIFT 13 IFREGULATION 13 IF

35 (klasse = vogel) en (beweging < > vliegen) en (nek = lang) en (benen = lang) en 40 (kleur = zwart -en- wit)35 (class = bird) and (movement <> fly) and (neck = long) and (legs = long) and 40 (color = black and white)

THENTHEN

(dier = struisvogel).(animal = ostrich).

VOORSCHRIFT 14 IFREGULATION 14 IF

45 (klasse = vogel) en (beweging = < > vliegen) en (zwemmen = ja) en (kleur = zwart -en- wit)45 (class = bird) and (movement = <> fly) and (swimming = yes) and (color = black and white)

THENTHEN

50 (dier = pinguïn).50 (animal = penguin).

VOORSCHRIFT 15 IFREGULATION 15 IF

(klasse = vogel) en (beweging = goed -vliegend) (dier = albatros).(class = bird) and (movement = good-flying) (animal = albatross).

55 THEN55 THEN

Claims (10)

194520 18194520 18 1, Hardware-geïmplementeerde op voorschriften gebaseerde expert-systeeminrichting voor het uitvoeren van dedukties met hoge snelheid gebaseerd op een voorschriftenset voor een toepassingsgebied, 5 omvattend: toegewezen werkgeheugenmiddelen voor het opslaan daarin van feiten betrekking hebbend op het toepassingsgebied; toegewezen voorschrift-geheugenmiddelen voor het opslaan daarin van de voorschriftenset voor het toepassingsgebied, omvattend een reeks instrukties die ieder een conditie of een actie definiëren; 10 logische middelen; een eerste communikatiebus die de werkgeheugenmiddelen communicatief verbindt met de logische middelen; een tweede communicatiebus die communicatief is verbonden met de voorschriftgeheugenmiddelen; welke logische middelen toegewezen middelen omvatten voor het achtereenvolgens uitvoeren van de 15 instructies in de voorschriftgeheugenmiddelen welke zijn verkregen via de tweede communicatiebus, met verwijzing naar de opgeslagen feiten in de werkgeheugenmiddelen zoals verkregen via de eerste communicatiebus, teneinde daardoor nieuwe feiten te deduceren en waarin ten minste een van de genoemde instrukties van elk voorschrift een conditie representeert waaraan moet worden voldaan door de feiten van een gegeven probleem en omvattend: 20 (i) een bewerkingscode die een logische uit te voeren bewerking definieert; (ii) een eerste operand die een eerste, door de logische bewerking te vergelijken waarde definieert en (iii) een tweede operand die het adres in het werkgeheugen definieert, dat een tweede, door de logische bewerking te vergelijken waarde bevat.1, Hardware-implemented rule-based expert system device for performing high-speed deductions based on a prescription set for an application area, comprising: allocated working memory means for storing therein relating to the application area; allocated prescription memory means for storing therein the prescription set for the scope, comprising a series of instructions that each define a condition or an action; Logical means; a first communication bus communicatively connecting the working memory means to the logic means; a second communication bus that is communicatively connected to the prescription memory means; which logical means comprise allocated means for successively executing the instructions in the prescription memory means obtained via the second communication bus, with reference to the stored facts in the working memory means as obtained via the first communication bus, in order thereby to deduce new facts and wherein at least one of said instructions of each rule represents a condition to be satisfied by the facts of a given problem and comprising: (i) an operation code defining a logical operation to be performed; (ii) a first operand defining a first value to be compared by the logical operation and (iii) a second operand defining the address in the working memory that contains a second value to be compared by the logical operation. 2. Hardware-geïmplementeerde op voorschriften gebaseerde expert-systeeminrichting die geschikt is voor 25 het uitvoeren van deducties met hoge snelheid gebaseerd op een voorschriftenset voor een toepassingsgebied, omvattend: toegewezen werkgeheugenmiddelen voor het opslaan daarin van feiten betrekking hebbend op het toepassingsgebied; toegewezen voorschrift-geheugenmiddelen voor het opslaan daarin van de voorschriftenset voor het 30 toepassingsgebied, omvattend een reeks instructies die ieder een conditie of een actie definiëren; logische middelen; een eerste communikatiebus die de werkgeheugenmiddelencommunicatief verbindt met de logische middelen; een tweede communiatiebus die communicatief is verbonden met de voorschriftgeheugenmiddelen; 35 welke logische middelen toegewezen middelen omvatten voor het achtereenvolgens uitvoeren van de instrukties in de voorschriftgeheugenmiddelen welke zijn verkregen via de tweede communicatiebus, met verwijzing naar de opgeslagen feiten in de werkgeheugenmiddelen zoals verkregen via de eerste communicatiebus, teneinde daardoor nieuwe feiten te deduceren en waarbij ten minste een van de instructies van elk voorschrift een actie representeert die dient te worden uitgevoerd indien aan alle 40 condities van het voorschrift is voldaan en omvattend: (i) een bewerkingscode die de uit te voeren actie definieert en (ii) een eerste operand die een waarde voor een feit definieert en (iii) een tweede operand die een adres definieert in de werkgeheugenmiddelen, waarin de in de eerste operand gedefinieerde waarde dient te worden opgesiagen.2. Hardware-implemented rule-based expert system device capable of performing high-speed deductions based on a set of prescriptions for an application area, comprising: allocated working memory means for storing therein facts relating to the application area; allocated prescription memory means for storing therein the prescription set for the scope, comprising a set of instructions that each define a condition or an action; logical means; a first communication bus communicatively connecting the working memory means to the logic means; a second communication bus that is communicatively connected to the prescription memory means; Which logical means comprise allocated means for successively executing the instructions in the prescription memory means obtained via the second communication bus, with reference to the stored facts in the working memory means as obtained via the first communication bus, in order thereby to deduce new facts and at least one of the instructions of each prescription represents an action to be performed if all 40 conditions of the prescription are met and comprising: (i) an operation code defining the action to be performed and (ii) a first operand representing a defines a value for a fact and (iii) a second operand defining an address in the working memory means, in which the value defined in the first operand is to be stored. 3. Hardware-geïmplementeerde op voorschriften gebaseerde expert-systeeminrichting volgens conclusie 1 of 2, met het kenmerk, dat de voorschriftset is opgeslagen als een reeks instructies in opeenvolgende geheugenadressen te beginnen aan één einde van de voorschriftgeheugenmiddelen en bovendien middelen omvat voor het opslaan van een voorschriftenindex in opeenvolgende geheugenadressen te beginnen aan het tegenovergestelde einde van de voorschriftgeheugenmiddelen, welke voorschriftenindex een reeks 50 geheugenadressen omvat, die het begingeheugenadres van elk voorschrift van de voorschriftenset definieert.A hardware-implemented rule-based expert system device according to claim 1 or 2, characterized in that the prescription set is stored as a set of instructions in successive memory addresses starting at one end of the prescription memory means and further comprising means for storing a prescription index in successive memory addresses starting at the opposite end of the prescription memory means, which prescription index comprises a series of 50 memory addresses defining the initial memory address of each prescription of the prescription set. 4. Inrichting volgens een van de conclusies 1 t/m 3, met het kenmerk, dat de middelen voor het opeenvolgend uitvoeren van instructies in de voorschriftgeheugenmiddelen voorschriftgeheugentelmiddelen omvatten, die een adresregister omvatten voor het opslaan van het adres van de actuele instructie in de voorschrift- 55 geheugenmiddelen en middelen voor het actualiseren van het adresregister met het adres van de volgende instructie op elk tijdstip dat een instructie uit de voorschriftgeheugenmiddelen wordt gehaald.Device according to one of claims 1 to 3, characterized in that the means for successively executing instructions in the prescription memory means comprises prescription memory counting means comprising an address register for storing the address of the current instruction in the prescription 55 memory means and means for updating the address register with the address of the next instruction at any time that an instruction is retrieved from the prescription memory means. 5. Inrichting volgens een van de conclusies 1 t/m 4, met het kenmerk, dat de logische middelen opeenvol- 19 194520 gend de instructies in de voorschriftgeheugenmiddeien uitvoeren teneinde deducties uit te voeren met voorwaartse verketening op de opgeslagen voorschriftset en daardoor de nieuwe feiten te deduceren.Device according to one of claims 1 to 4, characterized in that the logic means sequentially execute the instructions in the prescription memory means to perform deductions with forward chaining on the stored prescription set and thereby the new facts to deduce. 6. Inrichting volgens een van de voorafgaande conclusies, met het kenmerk, dat deze middelen omvat die funktioneren indien het logische resultaat van de logische bewerking WAAR is voor het tot stand brengen 5 van het ophalen van de volgende instructie van hetzelfde voorschrift.Device according to one of the preceding claims, characterized in that it comprises means that function if the logical result of the logical operation is TRUE for effecting the retrieval of the next instruction of the same rule. 7. Inrichting volgens een van de voorafgaande conclusies, met het kenmerk, dat deze middelen omvat die j functioneren indien het logische resultaat van de logische bewerking FOUT is voor het ophalen van de | eerste instructie van het volgende voorschrift.Device according to one of the preceding claims, characterized in that it comprises means which function if the logical result of the logical operation is ERROR for retrieving the | first instruction of the following requirement. 8. Inrichting volgens een van de voorafgaande conclusies, met het kenmerk, dat elk van de instructies j 10 eveneens een directe/onmiddeilijke vlag omvat voor het specificeren van de adresmodus van een van de operanden.8. Device as claimed in any of the foregoing claims, characterized in that each of the instructions also comprises a direct / immediate flag for specifying the address mode of one of the operands. 9. Hardware-geïmplementeerde op voorschrift gebaseerde expertsysteeminrichting volgens een van de voorafgaande conclusies, met het kenmerk, dat de eerste communicatiebus een bidirectionele communicatiebus is, de tweede communicatiebus een unidirectionele communicatiebus is; 15 waarbij de inrichting eveneens een ingangs-uitgangs-interface omvat en een bidirectionele ingangs- uitgangs-interfacebus die communicatief de werkingsgeheugenmiddelen en de ingangs-uitgangs-interface met elkaar verbindt voor het opslaan in het werkgeheugen vanuit een extern systeem van de feiten die betrekking hebben op het toepassingsgebied en voor het overdragen van de gededuceerde nieuwe feiten die zijn opgeslagen in het werkgeheugen naar een extern systeem en dat eik van de instructies van de 20 voorschriftenset een conditie/actievlag omvat en dat de logische middelen een instruktiedecodeereenheid omvatten voor het testen van de conditie/actievlag teneinde te bepalen of de instructie een conditie of een actie is, middelen die werkzaam zijn indien de instructie een conditie is voor het vergelijken van de operanden in overeenstemming met de logische bewerking die is gespecificeerd door de bewerkingscode teneinde een logisch resultaat te genereren en middelen die werkzaam zijn indien de instructie een actie 25 is voor het uitvoeren van de door de bewerkingscode gespecificeerde actie op de operanden.Hardware-implemented prescription-based expert system device according to one of the preceding claims, characterized in that the first communication bus is a bi-directional communication bus, the second communication bus is a unidirectional communication bus; The device also comprising an input-output interface and a bi-directional input-output interface bus that communicatively connects the operating memory means and the input-output interface for storing in the working memory from an external system of the facts relating on the field of application and for transferring the deduced new facts stored in the working memory to an external system and that each of the instructions of the prescription set comprises a condition / action flag and that the logic means comprise an instruction decoding unit for testing the condition / action flag to determine whether the instruction is a condition or an action, means operative if the instruction is a condition for comparing the operands in accordance with the logical operation specified by the operation code to generate a logical result and agents active ind and the instruction is an action 25 for performing the action specified by the operation code on the operands. 10. Op een voorschrift gebaseerd expertsysteem, met het kenmerk, dat dit een hardware-geïmplementeerde op voorschriften gebaseerde expert-systeeminrichting omvat volgens conclusie 9 alsmede ”host"-computermiddelen als het genoemde externe systeem, dat communicatief verbonden is met de werkgeheugenmiddelen voor het toevoeren van de feiten die betrekking hebben op het toepassings- 30 gebied naar de werkgeheugenmiddelen en voor het accepteren van de gededuceerde nieuwe feiten uit de werkgeheugenmiddelen. Hierbij 11 bladen tekeningA prescription-based expert system, characterized in that it comprises a hardware-implemented rule-based expert system device according to claim 9, as well as "host" computer means as said external system, which is communicatively connected to the working memory means for supplying of the facts relating to the field of application to the working memory means and for accepting the deduced new facts from the working memory means.
NL8900588A 1988-03-11 1989-03-10 Expert system based on regulations. NL194520C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16687388A 1988-03-11 1988-03-11
US16687388 1988-03-11

Publications (3)

Publication Number Publication Date
NL8900588A NL8900588A (en) 1989-10-02
NL194520B NL194520B (en) 2002-02-01
NL194520C true NL194520C (en) 2002-06-04

Family

ID=22605029

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8900588A NL194520C (en) 1988-03-11 1989-03-10 Expert system based on regulations.

Country Status (4)

Country Link
JP (1) JPH01283639A (en)
DE (1) DE3907843C2 (en)
GB (1) GB2217068B (en)
NL (1) NL194520C (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920003701B1 (en) * 1988-03-17 1992-05-09 가부시끼가이샤 도시바 Real-time expert system
JPH01309101A (en) * 1988-06-08 1989-12-13 Hitachi Ltd Adaptive knowledge estimating method
JP3268529B2 (en) * 1990-03-14 2002-03-25 株式会社日立製作所 Knowledge database processing system and expert system
DE4100500A1 (en) * 1991-01-10 1992-07-16 Bodenseewerk Geraetetech SIGNAL PROCESSING ARRANGEMENT FOR THE CLASSIFICATION OF OBJECTS BASED ON THE SIGNALS OF SENSORS
DE4103128C2 (en) * 1991-01-30 1994-09-01 Krone Ag Real time expert computer system
DE10322686A1 (en) * 2003-05-20 2004-12-23 Siemens Ag Process for linking data sets comprising medical therapy information
US8510142B2 (en) 2011-07-20 2013-08-13 Fluor Technologies Corporation Conflicting expert systems

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4779208A (en) * 1983-09-28 1988-10-18 Hitachi, Ltd. Information processing system and method for use in computer systems suitable for production system
JPS619729A (en) * 1984-06-26 1986-01-17 Toshiba Corp Reasoning system
US4670848A (en) * 1985-04-10 1987-06-02 Standard Systems Corporation Artificial intelligence system
JPH0743722B2 (en) * 1985-08-02 1995-05-15 株式会社東芝 Inductive reasoning device
JPS647232A (en) * 1987-06-30 1989-01-11 Toshiba Corp Inference processor
GB2208020A (en) * 1987-06-30 1989-02-15 Toshiba Kk Inference processing system

Also Published As

Publication number Publication date
NL194520B (en) 2002-02-01
NL8900588A (en) 1989-10-02
GB2217068B (en) 1992-10-21
DE3907843C2 (en) 1995-03-16
JPH01283639A (en) 1989-11-15
DE3907843A1 (en) 1989-09-28
GB8905488D0 (en) 1989-04-19
GB2217068A (en) 1989-10-18

Similar Documents

Publication Publication Date Title
Agrawala et al. Foundations of microprogramming: architecture, software, and applications
EP0096576B1 (en) Mechanism for creating dependency free code for multiple processing elements
EP0096575B1 (en) Concurrent processing elements for using dependency free code
US3955180A (en) Table driven emulation system
US4228498A (en) Multibus processor for increasing execution speed using a pipeline effect
US4050058A (en) Microprocessor with parallel operation
US3943495A (en) Microprocessor with immediate and indirect addressing
EP0405495A2 (en) Instruction unit logic management apparatus included in a pipelined processing unit
US3200379A (en) Digital computer
NL194520C (en) Expert system based on regulations.
US5218669A (en) VLSI hardware implemented rule-based expert system apparatus and method
EP0096574B1 (en) System and method of renaming data items for dependency free code
JPH04504627A (en) Signal processing device and method
EP0244928A1 (en) Improvements relating to control flow in computers
Brooker Influence of high-level languages on computer design
EP0445797A2 (en) Fuzzy logic computer
Jensen et al. The Honeywell Modular Microprogram Machine: M3
Fuller PDP-11 40E microprogramming reference manual
JPH08501167A (en) Processing method of application program in parallel computer system
Creeger Lisp machines come out of the lab
Pan et al. Towards a Formal Verification of a Floating Point Coprocessor and its Composition with a Central Processing Unit
GB2077009A (en) Microprocessor
SU894709A1 (en) Device for sampling microcommands
Ichikawa et al. A Multimicroprocessor Ares for Associative Search on Semantic Data Bases
Poe et al. Issues of the design of a low level microprogramming language for global microcode compaction

Legal Events

Date Code Title Description
A1A A request for search or an international-type search has been filed
BB A search report has been drawn up
BC A request for examination has been filed
DNT Communications of changes of names of applicants whose applications have been laid open to public inspection

Free format text: KNOWLEDGE BASED SILICON CORPORATION;RICOH COMPANY LTD.

CNR Transfer of rights (patent application after its laying open for public inspection)

Free format text: RICOH COMPANY LTD.

V4 Lapsed because of reaching the maximum lifetime of a patent

Effective date: 20090310