DE69022773T2 - Datenverarbeitungsgerät. - Google Patents

Datenverarbeitungsgerät.

Info

Publication number
DE69022773T2
DE69022773T2 DE69022773T DE69022773T DE69022773T2 DE 69022773 T2 DE69022773 T2 DE 69022773T2 DE 69022773 T DE69022773 T DE 69022773T DE 69022773 T DE69022773 T DE 69022773T DE 69022773 T2 DE69022773 T2 DE 69022773T2
Authority
DE
Germany
Prior art keywords
behavior
rules
behaviors
time
simulation
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
DE69022773T
Other languages
English (en)
Other versions
DE69022773D1 (de
Inventor
David Malcolm Connah
Peter Roy Wavish
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Electronics NV
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 Philips Electronics NV filed Critical Philips Electronics NV
Publication of DE69022773D1 publication Critical patent/DE69022773D1/de
Application granted granted Critical
Publication of DE69022773T2 publication Critical patent/DE69022773T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/919Designing, planning, programming, CAD, CASE
    • Y10S706/92Simulation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)
  • Sorption Type Refrigeration Machines (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Diese Erfindung bezieht sich auf ein Datenverarbeitungsgerät, in dem eine Reihe von Regeln jeweils in Form einer Bedingung und einer zugehörigen Antwort gespeichert ist, wobei der Bedingungsanteil jeder Regel das Vorliegen eines bestimmten Verhaltens erfordert und das Gerät Mittel zur Reaktion auf die Erfüllung jeglicher genannten Bedingung durch die Erzeugung der zugehörigen Antwort enthält.
  • Eine bekannte Vorrichtung dieser allgemeinen Art wird in einem Artikel von R.D. Hill mit dem Titel "Supporting Concurrency, Communication and Synchronism in Human-Computer Interactions - The Sassafras UIMS", erschienen in ACM Transactions on Graphics, Band 5, Nr. 3 (Juli 1986), Seite 179 - 210, beschrieben. Bei dieser bekannten Vorrichtung in Form eines Benutzeroberflächen-Managementsystems (User-Interface Management System, UIMS) spezifiziert jede Regel eine Antwort auf ein externes Ereignis, d.h. die Eingabe eines Codes, oder eine vorzunehmende Handlung, wenn ein Zustand angenommen wird. Der Bedingungsanteil jeder Regel ist entweder der Name eines Ereignisses gefolgt von einer Liste mit Marken oder nur eine Liste mit Marken. Die Handlung beinhaltet eine Liste von zu setzenden ?? Marken, zu sendenden Ereignissen und Zuordnungen. Jede Eingabe in den verarbeitenden Teil der Vorrichtung geht durch eine Warteschlange mit eingehenden Ereignissen (die im System selbst durch das Starten ?? von Regeln erzeugt oder extern eingegeben werden kann). Eine Regel wird gestartet, d.h. die entsprechende zugehörige Antwort wird erzeugt, wenn alle Marken in der Bedingung gesetzt sind und das Ereignis (falls vorhanden) am Anfang der Warteschlange steht.
  • Die Verarbeitung in der bekannten Vorrichtung erfolgt durch Wiederholung der beiden folgenden Schritte:
  • 1. Unter Berücksichtigung nur derjenigen Regeln, deren Bedingungsanteil nur aus einer Liste mit Marken besteht,
  • (a) Identifizieren und Markieren aller Regeln, die aufgrund der aktuellen Werte der Marken gestartet werden können,
  • (b) Starten aller markierten Regeln.
  • 2. Unter Berücksichtigung aller anderen Regeln nochmals
  • (a) Identifizieren und Markieren aller Regeln, die aufgrund der aktuellen Werte der Marken und des Token am Anfang der Eingabe-Warteschlange gestartet werden können,
  • (b) Starten aller markierten Regeln
  • (c) Löschung des Token am Anfang der Eingabe-Warteschlange.
  • Es ist offensichtlich, daß mehr als eine Regel zur gleichen Zeit markiert werden kann; somit kann ein einzelnes Ereignis das Starten von mehr als einer Regel bewirken.
  • In der bekannten Vorrichtung wird eine Regel, wenn sie markiert ist, ausnahmslos gestartet, obwohl sich zum Zeitpunkt des Startens der Zustand der Vorrichtung dahingehend geändert haben kann, daß die Regel nicht länger markiert werden sollte. Dies stellt eine Einschränkung dar. Außerdem kann bei einer Vernachlässigung der tatsächlichen Verarbeitungsgeschwindigkeit der Schritte 1 und 2 die Geschwindigkeit, mit der sich der Zustand der Vorrichtung entwickelt, nur durch das Timing von extern eingegebenen Ereignissen beeinflußt werden. Es ist eine Aufgabe der vorliegenden Erfindung, diese Nachteile abzuschwächen.
  • Die französische Patentanmeldung Nr. 2544099 schafft ein Verfahren zur Erfassung eines Ausfalls in einem Produktionszyklus, wobei die für die Durchführung eines Schrittes benötigte Zeit mit einer Standardzeit verglichen wird und, falls die benötigte Zeit die Standardzeit überschreitet, die nicht durchgeführten logischen Bedingungen, die den Ausfall verursachten, angezeigt werden.
  • Die europäische Patentanmeldung Nr. 0249111 beschreibt eine Anordnung zur Umwandlung von Schaltcodes in Befehle speziell für Kransteuerungen. Eine bestimmte Funktionsanordnung kann jedem Schalter oder jeder Schaltgruppe über eine Gruppenadresse zugeordnet werden, die mittels einer Matrix ausgewählt wurde.
  • Die US-Patentschrift Nr. 3744029 beschreibt eine programmierbare Folgeregelung mit einem Regelkreis, der auf zwei gleichzeitig anliegende Eingangssignale reagiert, indem er ein Signal erzeugt, wenn eines der Eingangssignale eher als das andere eintrifft.
  • Die internationale Patentanmeldung Nr. WO 84/02988 beschreibt ein Verfahren zur Stabilisierung von asynchronen Zustandsmaschinen, durch das ein Eingangssignal, das in das Geschehen einbezogen werden kann, der logischen Schaltung nur über einen selbsthaltenden Schalter zugeführt wird, der über ein Rückkopplungssignal aktiviert wird.
  • Die vorliegende Erfindung ist dadurch gekennzeichnet, daß der Bedingungsanteil jeder der Regeln außerdem das ständige Vorliegen eines bestimmten Verhaltens oder einer Verhaltensgruppe während einer bestimmten endlichen Zeitspanne erfordert, und daß Mittel geschaffen werden, die die Antwort verhindern, falls das Verhalten oder die Verhaltensgruppe nicht mehr vorliegen sollte, wenn die Antwort erfolgen soll.
  • Es wurde jetzt erkannt, daß, wenn der Bedingungsanteil jeder der Regeln das ständige Vorliegen eines bestimmten Verhaltens oder einer Verhaltensgruppe während einer bestimmten endlichen Zeitspanne erfordert, die obengenannten Einschränkungen bei den bekannten Systemen gemindert werden können.
  • Gemäß einer Ausführungsform ist die vorliegende Erfindung dadurch gekennzeichnet, daß die Vorrichtung so ausgelegt ist, daß sie die Entwicklung einer Verhaltensgruppe über mehrere Stufen simuliert; daß der Antwortanteil jeder Regel eine Änderung des Verhaltens nach sich zieht; und daß die Vorrichtung Mittel enthält, mit denen registriert wird, welche Verhalten bei jeder Stufe der Simulation vorliegen, um mit Hilfe der Reihe von Regeln die genannte Registrierung und die Zeitpunkte innerhalb der Simulation zu bestimmen, bei denen jedes genannte Vorliegen begann, um den Zeitpunkt innerhalb der Simulation zu bestimmen, bei dem die nächste Änderung des Verhaltens auftreten wird, und um eine Ausgabe der späteren Zeitpunkte und der entsprechenden Änderungen des Verhaltens zu bewirken.
  • Diese Ausführungsform der vorliegenden Erfindung kann außerdem dadurch gekennzeichnet sein, daß die Vorrichtung mehrere Mittel enthält, die registrieren, welche Verhalten bei jeder Stufe der Simulation vorliegen, und dadurch, daß jedes der genannten Mittel so ausgelegt ist, daß es mit Hilfe eines entsprechenden Teils der Reihe von Regeln die genannte Registrierung und die Zeitpunkte innerhalb der Simulation bestimmt, bei denen jedes genannte Vorliegen begann, den Zeitpunkt innerhalb der Simulation bestimmt, bei dem die nächste Änderung des Verhaltens auftreten wird, und eine Ausgabe des späteren Zeitpunktes und der entsprechenden Änderungen des Verhaltens bewirkt, die von demjenigen der genannten Mittel bestimmt werden, das den frühesten späteren Zeitpunkt ermittelt hat.
  • Es ist offensichtlich, daß die obengenannten Simulationen keine Echtzeitsimulationen zu sein brauchen, jedoch zum Beispiel aus den direkt aufeinanderfolgenden Ausgaben der aufeinanderfolgenden Zeitpunkte bestehen können, zu denen Änderungen des Verhaltens in dem simulierten Prozeß auftreten, gemeinsam mit Daten, die diese Änderungen spezifizieren.
  • Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im folgenden näher beschrieben. Es zeigen:
  • Figur 1 ein Blockschaltbild einer ersten Ausführungsform,
  • Figuren 2 und 3 Ablaufpläne, die die Form eines von der in Figur 1 gezeigten Ausführungsform durchgeführten Programms darstellen, und
  • Figur 4 ein Blockschaltbild einer zweiten Äusführungsform.
  • In Figur 1 enthält ein Datenverarbeitungssystem einen Computer 1, einen Detektor 2 für externe Ereignisse und eine Echtzeituhr 3. Der Ausgang der Uhr 3 ist mit einem Eingangsanschluß 4 des Computers 1 verbunden, und ein Ausgang 5 des Detektors 2 ist mit einem Eingang 6 des Computers 1 verbunden. Der Ereignisdetektor 2 ist außerdem mit einer Reihe von Signaleingangsleitungen 7, 8 usw. und einem Rückstellsignaleingang 11 versehen. Die Signaleingangsleitungen 7, 8 usw. sind auch mit den entsprechenden Biteingängen eines Eingangsanschlusses 12 des Computers 1 verbunden. Der Computer 1 ist mit einem Ausgangsanschluß 13 versehen, dessen entsprechende Bitausgänge mit den entsprechenden Signalausgangsleitungen 14, 15 usw. verbunden sind. Ein weiterer Bitausgang 16 des Computers 1, zum Beispiel ein weiterer Bitausgang des Anschlusses 13, ist mit dem Rückstellsignaleingang 11 des Detektors 2 verbunden.
  • Der Detektor 2 ist so konstruiert, daß er an seinem Ausgang 5 jedes Mal ein Signal erzeugt, wenn sich der logische Pegel auf einer seiner Eingangsleitungen 7, 8 usw. ändert. Ein Rückstellsignal am Eingang 11 bewirkt, daß logisch "1" auflogisch "0" zurückgesetzt wird. Der Detektor 2 kann zum Beispiel ein ODER-Gatter und ein Flip-Flop mit RS-Tastung und für jede der Eingangsleitungen 7, 8 usw. ein monostabiles Flip-Flop mit positiver und negativer Flankentriggerung enthalten, dessen Eingang mit der entsprechenden Leitung 7, 8 usw. und dessen Ausgang mit dem Stelleingang des Flip-Flops mit RS-Tastung über das ODER-Gatter verbunden sind, wobei der Rückstelleingang und der Ausgang des Flip-Flops mit RS-Tastung mit dem Eingang 11 bzw. mit dem Ausgang 5 verbunden sind. Der Computer 1 beinhaltet in normaler Art eine Zentraleinheit 17, einen Programmspeicher 18 und einen zusätzlichen Speicher 19. Der zusätzliche Speicher 19 enthält unter anderem ein Speicherfeld 20, ein Speicherfeld 21, einen Zeiger 22 und ein Register 23. Das Speicherfeld 20 hat die Form einer Tabelle mit N Einträgen 240, 24i 24N-1' von denen jeder einer Position des Zeigers 22 entspricht, und das Speicherfeld 21 hat in gleicher Weise die Form einer Tabelle mit M Einträgen 25&sub0;, 25&sub1; ... 25M-1. Jeder der N Einträge 24 enthält jeweils eine der obengenannten Regeln und hat fünf Felder 26, 27, 28, 29 und 30. Die Daten im Feld 26 spezifizieren das Verhalten Bi, das vorliegen muß, damit die entsprechende Regel "armiert" wird; die Daten in Feld 27 spezifizieren die Zeit ti (die extrem kurz sein kann), während der das Verhalten Bi ständig vorliegen muß' damit die entsprechende Regel i tatsächlich "gestartet" wird; die Daten in Feld 28 speziffzieren die Antwort Ri, die erforderlich ist, wenn die entsprechende Regel i tatsächlich "gestartet" wird; die Daten in Feld 29 stellen eine Marke Fi dar, die der entsprechenden Regel i zugeordnet ist; und die Daten in Feld 30 spezifizieren den tatsächlichen Zeitpunkt Ti, zu dem die entsprechende Regel i gestartet werden muß, wenn die Marke Fi gesetzt wird. Jeder der M Einträge 25 entspricht jeweils einem Verhalten Bi, das in den Feldern 26 der N Einträge 24 spezifiziert ist, oder jeweils einer Komponente eines Verhaltens Bi, wenn dieses Verhalten zusammensetzt ist. Jeder der Einträge 25 hat drei Felder 31, 32 und 90. Die Daten in Feld 31 spezifizieren das entsprechende Verhalten oder die entsprechende Komponente des Verhaltens; die Daten in Feld 32 stellen eine Marke dar, die angibt, ob das entsprechende Verhalten oder die entsprechende Verhaltenskomponente vorliegt oder nicht; und die Daten in Feld 90 geben den Zeitpunkt an, zu dem das entsprechende Verhalten oder die entsprechende Verhaltenskomponente begonnen hat, wenn die Marke in dem entsprechenden Feld 32 gesetzt wird. Es gibt einen Eintrag 25 für jegliches Verhalten und jegliche Verhaltenkomponente, die in den Feldern 26 spezifiziert sind. Das Register 23 wird während des Betriebes mit dem Inhalt des Feldes 28 des Eintrags oder der Einträge 24 der Tabelle 20 geladen, das diejenige Regel oder diejenigen Regeln enthält, bei der/denen festgestellt wird, daß sie auf der Grundlage der gerade vorliegenden Verhalten als nächstes gestartet wird/werden, wie weiter unten zu sehen sein wird. Ein Feld 33 des Registers 23 enthält diesen Inhalt, d.h. Daten, die die erforderliche(n) Antwort(en) spezifizieren; ein Feld 34 enthält Daten, die den tatsächlichen Zeitpunkt spezifizieren, zu dem diese Antwort(en) gegeben werden muß/müssen; und ein Feld 35 enthält Daten, die angeben, von welcher Regel oder welchen Regeln der Inhalt des Feldes 33 abgeleitet wird.
  • Der Computer 1 in Figur 1 ist so programmiert, daß er ein zyklisches Hauptprogramm durchführt, das die Form eines Ablaufplans hat, wie in Figur 2 dargestellt, in dem einer der Blöcke die Form des in Figur 3 gezeigten Ablaufplans aufweist. Die Zeitspanne zwischen den Inkrementen der Echtzeituhr 3 ist so groß gewählt, daß ein Zyklus des Hauptprogramms immer innerhalb einer solchen Zeitspanne durchgeführt werden kann.
  • Die verschiedenen Schritte in dem in Figur 2 gezeigten Ablaufplan haben die folgenden Bedeutungen:
  • 36 - Start
  • 37 - Initialisieren
  • 91 - Wurde die Uhr 3 neu inkrementiert?
  • 38 - Entspricht der von der Uhr 3 angezeigte tatsächliche Zeitpunkt dem in Feld 34 des Registers 23 spezifizierten Zeitpunkt T?
  • 39 - In Feld 33 spezifizierte Antwort(en) geben und die Marke F im Feld 29 des Eintrags oder der Einträge 24 in Tabelle 20, spezifiziert durch den Inhalt von Feld 35 des Registers 23, zurücksetzen. Die Marke in Feld 32 von jeglichem Eintrag 25 in Tabelle 21, der einem Verhalten entspricht, das durch die Ausgabe der Antwort(en) geschaffen wurde, setzen und den aktuellen tatsächlichen Zeitpunkt von 3 in das Feld 90 des/der entsprechenden Eintrags/Einträge 25 in Tabelle 21 einlesen. Die Marke in Feld 32 von jeglichem Eintrag 25 in Tabelle 21, der einem Verhalten entspricht, das durch die Ausgabe der Antwort(en) beseitigt wurde, herabsetzen.
  • 40 - Führt der Detektor 2 dem Eingang 6 ein Signal zu?
  • 41 - Eingangsanschluß 12 zur Feststellung der logischen Pegel auf den Eingangsleitungen 7, 8 usw. lesen und diese Pegel in Tabelle 21 durch Einstellen (falls notwendig) der Marke in Feld 32 der Einträge 25, die den entsprechenden Eingangsleitungen entsprechen, registrieren. Für jeden Eintrag 25, für den die Marke in Feld 32 somit erneut gesetzt wird, die aktuelle Restzeit von 3 in das Feld 90 des entsprechenden Eintrags einlesen. Den Detektor 2 durch Erzeugung eines Rückstellsignals am Ausgang 16 zurücksetzen.
  • 42 - Routine aus Fig. 3
  • Die verschiedenen Schritte in dem in Figur 3 gezeigten Ablaufplan haben die folgenden Bedeutungen:
  • 43 - Start
  • 45 - Liegt/liegen für den Eintrag 24 in Tabelle 20, auf den der Zeiger 22 zeigt, das/die im Feld 26 spezifizierte(n) Verhalten, d.h. das durch den Zustand der Marke(n) in Feld 32 des entsprechenden Eintrags oder der entsprechenden Einträge 25 in Tabelle 21 als vorliegend angegebene Verhalten, vor?
  • 46 - Ist die Marke F in Feld 29 für den in Schritt 45 spezifizierten Eintrag 24 gesetzt?
  • 47 - Die in Schritt 46 spezifizierte Marke F herabsetzen.
  • 48 - Wie 46.
  • 49 - Für den in Schritt 45 spezifizierten Eintrag 24 (a) die Marke F in Feld 29 setzen und (b) die Summe aus der in Feld 27 gespeicherten Zeit und der letzten in dem/den Feld(em) 90 des Eintrages/der Einträge 25 in Tabelle 21 berechnen, die dem/den in Feld 26 spezifizierten Verhalten entspricht, und das Ergebnis in Feld 30 speichern.
  • 50 - Den Zeiger 22 inkrementieren.
  • 51 - Ist der Zeiger 22 bei N?
  • 52 - Den Zeiger 22 auf Null zurücksetzen. Den Inhalt von Feld 30 aller derjenigen Einträge 24, für die die Marke im entsprechenden Feld 29 gesetzt ist, überprüfen und feststellen, welche(r) den frühesten Zeitpunkt angibt/angibt. Diesen (tatsächlichen Zeitpunkt, zu dem die entsprechende Regel gestartet werden muß, wenn das/die in dem Bedingungsanteil dieser Regel spezifizierte(n) Verhalten weiterhin vorliegt/vorliegen) in Feld 34 des Registers 23 laden, den Inhalt des Feldes 26 des/der entsprechenden Eintrags/Einträge 24 in das Feld 33 des Registers 23 und die Daten, die den/die entsprechenden Eintrag/Einträge identifizieren, in das Feld 35 des Registers 23 laden.
  • 53 - Ende.
  • Es ist offensichtlich, daß die in Figur 3 gezeigte Routine immer nach einer Aktualisierung des Inhalts der in Fig. 1 dargestellten Tabelle 21 aufgrund einer gestarteten Regel (was zu einer potentieile Änderung des internen oder externen Verhaltens führt) und/oder nach einer Änderung des Eingangssignals auf einer der Leitungen 7, 8 usw. (entsprechend einer Änderung eines externen Verhaltens) durchgeführt wird. Somit wird die in Figur 3 dargestellte Routine zumindest bei jeder Änderung des in Tabelle 21 aufgeführten Verhaltens (extern oder intern) durchgeführt, und sie dient zur Feststellung, welche (falls überhaupt) der in den Einträgen 24 der Tabelle 20 gespeicherten Regeln ausgehend von der neuen Gruppe von aktuell vorliegenden Verhalten, wie in Tabelle 21 angegeben, als nächste gestartet werden muß/müssen, und zum Laden von Einzelheiten der erforderlichen Antwort zusammen mit dem tatsächlichen Zeitpunkt, zu dem diese erfolgen sollte, in das Register 23. Bei jeder Inkrementierung der Echtzeituhr 3 vergleicht das zyklische Hauptprogramm aus Figur 2 die in Feld 34 des Registers 23 spezifizierte Zeit mit der tatsächlichen Zeit und bewirkt, wenn die tatsächliche Zeit die spezifizierte Zeit erreichen sollte, daß die in Feld 33 spezifizierte(n) Antwort(en) ausgeführt wird/werden, d.h. es startet die entsprechende Regel, wonach die Routine aus Figur 3 noch einmal aufgerufen wird, so daß die nächste Regel (falls vorhanden), die aufgrund des gerade vorliegenden Verhaltens gestartet werden muß, bestimmt werden kann und die entsprechenden Daten im Register 23 gespeichert werden (wo sie die gerade vorliegenden Daten ersetzen).
  • Die in den Feldern 27 der Einträge 24i der Tabelle 20 gespeicherten Zeiten ti sollten natürlich ganzzahlige Vielfache der Zeitspanne zwischen den Inkrementen der Echtzeituhr 3 sein. Das mögliche Zeitminimum tmin entspricht der genannten verstreichenden Zeit, und wenn eine derartige Zeit in einem gegebenen Eintrag 24 erforderlich ist, braucht diese nicht unbedingt als solche in dem entsprechenden Feld 27 gespeichert zu werden; das System kann so ausgelegt sein, daß es auf eine fehlende Information in einem gegebenen Feld 27 so reagiert, daß es tmin zu der letzten in Schritt 49 spezifizierten Zeit addiert. In einem solchen Fall ist tmin praktisch eine Voreinstellung.
  • Wie oben beschrieben wird jeglicher Eintrag 24 in der Tabelle 20 jedes Mal ausgewertet, wenn die Routine aus Figur 3 durchgeführt wird (mit Hilfe des Zeigers 22). Dies ist nicht wesentlich, da die einzigen Einträge, die unbedingt ausgewertet werden müssen, diejenigen (falls überhaupt) sind, bei denen sich seit der letzten Durchführung der Routine aus Figur 3 ein Verhalten in Feld 26 geändert hat. Eine derartige Selektivität kann zu einer wesentlichen Reduzierung bei der Verarbeitung führen und bei jeder Durchführung der Routine aus Figur 3 zum Beispiel dadurch erreicht werden, daß erst alle Einträge 24 abgefragt werden, um festzustellen und festzuhalten, in welchem Feld 24 eine neue Änderung des Verhaltens vorliegt, und dann dem Zeiger 22 nur Werte zu geben, die diesen Einträgen entsprechen. Alternativ kann eine Tabelle (nicht abgebildet) erstellt werden, die jedem Eintrag 25 in Tabelle 21 entspricht, wobei diese Tabelle eine Liste aller Einträge 24 enthält, die das Verhalten aufweisen, welches dem entsprechenden Eintrag 25 in ihrem Feld 26 entspricht. Jedes Mal, wenn sich ein Verhalten ändert, kann die entsprechende Tabelle dann dazu verwendet werden, anzugeben, welche Einträge 24 ausgewertet werden müssen (welche Werte an den Zeiger 22 zu geben sind).
  • Es ist zu erkennen, daß ein Datenverarbeitungsgerät der beschriebenen Art in bezug auf die Figuren 1 bis 3 viele Anwendungsmöglichkeiten bietet. Obwohl seine Vorteile wohl am deutlichsten bei Anwendungen zutage treten, bei denen die Entwicklung der gesamten Vorrichtung eventuell von einer großen Anzahl von Verhalten abhängt, wird nun als Beispiel eine recht einfache Anwendungsmöglichkeit beschrieben. Diese Anwendung ist die Steuerung einer Waschmaschine, bei der auf die Betätigung der Starttaste folgendermaßen reagiert wird: (a) Befüllen der Waschtrommel mit heißem Wasser, (b) langsames Hin- und Herbewegen der Wäsche während 5 Minuten, (c) Abpumpen des Wassers aus der Waschtrommel während 50 Sekunden, (d) Befüllen der Waschtrommel mit kaltem Wasser und (e) Abpumpen des Wassers aus der Waschtrommel und schnelles Schleudern der Wäsche während 50 Sekunden. Es ist dafür gesorgt, daß das Programm beendet und eine Pumpen-Fehleranzeige aktiviert wird, wenn die Waschtrommel der Maschine noch voll Wasser ist, nachdem die Entleerungspumpe 10 Sekunden gelaufen ist, wodurch die Gefahr der Überhitzung der Pumpe im Falle ihrer Blockierung minimiert wird.
  • Zur Realisierung dieser Steuerung muß der Ereignisdetektor 2 mit zwei Eingangsleitungen 7 und 8 versehen sein, die mit der Starttaste der Maschine bzw. einem Wasserpegeldetektor in der Waschtrommel verbunden sind, und der Ausgangsanschluß 13 muß sechs Ausgangsleitungen 14, 15 usw. enthalten, die mit den Reglern für das Heißwasserventil, das Kaltwasserventil, den Langsamlauf des Waschmaschinenmotors, den Schnellauf des Waschmaschinenmotors, die Waschtrommel-Entleerungspumpe bzw. die Pumpen-Fehleranzeige der Maschine verbunden sind. Die entsprechenden Verhalten, die mit entsprechenden Daten in der Tabelle 21 aufgelistet sind, können dann folgende sein:
  • betriebsbereit
  • Starttaste_betätigt
  • erste_Befüllung
  • voll_Wasser
  • Heißwasserventil_geöffnet
  • Waschen
  • Motor_Langsamlauf
  • Entleerungspumpe_eingeschaltet
  • zweite_Befüllung
  • Kaltwasserventil_geöffnet
  • Schleudern
  • Motor_Schnellauf
  • Pumpen-Fehleranzeige_aktiviert
  • und die mit Daten in der Tabelle 20 aufgelisteten Regeln können folgende sein: Verhalten in Feld Zeitdauer in Feld 27 1. Betriebsbereit & Starttaste_betätigt 2. erste_Befüllung & nicht (voll_Wasser) 3. erste_Befüllung & voll_Wasser 4. Waschen & Motor_Langsamlauf 5. Waschen & Entleerungspumpe_eingeschaltet 6. zweite_Befüllung & nicht (voll_Wasser) 7. zweite_Befüllung & voll_Wasser 8. Schleudern nicht (betriebsbereit) erste_Befüllung Heißwasserventil_geöffnet nicht (Heißwasserventil_geöffnet) & nicht (erste_Befüllung) & Waschen & Motor_Langsamlauf nicht (Motor_Langsamlauf) & Entleerungspumpe_eingeschaltet nicht (Entleerungspumpe_eingeschaltet) & nicht (Waschen) & zweite_Befüllung Kaltwasserventil_geöffnet nicht (Kaltwasserventil_geöffnet) & nicht (zweite_Befüllung) & Schleudern & Motor_Schnellauf & Entleerungspumpe_eingeschaltet nicht (Motor_Schnellauf) & nicht (Entleerungspumpe_eingeschaltet) & nicht (Schleudern) & Pumpen-Fehleranzeige_aktiviert
  • wobei der Ausdruck "nicht (-----)" bedeutet, daß das in Klammern angegebene Verhalten nicht vorliegt. Betrachtet man die obengenannten Inhalte der Tabellen 20 und 21 aus Figur 1, so stellt sich heraus, daß die erforderliche Funktionsfolge durchgeführt wird, wenn das Verhalten "betriebsbereit" so markiert wird, daß es bei dem Schritt 37 Initialisieren aus Figur 2 vorliegt (während die anderen Verhalten als nicht vorliegend markiert sind). Die Verhalten "Starttaste_betätigt" und "voll_Wasser" entsprechen, zusätzlich zu den Zuständen der entsprechenden Marken in Tabelle 21, bestimmten logischen Pegeln auf den entsprechenden Eingangsleitungen 7 und 8, und die Verhalten "Heißwasserventil_geöffnet", "Motor_Schnellauf" und "Pumpen-Fehleranzeige_aktiviert" entsprechen, zusätzlich zu den Zuständen der entsprechenden Marken in Tabelle 21, bestimmten Signalen, die von dem System auf den entsprechenden Ausgangsleitungen 14, 15 usw. erzeugt werden. Umgekehrt entsprechen die Verhalten "betriebsbereit", "erste_ Befüllung", "Waschen", "zweite_Befüllung" und "Schleudern" lediglich Zuständen der entsprechenden Marken in Tabelle 21; sie stellen rein interne Verhalten dar, obwohl ihr Vorliegen einen bestimmten Vorgang anzeigt, der von der Maschine durchgeführt wird. Es ist festzustellen, daß die Verwendung dieser letzteren Verhalten in den entsprechenden Regeln tatsächlich Regeln ergibt, die aus den restlichen Teilen der entsprechenden Regeln bestehen und bei bestimmten Schritten im Betriebszyklus der Maschine geschaffen und gelöscht oder aktiviert und deaktiviert werden. Somit führt z.B. das Vorliegen des internen Verhaltens "Waschen" tatsächlich zur Schaffung oder Aktivierung der Regeln Motor_Langsamlauf und Entleerungspumpe_einschaltet nicht (Motor_Langsamlauf) & Entleerungspumpe_eingeschaltet nicht (Entleerungspumpe_eingeschalte& nicht (Waschen) & zweite_Befüllung
  • Wenn das interne Verhalten "Waschen" nicht mehr vorliegt, werden diese Regeln tatsächlich gelöscht oder deaktiviert. Somit bilden diese Regeln in der Tat ein Schema "Waschen".
  • Eine erfindungsgemäße Vorrichtung kann, falls gewünscht, lediglich zur Simulation der Entwicklung von Verhalten in der Realität benutzt werden anstatt tatsächlich an dieser Entwicklung teilzunehmen. Somit kann zum Beispiel das in bezug auf die Figuren 1 bis 3 beschriebene System lediglich zur Simulation der obengenannten Funktionen der Waschmaschine eingesetzt werden. Um dies zu erreichen, brauchen nur Regeln zu der Liste in Tabelle 20 hinzugefügt zu werden, um interne Änderungen des Verhaltens zu schaffen, die Änderungen in den Eingangsleitungen 7, 8 zum Detektor 2 entsprechen (wobei diese Änderungen natürlich nicht bei einer bloßen Simulation auftreten werden; der Detektor 2 kann unter diesen Umständen praktisch weggelassen werden). Dies kann durch das Hinzufügen der folgenden Regeln erreicht werden: Verhalten in feld Zeitdauer in Feld 27 10. betriebsbereit 11. Starttaste_betätigt 12. Heißwasserventil_geöffnet 13. Kaltwasserventil_geöffnet 14. Entleerungspumpe eingeschaltet nicht (Starttaste_betätigt) voll_Wasser nicht (voll_Wasser)
  • oder, wenn auch die Aktivierung der Pumpen-Fehleranzeige simuliert werden soll, nur die Regeln 10 bis 13. Somit wird das interne Verhalten "Starttaste_betätigt" eine Sekunde nach Auftreten des internen Verhaltens "betriebsbereit" geschaffen, das interne Verhalten "voll_Wasser" wird 50 Sekunden, nachdem das Verhalten "Heiß-/Kaltwasserventil_geöffnet" ständig vorliegt, geschaffen und, wenn die Regel 14 hinzugefügt wird, wird das interne Verhalten "nicht (voll_Wasser)" 5 Sekunden, nachdem das Verhalten "Entleerungspumpe_eingeschaltet" ständig vorliegt, geschaffen. Eine derartige Simulation des Betriebs von tatsächlich existierenden Geräten kann zur Verbesserung von deren Konstruktion, zur Diagnose von internen Fehlern und zur Vorhersage ihrer Leistung beitragen.
  • Die obenbeschriebene Simulation ist eine Echtzeit-Simulation. Unter gewissen Umständen kann es vorgezogen werden, stattdessen die Zeitpunkte, zu denen änderungen des Verhaltens auftreten, lediglich anzuzeigen, auszudrucken oder anderweitig in direkter Folge zusammen mit den entsprechenden Änderungen des Verhaltens auszugeben. In einem derartigen Fall kann die Echtzeituhr 3 aus Figur 1 auch weggelassen werden, die Vorrichtung aus Figur 1 mit einem Anzeigegerät, einem Drucker oder ähnlichem (nicht dargestellt) ausgerüstet werden und das Programm in Speicher 17 so abgeändert werden, daß zum Beispiel die Schritte 38 bis 41 und 91 in Figur 2 durch die folgende einzelne Funktionsfolge ersetzt werden:
  • Anzeigen, Drucken oder anderweitig Ausgeben der in Feld 34 des Registers 23 spezifizierten Zeit und jeglicher geschaffenen oder durch die in Feld 33 des Registers 23 spezifizierte(n) Antwort(en) beseitigten Verhalten. Rücksetzen der Marke F in Feld 29 des Eintrags oder der Einträge 24 in Tabelle 20, die durch den Inhalt von Feld 35 des Registers 23 spezifiziert sind. Setzen der Marke in Feld 32 von jedem Eintrag 25 in Tabelle 21, der einem Verhalten entspricht, das durch die Antwort(en) geschaffen wurde, und Einlesen der in Feld 34 des Registers 23 gespeicherten Zeit in das Feld 90 des/der entsprechenden Eintrags/Einträge 25 in Tabelle 21. Herabsetzen der Marke in Feld 32 von jedem Eintrag 25 in Tabelle 21, der einem Verhalten entspricht, das durch die Antwort beseitigt wurde.
  • Es sollte beachtet werden, daß der Ausdruck "Verhalten", wie er in dieser Spezifikation verwendet wird, in einem weiteren Sinne interpretiert werden sollte als dies üblicherweise im alltäglichen Gebrauch der Fall ist, nämlich dahingehend, daß sogar statische, leblose Objekte ein "Verhalten" aufweisen können; tatsächlich stellt ihre bloße Existenz eine Form von Verhalten dar. Der Ausdruck kann zum Beispiel dazu verwendet werden, die einfache Existenz eines Stuhls zusätzlich zu seinen physikalischen Eigenschaften wie seine Farbe, sein Gewicht, seine Form, seinen Platzbedarf usw. zu beschreiben. Außerdem kann ein Verhalten selbst eine oder mehrere der obengenannten Regeln beinhalten, so daß es möglich ist, Regeln von beliebigem Umfang zu verschachteln. Somit kann ein erfindungsgemäßes System zur Simulation der Entwicklung jeder Folge von Zuständen in der Realität verwendet werden.
  • Wenn ein Verhalten, das in Feld 26 von einer oder mehreren Regeln, die in der Tabelle 20 der in bezug auf die Figuren 1 bis 3 beschriebenen Vorrichtung enthalten sind, gespeichert ist, ein Verhalten einer anderen derartigen Vorrichtung darstellt, zum Beispiel insofern, als es in Feld 28 in der Tabelle 20 der anderen Vorrichtung gespeichert ist, so ist zu beachten, daß sich das Verhalten der ersten Vorrichtung durch das Verhalten der anderen Vorrichtung beeinflussen läßt, zum Beispiel indem die entsprechende(n) Eingangsleitung(en) 7, 8 der ersten Vorrichtung mit der/den entsprechenden Ausgangsleitung(en) 14, 15 der anderen Vorrichtung verbunden werden. Wenn das gleiche auf beide Vorrichtungen zutrifft, so kann zwischen ihnen eine Wechselbeziehung auftreten; die beiden Vorrichtungen können tatsächlich miteinander kommunizieren, zum Beispiel indem die entsprechende(n) Eingangsleitung(en) 7,8 der einen mit der/den entsprechenden Ausgangsleitung(en) 14, 15 der anderen Vorrichtung verbunden werden, obwohl sie in anderer Hinsicht ganz verschieden sein können und insbesondere völlig unterschiedliche Funktionen ausüben können. Dies trifft offensichtlich auch zu, wenn mehr als zwei derartige Vorrichtungen in einer Umgebung vorhanden sind. Wenn daher mehrere derartige Vorrichtungen in einer Umgebung vorhanden sind, die so ausgerüstet sind, daß sie über gewöhnliche Verhaltenszeichen miteinander kommunizieren können, können weitere Vorrichtungen mit ganz anderen Funktionen hinzugefügt werden, unter der einzigen Voraussetzung, daß ein Teil ihrer Verhaltensspezifikation das Empfangen und Übertragen von derartigen Zeichen und die Initiierung geeigneter Handlungen bei deren Empfang erlaubt. Es sind im Prinzip bei der Einführung dieser neuen Vorrichtungen keine Änderungen erforderlich.
  • Wenn die Tabelle 20 der in bezug auf die Figuren 1 bis 3 beschriebenen Vorrichtung eine sehr große Anzahl von Regeln enthält, kann die Verarbeitung, die bei jeder Änderung eines in Feld 21 gespeicherten Verhaltens erforderlich ist, aufwendig sein, so daß die Gesamtreaktionszeit der Vorrichtung auf eine solche Änderung des Verhaltens unerwünscht lang wird. In diesem Fall kann die Verarbeitung auf mehrere Vorrichtungen der beschriebenen Art aufgeteilt werden, falls jede dieser Vorrichtungen einen bidirektionalen Kommunikationskanal zu jeder der anderen Vorrichtungen, z.B. über einen zentralen Knotenpunkt, enthält. Die Reihe von Regeln, die sonst in einer einzigen Tabelle 20 gespeichert würde, kann dann in mehrere Teile aufgeteilt werden, von denen jeder in der entsprechenden Tabelle einer entsprechenden Vorrichtung gespeichert wird und wobei die entsprechenden Verhalten dann in der Tabelle 21 dieser Vorrichtung gespeichert werden. Damit die verschiedenen Vorrichtung auf koordinierte Weise funktionieren, kann jede von ihnen so angeordnet sein, daß sie Angaben über jede Änderung des Verhaltens, die über eine der Leitungen 7, 8 usw. zugeführt werden, und jede dadurch erzeugte Änderung des Verhaltens durch Starten einer der intern gespeicherten Regeln an jede der anderen Vorrichtungen überträgt, zum Beispiel als Teil jedes Schrittes 39 und 44 aus den Figuren 2 bzw. 3. Diese Angaben können zum Beispiel die Form von Signalen auf den entsprechenden Eingangsleitungen 7, 8 usw. jeder der anderen Vorrichtungen haben, so daß alle Vorrichtungen bei jeder Änderung des Verhaltens in geeigneter Weise reagieren. In der Tat können mehrere Vorrichtungen, die auf diese Art funktionieren und miteinander kommunizieren, ein fehlertolerantes Ganzes darstellen, wenn die Eingangsleitungen 7, 8 üsw. jeder Vorrichtung parallel zu den entsprechenden Leitungen der anderen Vorrichtungen geschaltet werden, da für den Fall, daß eine gegebene Vorrichtung fehlerhaft ist, dafür gesorgt werden kann, daß ihre gespeicherten Regeln und Verhalten automatisch auf die restlichen Vorichtungen aufgeteilt werden (was zwar zu einer Verringerung der Verarbeitungsgeschwindigkeit führt, womit jedoch ein kompletter Ausfall vermieden werden kann). Dieses Verfahren kann unterstützt werden, wenn tatsächlich in jeder Vorrichtung der komplette Satz Regeln und Verhalten gespeichert ist und bei fehlerfreiem Betrieb alle außer dem entsprechenden Teil deaktiviert sind.
  • Die Aufteilung der Verarbeitung auf mehrere Vorrichtungen in der oben beschriebenen Weise kann offensichtlich auch in dem Fall erfolgen, wenn lediglich die Auswertung von Verhalten in der Realität, wie oben beschrieben, in Echtzeit simuliert werden soll. Bei der alternativen Simulation, bei der die Zeitpunkte, zu denen Änderungen des Verhaltens auftreten, lediglich angezeigt oder anderweitig in direkter Folge zusammen mit den entsprechenden Änderungen des Verhaltens ausgegeben werden, kann diese Aufteilung immer noch durchgeführt werden. In diesem Fall müssen jedoch die von jeder Vorrichtungen bei einer Änderung des Verhaltens gemachten Vorhersagen untersucht werden. Jede Vorrichtung macht eine Vorhersage auf der Grundlage ihres Anteils an dem kompletten Satz Regeln und Verhalten, und es liegt auf der Hand, daß hierbei die früheste(n) Vorhersage(n) als nächstes ausgegeben werden muß/müssen. Somit kann bei der Durchführung dieser Art der Simulation dafür gesorgt werden, daß jede Vorrichtung bei jedem Auftreten einer Änderung des Verhaltens ihre eigene Vorhersage für den Zeitpunkt der nächsten Änderung des Verhaltens an den zentralen Knotenpunkt übermittelt, wobei der zentrale Knotenpunkt dann bestimmt, welcher dieser vorhergesagten Zeitpunkte der nächste ist, und diesen an alle Vorrichtungen übermittelt, um die entsprechende Ausgabe durch jegliche Vorrichtung zu deaktivieren, die einen anderen als den vom zentralen Knotenpunkt empfangenen Zeitpunkt der nächsten Änderung des Verhaltens vorhersagt. Diese Deaktivierung kann für den aktuellen Programmzyklus in der Streichung des obengenannten einzelnen Funktionsablaufs, der die Schritte 38 - 41 und 91 in Figur 2 ersetzt, und seinen Ersatz durch die Aktualisierung der entsprechenden Tabelle 21 in Übereinstimmung mit dem genannten frühesten Zeitpunkt und der/den zugehörige(n) Änderung(en) des Verhaltens bestehen (was der/den deaktivierten Vorrichtung(en) von der/den nicht deaktivierten Vorrichtung(en) mitgeteilt werden muß).
  • Es wurde zwar eine Ausführungsform der Erfindung beschrieben, bei der die erforderlichen Funktionen mittels eines intern gespeicherten Programms durchgeführt werden, jedoch ist zu beachten, daß eine derartige Steuerung nicht unbedingt vorliegen muß. Die Regeln können alternativ in der Vorrichtung als festverdrahtetes Programm gespeichert werden, und die Antwort auf die Erfüllung der entsprechenden Bedingung kann ebenfalls nur mittels Hardware erzeugt werden. In diesem Fall kann die Vorrichtung die in dem in Figur 4 gezeigten Blockschaltbild dargestellte Form annehmen.
  • In Figur 4 umfaßt ein erfindungsgemäßes Datenverarbeitungsgerät einen Satz logischer Schaltungen 60&sub1;, 60&sub2; ... 60N, die jede einem entsprechenden Paar der obengenannten Regeln entsprechen, wobei die Antwort auf die Erfülltung des Bedingungsanteils einer der beiden Regeln das Negativ der Antwort auf die Erfüllung des Bedingungsanteils der anderen Regel des entsprechenden Paares darstellt. Jede Schaltung 60 enthält eine Anschlußmatrix 61, zwei UND-Gatter 62 und 63, einen Zähler 64, einen Decodierer 73 und einen Inverter 70, die einer Regel des entsprechenden Paares entsprechen, sowie eine Anschlußmatrix 65, zwei UND-Gatter 66 und 67, einen Zähler 68, einen Decodierer 74 und einen Inverter 71, die der anderen Regel des entsprechenden Paares entsprechen, und ein Flip-Flop mit RS-Tastung 69. Die UND-Gatter 63 und 67 weisen jeweils zwei Eingänge auf, von denen einer von einem gemeinsamen Taktimpuls-Generator 72 gespeist wird. Der andere Eingang des UND-Gatters 63 ist mit dem Ausgang des UND-Gatters 62 verbunden und der andere Eingang des UND-Gatters 67 mit dem Ausgang des UND-Gatters 66. Die Takteingänge CL der Zähler 64 und 68 sind mit den Ausgängen der UND-Gatter 63 bzw. 67 verbunden und ihre Rückstelleingänge R sind über die Inverter 70 bzw. 71 mit den Ausgängen der UND-Gatter 62 bzw. 66 verbunden. Der Ausgang D des Zählers 64 ist mit dem Decodierer 73 verbunden und der Ausgang D des Zählers 68 mit dem Decodierer 74. Die Ausgänge 75 und 76 der Decodierer 73 und 74 sind mit dem Stelleingang (S) bzw. dem Rückstelleingang (R) des Flip-Flops 69 verbunden, dessen Q-Ausgang 78 mit der entsprechenden Eingangsleitung der Anschlußmatrix 77 verbunden ist. Die Decodierer 73 und 74 sind so ausgelegt, daß sie an ihren Ausgängen 75 bzw. 76 ein Signal erzeugen, wenn die Zahl in den entsprechenden Zählern 64 bzw. 65 einen vorher festgelegten Wert ungleich Null erreicht, wobei dieser Wert dem Zeitpunkt entspricht, zu dem die Reihe von Verhalten, die erforderlich ist, um die entsprechende Regel zu "armieren", vorliegen muß, damit die Regel tatsächlich gestartet wird. Die Anschlußmatrix 77 weist erste und zweite Mehrfachausgänge 79 bzw. 80 auf, wobei der Ausgang 80 mit einer Anschlußmatrix 81 verbunden ist, die einen weiteren Mehrfacheingang 82 aufweist. Der Ausgang 79 und der Eingang 82 bilden die Verbindung der Vorrichtung nach außen; der Eingang 82 kann weggelassen werden, wenn die Vorrichtung lediglich zu Simulationszwecken eingesetzt wird. Der Mehrfachausgang 83 der Anschlußmatrix 81 ist mit den Anschlußmatrizen 61 und 65 verbunden. Die Signale auf den jeweiligen Leitungen dieses Ausgangs 83 (abgeleitet entweder vom Eingang 82 oder intern von den jeweiligen Ausgängen 78 über die Anschlußmatrix 77) zeigen an, ob die jeweiligen Verhalten, die für das "Armieren" der verschiedenen Regeln erforderlich sind, vorliegen oder nicht. Das UND-Gatter 62 hat einen (gegebenenfalls invertierenden) Eingang, der jedem Verhalten entspricht, das zum "Armieren" der entsprechenden Regel vorliegen muß, wobei dieser Eingang mit der entsprechenden Leitung des Ausgangs 83 in der Matrix 61 verbunden ist. Somit wird, wenn diese Verhalten alle vorliegen, das UND-Gatter 63 freigegeben, wodurch der Taktgenerator 72 den Zähier 64 inkrementieren kann. Falls diese Situation lange genug besteht, erzeugt der Decodierer 73 ein Ausgangssignal, das das Flip-Flop 69 stellt (falls es nicht bereits gestellt ist), was zu einer logischen "1" am Ausgang 78&sub1; führt. Wenn jedoch die erforderliche Verhaltensreihe bereits vorher nicht mehr vorliegt, wird das UND-Gatter 63 wieder deaktiviert und der Zähler 64 über den Inverter 70 auf Null zurückgestellt. Die Bauelemente 66, 67, 68, 71, 74 funktionieren in der gleichen Weise, jedoch als Reaktion auf das Vorliegen von Verhalten, die von dem Ausgang 83 über die Anschlußmatrix 65 abgeleitet sind. Ein Ausgangssignal vom Decodierer 74 führt jedoch zur Rückstellung des Flip-Flps 69 (falls es nicht bereits zurückgestellt ist) und somit zu einer logischen "0" am Ausgang 78&sub1;. Es ist offensichtlich, daß die Zähler 64 und 68 von dem Typ sein sollten, der bei Erreichen des Maximums anhält, um sicherzustellen, daß jedes Mal, wenn die jeweiligen Verhalten vorliegen, nur ein Ausgangssignal erzeugt wird, auch wenn die jeweiligen Verhalten eine wesentliche Zeit weiterhin vorhanden bleiben, nachdem sie das erforderliche Ausgangssignal von dem jeweiligen Decodierer ausgelöst haben. Die Schaltungen 60&sub2; ... 60N funktionieren in der gleichen Weise wie die Schaltung 60&sub1;.
  • Aus der Lektüre der vorliegenden Beschreibung werden dem Fachkundigen leicht weitere Abwandlungen ersichtlich sein. Derartige Abwandlungen können andere Merkmale beinhalten, die an sich schon bekannt sind und anstelle oder zusätzlich zu hier bereits beschriebenen Merkmalen eingesetzt werden können. Obwohl in dieser Patentanmeldung Ansprüche bezüglich spezieller Kombinationen von Merkmalen formuliert wurden, sollte berücksichtigt werden, daß der Anwendungsbereich der Beschreibung der vorliegenden Patentanmeldung auch jegliches neue Merkmal oder jegliche neue Kombination von hier entweder explizit oder implizit beschriebenen Merkmalen oder jegliche Verallgemeinerung umfaßt, unabhängig davon, ob er sich auf dieselbe Erfindung bezieht, für die hier ein Patent beansprucht wird, oder nicht, und ob er jegliche oder alle gleichartigen technischen Probleme so wie die vorliegende Erfindung abschwächt oder nicht. Die Anmeider weisen hiermit darauf hin, daß neue Patentansprüche bezüglich derartiger Merkmale bzw. Kombinationen derartiger Merkmale während des Verfahrens zur vorliegenden Patentanmeldung oder zu jeglicher weiteren hiervon abgeleiteten Patentanmeldung formuliert werden können.

Claims (7)

1. Datenverarbeitungsgerät (1), in dem eine Reihe von Regeln (24) jeweils in Form einer Bedingung (26) und einer zugehörigen Antwort (28) gespeichert ist, wobei der Bedingungsanteil (26) jeder Regel das Vorliegen eines bestimmten Verhaltens (B) erfordert und das Gerät Mittel (17) zur Reaktion auf die Erfüllung jeglicher genannten Bedingung durch die Erzeugung der zugehörigen Antwoit (R) enthält, dadurch gekennzeichnet, daß der Bedingungsanteil (26) jeder der Regeln (24) außerdem das ständige Vorliegen eines bestimmten Verhaltens (B) oder einer Verhaltensgruppe während einer bestimmten endlichen Zeitspanne erfordert, und daß Mittel (17) geschaffen werden, die die Antwort verhindern, falls das Verhalten (B) oder die Verhaltensgruppe nicht mehr vorliegen sollte, wenn die Antwort (R) erfolgen soll.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Vorrichtung Mittel enthält, mit denen registriert (21) wird, welche der genannten Verhalten (B) oder Verhaltensgruppen zur Zeit vorliegen, und dadurch daß die Mittel (17) zum Reagieren auf die Erfüllung jeglicher genannten Bedingung so ausgelegt ist, daß sie die zugehörige Antwort (R) ausgehend von der Aufzeichnung erzeugen, die das entsprechende bestimmte Verhalten (32) oder die Verhaltensgruppe, das zur Zeit vorliegt, und den Zeitpunkt angibt, seit dem das Verhalten vorliegt.
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Vorrichtung Mittel zum Führen einer Liste der Zeitpunkte, seit denen jedes Verhalten vorliegt (90), zusammen mit der Aufzeichnung (21) enthält.
4. Vorrichtung nach einem der vorherigen Ansprüche, dadurch gekennzeichnet daß die Vorrichtung Mittel (17) zum Bezugnehmen auf die Reihe von Regeln (24) enthält, zumindest jedes Mal, wenn ein genanntes Verhalten (B) beginnt oder endet, und zum Bestimmen, welche (falls überhaupt) der genannten Bedingungen (26) als nächste auf der Grundlage der zur Zeit vorliegenden Verhalten (32) erfüllt wird.
5. Vorrichtung nach einem der vorherigen Ansprüche, dadurch gekennzeichnet daß der Antwortanteil (28) von mindestens einer der Regeln (24) die Schaffung eines bestimmten Verhaltens (B) (wenn es nicht bereits vorliegt) beinhaltet, dessen Vorliegen für den Bedingungsanteil (26) von mindestens einer der Regeln (24) erforderlich ist.
6. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Vorrichtung so ausgelegt ist, daß sie die Entwicklung einer Verhaltensgruppe über mehrere Stufen simuliert; daß der Antwortanteil (28) jeder Regel (24) eine Änderung des Verhaltens (B) nach sich zieht; und daß die Vorrichtung Mittel enthält, mit denen registriert wird, welche Verhalten (B) bei jeder Stufe der Simulation vorliegen, um mit Hilfe der Reihe von Regeln (24) die genannte Registrierung und die Zeitpunkte innerhalb der Simulation zu bestimmen, bei denen jedes genannte Vorliegen begann, um den Zeitpunkt innerhalb der Simulation zu bestimmen, bei dem die nächste Änderung des Verhaltens (B) auftreten wird, und um eine Ausgabe der späteren Zeitpunkte und der entsprechenden Änderungen des Verhaltens zu bewirken.
7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß die Vorrichtung mehrere Mittel enthält, mit denen registriert wird, welche Verhalten (B) bei jeder Stufe der Simulation vorliegen; und daß jedes der genannten Mittel so ausgelegt ist, daß es mit Hilfe eines entsprechenden Teils der Reihe von Regeln (24) die genannte Registrierung und die Zeitpunkte innerhalb der Simulation bestimmt, bei denen jedes genannte Vorliegen begann, den Zeitpunkt innerhalb der Simulation bestimmt, bei dem die nächste Änderung des Verhaltens (B) auftreten wird, und eine Ausgabe des späteren Zeitpunktes und der entsprechenden Änderungen des Verhaltens bewirkt, die von demjenigen der genannten Mittel bestimmt werden, das den frühesten späteren Zeitpunkt ermittelt hat.
DE69022773T 1989-05-08 1990-05-07 Datenverarbeitungsgerät. Expired - Lifetime DE69022773T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB8910538A GB2231693A (en) 1989-05-08 1989-05-08 Data processing system

Publications (2)

Publication Number Publication Date
DE69022773D1 DE69022773D1 (de) 1995-11-09
DE69022773T2 true DE69022773T2 (de) 1996-05-02

Family

ID=10656393

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69022773T Expired - Lifetime DE69022773T2 (de) 1989-05-08 1990-05-07 Datenverarbeitungsgerät.

Country Status (5)

Country Link
US (1) US5418887A (de)
EP (1) EP0397259B1 (de)
JP (1) JP3505174B2 (de)
DE (1) DE69022773T2 (de)
GB (1) GB2231693A (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978786A (en) * 1992-05-29 1999-11-02 The Charles Stark Draper Laboratory, Inc. System and method for automatically executing decisional rules
GB9406931D0 (en) * 1994-04-07 1994-06-01 Philips Electronics Uk Ltd Data processing apparatus
GB9413126D0 (en) * 1994-06-30 1994-08-24 Philips Electronics Uk Ltd Data processing apparatus
JP2840923B2 (ja) * 1994-11-11 1998-12-24 富士通株式会社 プロダクションシステム
GB9519678D0 (en) * 1995-09-27 1995-11-29 Philips Electronics Nv Behaviour prediction
GB9519677D0 (en) * 1995-09-27 1995-11-29 Philips Electronics Nv Data processing apparatus event cause determination
WO1997033424A2 (en) * 1996-03-04 1997-09-12 Philips Electronics N.V. A user-oriented multimedia presentation system for multiple presentation items that each behave as an agent
GB9616184D0 (en) * 1996-08-01 1996-09-11 Philips Electronics Nv Virtual environment navigation
US5941295A (en) * 1996-09-30 1999-08-24 Ag Industries, Inc. System and method for removing crystallized flux
US5832482A (en) * 1997-02-20 1998-11-03 International Business Machines Corporation Method for mining causality rules with applications to electronic commerce

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE330631B (de) * 1969-04-25 1970-11-23 Atlas Copco Ab
US4265371A (en) * 1978-10-06 1981-05-05 Trafalgar Industries Inc. Foodstuff vending apparatus employing improved solid-state type control apparatus
DE2846053A1 (de) * 1978-10-23 1980-05-29 Siemens Ag Verfahren und schaltungsanordnung zum ueberwachen des ordnungsgemaessen ablaufs eines programms
JPS57757A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Job execution schedule system
JPS5710807A (en) * 1980-06-23 1982-01-20 Toshiba Corp Output control device
US4365297A (en) * 1980-12-29 1982-12-21 Forney Engineering Company Industrial control system with distributed computer implemented logic
FR2544099A1 (en) * 1983-04-07 1984-10-12 Valenciennes Hainaut Cambresis Monitoring and fault display for automated process
GB8327567D0 (en) * 1983-10-14 1983-11-16 Gen Electric Co Plc Computers
US4644479A (en) * 1984-07-31 1987-02-17 Westinghouse Electric Corp. Diagnostic apparatus
US4642782A (en) * 1984-07-31 1987-02-10 Westinghouse Electric Corp. Rule based diagnostic system with dynamic alteration capability
DE3619388C1 (de) * 1986-06-09 1987-10-01 Stein Gmbh Anordnung zur Umwandlung von Schalterkodierungen in Funktionsvorgaben
US4812819A (en) * 1987-04-13 1989-03-14 The United States Of America As Represented By The United States Department Of Energy Functional relationship-based alarm processing system
US4853175A (en) * 1988-03-10 1989-08-01 The Babcock & Wilcox Company Power plant interactive display
US4951234A (en) * 1988-06-22 1990-08-21 Westinghouse Electric Corp. Monitoring a plurality of identical process parameters
US4890240A (en) * 1988-09-20 1989-12-26 International Business Machines Corporation Coalescing changes in pattern-directed, rule-based artificial intelligence production systems
US4951225A (en) * 1988-11-14 1990-08-21 International Business Machines Corp. Updating pattern-matching networks

Also Published As

Publication number Publication date
GB2231693A (en) 1990-11-21
EP0397259B1 (de) 1995-10-04
EP0397259A2 (de) 1990-11-14
GB8910538D0 (en) 1989-06-21
US5418887A (en) 1995-05-23
DE69022773D1 (de) 1995-11-09
JPH02304626A (ja) 1990-12-18
JP3505174B2 (ja) 2004-03-08
EP0397259A3 (en) 1990-12-12

Similar Documents

Publication Publication Date Title
DE2716051C2 (de) Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden
DE60127857T2 (de) Sicherheitsverfahren mit deterministischer echtzeit-ausführung von multitask-anwendungen des steuer- und befehlstyps mit fehlereingrenzung
EP0010194B1 (de) Wartungsschnittstelleneinrichtung für eine datenverarbeitende Anlage mit einer zentralen Verarbeitungseinheit und mit einem Dienstprozessor und Verfahren zu ihrem Betrieb
DE60017457T2 (de) Verfahren zur isolierung eines fehlers in fehlernachrichten
DE2629459C2 (de)
DE102005049055B4 (de) Verfahren, um Ereignisse in einem Systemereignisprotokoll in eine Reihenfolge zu bringen
DE2735397C2 (de) Überwachungseinrichtung für eine programmgesteuerte Maschine
DE2401995A1 (de) Pruefsystem mit einem feinprogrammierbaren steuerspeicher
DE2648229A1 (de) Einschaltkreis als urlader fuer digitalrechner
DE68915074T2 (de) Integrierte Zeitgeberschaltung mit mehreren Kanälen und zugeordnetem Bedienungsprozessor.
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE2244402A1 (de) Datenverarbeitungsanlage
DE3888353T2 (de) Unterbrechungsknoten zum vorsehen von unterbrechungsanforderungen auf einem anstehenden bus.
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE10255125A1 (de) Dezentralisierte Automatische Testung von Grafischen Benutzerschnittstellen(GUI) von Software
DE68920929T2 (de) Zeitgeberkanal mit mehreren Zeitgeberreferenzmerkmalen.
DE2933474C2 (de)
DE69022773T2 (de) Datenverarbeitungsgerät.
DE10128883A1 (de) Verfahren und System für die Verteilung von Anwendungsdaten auf verteilte Datenbanken mit verschiedenen Formaten
DE3752280T2 (de) Mustergenerator
CH615521A5 (de)
DE3842289C2 (de) Verfahren zur Entwicklung von Programmen für ein verteiltes Datenverarbeitungssystem
DE68922545T2 (de) Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen.
DE3886756T2 (de) Betriebsmittelzugriff für Multiprozessorrechnersystem.
DE2755616A1 (de) Asymmetrischer multiprozessor

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: KONINKLIJKE PHILIPS ELECTRONICS N.V., EINDHOVEN, N