DE3854825T2 - Editor für Expertensysteme - Google Patents

Editor für Expertensysteme

Info

Publication number
DE3854825T2
DE3854825T2 DE3854825T DE3854825T DE3854825T2 DE 3854825 T2 DE3854825 T2 DE 3854825T2 DE 3854825 T DE3854825 T DE 3854825T DE 3854825 T DE3854825 T DE 3854825T DE 3854825 T2 DE3854825 T2 DE 3854825T2
Authority
DE
Germany
Prior art keywords
node
screens
nodes
screen
sequence
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 - Fee Related
Application number
DE3854825T
Other languages
English (en)
Other versions
DE3854825D1 (de
Inventor
Andrew Glenn Derr
Charles Andrew Mclaughlin
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE3854825D1 publication Critical patent/DE3854825D1/de
Publication of DE3854825T2 publication Critical patent/DE3854825T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Digital Computer Display Output (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • Die Erfindung bezieht sich auf Expertensysteme und insbesondere auf ein Editierverfahren und -system für die Erstellung von Expertensystemen.
  • Computerprogramme auf dem Gebiet der künstlichen Intelligenz und der Expertensysteme sind gut bekannt. Eine gute Einführung zum Stand der Technik in diesem Bereich geben die Büche "The Fifth Generation" von Edward Feigenbaum und Pamela McCorduc, Addison- Wesley 1983 und "Building Expert Systems" von Frederick Hayes- Roth, Donald Waterman und Douglas Lenat, Addison-Wesley 1984.
  • US-Patentschrift 4 648 044 (Hardy), US-Patentschrift 4 595 982 (Burt) und US-Patentschrift 4 644 479 (Bellows) stellen kürzlich veröffentlichte Patentschriften zum Bereich der Expertensysteme dar.
  • Auf diesem Gebiet steht eine Vielzahl von im Handel erhältlichen Programmen zur Verfügung. Einige dieser Programme sind für die Ausführung auf leistungsstarken Großrechnern ausgelegt. Andere sind für die Ausführung auf relativ kleinen Personal Computern konzipiert.
  • Computerprogramme für die vereinfachte Entwicklung von Expertensystemen werden im allgemeinen als Expertensystem-Shells bezeichnet. Das unter der Programmnummer 5798-RWQ im Handel erhältliche Programm der International Business Machines Corporation mit der Bezeichnung "Expert Systems Development Environment" ist ein Beispiel für eine Expertensystem-Shell, die für die Ausführung auf großen Computern ausgelegt ist. Das von der Micro Data Base Systems Inc. vertriebene Programm mit der Bezeichnung "GURU" ist ein Beispiel für eine Expertensystem-Shell, die für die Ausführung auf relativ kleinen Personal Computern konzipiert ist. Im Handel sind verschiedene Programme dieser Art erhältlich.
  • Viele der im Handel erhältlichen Expertensystem-Shells verfügen über Editoren, die die Eingabe von Daten und Regeln vereinfachen, die für die Erstellung eines Expertensystems erforderlich sind. Die verfügbaren Editoren lassen sich generell in zwei Kategorien unterteilen.
  • Zunächst gibt es einige Expertensystem-Shells, die Texteditoren für die Eingabe von Parameterdaten und -regeln verwenden. Eine Vielzahl von Texteditoren ist im Handel erhältlich. So ist beispielsweise ein Editor mit der Bezeichnung "Personal Editor" von IBM für Personal Computer im Handel erhältlich. Daneben sind noch viele andere Texteditoren im Handel erhältlich. Ein Texteditor wird für die Eingabe von Informationen in die oben erwähnte Expertensystem-Shell "GURU" verwendet.
  • Die zweite im allgemeinen verwendete Kategorie von Editoren wird durch den Editor des oben erwähnten Programms "Expert System Development Environment" repräsentiert. Der in diesem Programm verwendete Editor verfügt über eine Folge von Anzeigen, die Auswahlmöglichkeiten bereitstellen. Die Anzeigen des "Expert System Development Environment" führen den Bediener jedoch nicht automatisch durch eine Folge von Anzeigen, die die Eingabe von Informationen anfordern, die für die Definition von Klassen und Knoten benötigt werden, wie dies bei der vorliegenden Erfindung der Fall ist. Die Anzeigen von Editoren wie demjenigen des "Expert System Development Environment" stellen dem Bediener eine Liste von Auswahlmöglichkeiten bereit, und der Bediener muß die Schrittfolge, die er für den Definitionsprozeß verwenden möchte, selbst auswählen. Bei der vorliegenden Erfindung wird die Folge, die für die Definition der einzelnen Klassen und Knoten benötigt wird, dem Bediener automatisch dargeboten, wodurch die vorliegende Erfindung außerordentlich einfach erlembar und benutzbar wird.
  • "An evaluation of expert system development tools" von M.H. Richter, in "Expert Systems", Bd. 3, Nr. 3, Juli 1986, Oxford (GB), Seiten 166 bis 183, vergleicht vier verschiedene Tools für die Entwicklung von Expertensystemen, nämlich: S.1 (Teknowledge), Knowledge Craft (Carnegie Group), KEE (Intellicorp) und ART (Inference). Die Tools werden im Hinblick auf fünf Kriterien untersucht: grundlegende Merkmale, Entwicklungsumgebung, Funktionalität, Unterstützung und Kostenfaktoren.
  • Eine Aufgabe der vorliegenden Erfindung besteht in der Bereitstellung eines Editors, der die Erstellung von Expertensystemen vereinfacht.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht in der Bereitstellung eines Verfahrens für die Editierung von Daten und Informationen, um die Erstellung von Expertensystemen zu vereinfachen.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht in der Bereitstellung eines Systems, das die Editierung von Daten und Informationen vereinfacht, um die Erstellung von Expertensystemen zu vereinfachen.
  • Diese Aufgaben werden durch ein System und ein Verfahren gemäß den Ansprüchen 1 bzw. 4 erreicht. Bevorzugte Ausführungsformen werden in den beigefügten Ansprüchen beschrieben.
  • Die vorliegende Erfindung stellt einen kontextbezogenen Editor für ein Expertensystem bereit. Der Editor führt den Bediener durch eine Folge von Bildschirmen, die Informationsklassen, logische Knoten und die Beziehungen zwischen den verschiedenen Knoten angeben. Die Bildschirme sind so angeordnet, daß der Bediener keine Klassen oder Knoten mit logisch inkorrekten Informationen eingeben kann. Am Ende jeder einzelnen Definition zeigt der Bildschirm automatisch eine logische Baumstruktur an, die die logischen Beziehungen zwischen den Knoten grafisch darstellt.
  • Der von der vorliegenden Erfindung bereitgestellte Editor stellt dem Entwickler von wissensbasierten Systemen ein geführtes Informationseingabesystem bereit, das sein Verhalten ausgehend vom Kontext der eingegebenen Informationsstrukturen modifiziert. Dieser Ansatz vereinfacht nicht nur die Erstellung von Informationen in der Regeldatenbank, sondern verhindert auch häufig, daß der Benutzer ungültige Werte oder Logik-Strukturen eingibt. Der geführte Editieransatz ermöglicht dem Entwickler auch ein sehr viel schnelleres Erlernen und Benutzen des Systems, wodurch die Produktivitätsphase schneller erreicht werden kann.
  • Eine bevorzugte Ausführungsform der Erfindung wird nachstehend unter Bezugnahme auf die Zeichnungen ausführlich beschrieben, die eine Ausführungsform der Erfindung zeigen:
  • Figuren 1A bis 1P zeigen ein Beispiel für eine Bildschirmfolge, die einem Bediener angezeigt wird.
  • Figur 2 ist ein Blockdiagramm des Computerprogramms, das für die Implementierung der Ausführungsform der Erfindung verwendet wird.
  • Figur 3 ist ein erweitertes Blockdiagramm des Blocks "Regelknoten editieren".
  • Figur 4 ist ein erweitertes Blockdiagramm des Blocks "Einfügetyp ermitteln".
  • Die Ausführungsform wird beschrieben, indem zunächst eine typische Editiersitzung erläutert und anschließend ein Flußdiagramm des Verfahrens beschrieben wird, das in einem Editor gemäß der vorliegenden Erfindung implementiert wird.
  • Im hier beschriebenen Beispiel werden die untenstehenden Begriffe in folgender Bedeutung verwendet:
  • Regeldatenbank: Wird als Synonym für eine konventionelle Wissensdatenbank verwendet.
  • Klasse: Steht für spezifische Eingabedaten in das System.
  • Gültigkeitsbereich der Klasse: Gibt an, auf welche Daten sich diese Klasse bezieht. Kann drei Werte annehmen: GLOBAL, LOKAL und EXTERN. Diese Begriffe werden in der üblichen Programmierbedeutung verwendet.
  • Klassenprozedur: Das Programm, das ausgeführt wird, um den Eingabewert für die Klasse zu erhalten.
  • Parameter: Wird in der üblichen Programmierbedeutung verwendet.
  • Klassenwertliste: Liste der gültigen Eingaben für die Klasse.
  • Knoten: Knoten können nur den Wert "Wahr" oder "Falsch" haben. Es gibt eine Vielzahl von Knotentypen. In diesem Zusammenhang werden fünf Typen von Knoten verwendet: ZIEL, DATEN, UND, ODER UND NICHT.
  • Ziel: Die letztendliche Aktion oder Schlußfolgerung die das Ergebnis einer Menge von logischen Verknüpfungen darstellt.
  • Daten: Die untersuchten Eingabedaten. UND, ODER und NICHT: die üblichen logischen Verknüpfungen. Regelbaumstruktur: Die Beziehung, in der verschiedene Regeiknoten zueinander stehen.
  • Art der Knoteneinfügung: Es gibt drei Arten: KIND, GESCHWISTERELEMENT oder NEUE EBENE. Mit diesen Arten wird die Beziehung des eingefügten Knotens zu den vorhandenen Knoten festgelegt.
  • Die Bedeutung der verwendeten Begriffe wird anhand eines einfachen Beispiels am besten verständlich. Hierzu soll beispielhaft ein System herangezogen werden, das Informationen über ein Automobil erfaßt, um zu ermitteln, ob der Kraftstofftank eines Automobils leer ist. (Hierbei handelt es sich selbstverständlich um ein sehr triviales Beispiel, das lediglich zu Illustrationszwecken dient.) Das Beispiel hat zwei "Klassen" von Informationen. Die Klassen lauten:
  • 1) "Ist das Auto ausgegangen?" und
  • 2) "Zeigt die Tanknadel auf Leer?".
  • Das "Ziel" ist in diesem Beispiel "Auto auftanken".
  • Die "Daten-Knoten" haben im Hinblick auf (1) und (2) die Werte "wahr" oder "falsch".
  • Der "UND-Knoten" verbindet (1) und (2) oben mit dem Ziel-Knoten.
  • Die Figuren 1A bis 1P zeigen ein Beispiel für eine typische Editiersitzung. Dieses Beispiel zeigt, wie mit dem Editor der vorliegenden Erfindung eine Wissensdatenbank für das oben beschriebene einfache Beispiel erstellt werden kann.
  • In Figur 1A ist der Hauptauswahlbildschirm 11A dargestellt. Dies ist der erste Bildschirm, der dem Benutzer nach dem Systemaufruf angezeigt wird. Der übliche Cursor wird als Markierung 10A dargestellt. Um den Editor aufzurufen, wählt der Benutier die Zeile "Regeldatenbank editieren" mit dem Cursor aus und drückt die Eingabetaste. Die üblichen "Funktions"-Tasten werden in Block 12A dargestellt. In dieser Anzeige ist die einzige Funktionstaste mit einem zugeordneten Wert die Funktionstaste F3, die verwendet wird, um die Editiersitzung zu "BEENDEN". Der abgebildete Bildschirm verfügt lediglich über eine Auswahlzeile, "Regeldatenbank editieren". Selbstverständlich sind auch andere Zeilen möglich; im Hinblick auf diese Erfindung sind die anderen Zeilen jedoch nicht relevant und deshalb nicht abgebildet.
  • Der Haupt-"Editierbildschirm" ist in Figur 1B abgebildet. Dieser Bildschirm verfügt über zwei Bereiche 11B-1 und 11B-2. Der Bereich 11B-2 zeigt eine Liste von Klassen (Eingabedaten). Der Bereich 11B-1 zeigt die Regelbaumstrukturen (Wissensstrukturen) Da in diesem Beispiel noch keine Klassen oder Regelbaumstrukturen definiert wurden, enthalten die Bereiche 11B-1 und 11B-2 keine Klassen oder Regelbaumstrukturen. Der Benutzer kann durch Drücken der F6-Taste zwischen diesen Listen hin- und herschalten, wie in Block 12B dargestellt ist. Es wird darauf hingewiesen, daß die Definition von F6 sich je nach der aktuell aktivierten Liste ändert.
  • Figur 1C zeigt, was geschieht, wenn ein Benutzer eine neue Klasse einfügen möchte, indem er in der Anzeige aus Figur 1B die F4- oder Einfüge-Taste drückt. Der Benutzer wird automatisch durch die Anzeigenfolge der Figuren 1C bis 1F geführt, wobei als Ergebnis eine neue Klasse definiert wird. In den abgebildeten Anzeigen werden die Werte für die Klassendefinition, einschließlich Name, Gültigkeitsbereich, Prozedur für das Erfassen von Eingabedaten, Parameter für diese Prozedur und die gültigen Eingabewerte erfaßt. Nach Beendigung der Eingabe in diese Anzeigen kehrt der Benutzer zur Haupteditoranzeige zurück (Figur 1G), und in der Klassenliste wird eine neue Klasse angezeigt.
  • Wenn der Benutzer die F4-Taste in der Anzeige aus Figur 1B drückt, wird die in Figur 1C abgebildete Anzeige erzeugt. Figur 1C enthält im Feld 11C-1A eine Meldung über die Funktion dieser Anzeige. Feld 11C-1B ist eine Eingabeanzeige, in der das System das Wort "Klassenname:" anzeigt und der Bediener die Wörter "Auto ausgegangen" eingibt. Block 11C-1C ermöglicht dem Bediener die Verwendung des Cursors 10C, um den Gültigkeitsbereich der definierten Klasse als Lokal, Global oder Extern festzulegen. Es ist zu beachten, daß die Informationen in Block 11C-2 identisch mit den Informationen in 11B-2 sind. Abgesehen von den oben beschriebenen Informationen in Block 11C-1 liegen keine weiteren Informationen vor.
  • Figur 1D zeigt die Aktionen des Systems, nachdem der Bediener die Eingabetaste gedrückt hat (die Eingabetaste ist in der Zeichnung nicht explizit abgebildet). Wie aus Figur 1D hervorgeht, fragt das System nach dem Prozedurnamen, indem es das Feld 11D-1A anzeigt. Der Bediener gibt einen Prozedurnamen ein. In diesem Beispiel ist der Prozedurnamen LINEIO. Dies ist der Name eines an einer anderen Stelle gespeicherten Programms, das hier nicht abgebildet ist. Es handelt sich dabei um dasjenige Programm, das die Daten für die zu definierende Eingabeklasse tatsächlich erfaßt.
  • Nachdem der Name der Prozedur eingegeben wurde und der Bediener die Eingabetaste drückt, zeigt das System die Anzeige aus Figur 1E an. Feld 11E-1A gibt dem Bediener die von dieser Anzeige ausgeführte Funktion an. Der Bediener gibt die Parameter im Feld 11E-1B ein. In diesem Fall erwartet die Prozedur LINEIO eine Zeichenfolge als konventionellen Parameter. Die Zeichenfolge "Ist das Auto ausgegangen?" wird entsprechend in das Feld 11E-1B eingegeben. Der Bediener drückt anschließend die Eingabetaste und die Anzeige aus Figur 1F erscheint.
  • Feld 11F-1A zeigt eine Meldung an, die dem Bediener die von dieser Anzeige ausgeführte Funktion angibt. In diesem Fall muß der Bediener in das Feld 11F-1B die Klassenwerteliste eingeben, die die Werte JA und NEIN hat. Nachdem diese Werte eingegeben und die Eingabetaste gedrückt wurde, erscheint die Anzeige aus Figur 1G.
  • Die Anzeige aus Figur 1G ist ähnlich derjenigen aus Figur 1B, mit dem Unterschied, daß nun die definierte Klasse, nämlich "Auto ausgegangen", in Block 11G-2 angezeigt wird.
  • Die Figur 1H zeigt das Ergebnis, nachdem eine zweite Klasse, "Tanknadel auf Leer" ebenfalls definiert wurde. Diese zweite Klasse wird auf eine ähnliche Art und Weise eingegeben wie bei der oben für die Eingabe der Klasse "Auto ausgegangen" beschriebenen Reihenfolge.
  • Die Figuren 1I bis 1P zeigen die Eingabe einer Struktur mit logischen Regeln (logische Baumstruktur) mit dem Editor der vorliegenden Erfindung. Der Prozeß beginnt, wenn der Bediener die F6-Taste und anschließend die F4-Taste drückt, während die Anzeige aus Figur 1H angezeigt wird. Nichts ändert sich in Block 11I-1 im Vergleich zu Block 11-H-1.
  • Block 11I-2 enthält nun drei Teublöcke 11I-2A, 11I-28 und 11I- 2C. Block 11I-1A teilt dem Bediener mit, welche Informationen in dieser Anzeige benötigt werden. Der Bediener gibt einen Knotennamen in Block 11I-28 ein. Außerdem wählt der Bediener mit dem Cursor 10I einen Knotentyp für den zu definierenden Knoten aus. In diesem Fall wählt der Bediener den Typ ZIEL.
  • Ausgehend von dem ausgewählten Knotentyp werden dem Benutzer verschiedene Eingabeanzeigen angezeigt. Die angezeigten Anzeigen sind abhängig davon, welche Attribute der jeweilige Knotentyp für seine Definition benötigt. In diesem Fall wurde als Knotentyp ZIEL gewählt, und die Figuren 2J und 2K zeigen die Eingabe der Prozedur, die die für ZIEL benötigte Aktion durchführt, sowie die Parameter für diese Prozedur.
  • Es wird darauf hingewiesen, daß die abgebildeten Anzeigen für eine Definition von ZIEL lediglich illustrativen Charakter haben. Ausschlaggebend ist, daß das System für jeden Knotentyp, der definiert wird, eine geeignete Anzeigenfolge anzeigt, die den Bediener so führt, daß er die entsprechenden Daten eingibt.
  • Im hier abgebildeten Fall erscheint bei der Festlegung eines Knotens des Typs Ziel durch den Benutzer zunächst die Anzeige aus Figur 1J, in der das System in Feld 11J-2A nach der Prozedur fragt, die ausgeführt wird, wenn bewiesen wurde, daß das Ziel wahr ist. Nachdem der Bediener den Namen der Prozedur eingegeben hat, in diesem Fall LINEIO, wechselt das System zur Anzeige aus Figur 1K. Die in Figur 1K dargestellte Anzeige fragt nach den Parametern, die an die in der Anzeige aus Figur 1J genannte Prozedur weitergeleitet werden. In diesem Fall erwartet die Prozedur LINEIO eine Zeichenfolge, und der Bediener gibt die Zeichenfolge "Auto auftanken" ein.
  • Nachdem die Knotendefinition abgeschlossen wurde, wird der Editorbildschirm mit der Baumstruktur angezeigt. Dies ist in Figur 1L angezeigt. Der definierte ZIEL-Knoten wird links auf dem Bildschirm angezeigt, und der Name von ZIEL erscheint rechts. Dabei handelt es sich eigentlich um das obere Ende einer Baumstruktur; wie weiter unten nach der Definition zusätzlicher Knoten ersichtlich werden wird, veranschaulichen die Anzeigen ähnlich derjenigen aus Figur 1L die Wechselbeziehung der einzelnen Knoten zueinander.
  • Um der Baumstruktur weitere Knoten hinzuzufügen, wird wiederum die F4-Taste (EINFÜGEN) gedrückt; es erscheint eine Anzeige, die die Eingabe einer Definition für den Einfügetyp des neuen Knotens in die Struktur anfordert. Dies ist in Figur 1M abgebildet. Das System gibt in Feld 11M-1A an, daß der neue Knoten in Bezug auf den vorherigen Knoten der Baumstruktur entweder KIND, GESCHWISTERELEMENT oder NEUE EBENE sein kann.
  • Mit dem Cursor 10M wird der geeignete Einfügetyp Kind, Geschwisterelement oder Neue Ebene ausgewählt; das System gibt dem Benutzer jedoch eine Hilfestellung, indem es den Cursor anfänglich auf einen zulässigen Einfügetyp setzt. Das System akzeptiert keine Einfügetypen, die ungültige Baumstrukturen ergeben. In diesem Beispiel wählt der Benutzer "Kind" aus, da sich der neue Knoten "unterhalb" des zuvor definierten ZIEL-Knotens befinden soll. Nachdem der Cursor auf "Kind" gesetzt wurde, drückt der Benutzer die Eingabetaste, und die Anzeige aus Figur 1N erscheint.
  • Aus Figur 1N geht hervor, daß der Benutzer zur Auswahl eines UND-Knotens den Cursor 10N auf das entsprechende Feld setzt und die Eingabetaste drückt. Ein UND-Knoten hat keine weiteren Attribute, und daher kehrt das System nach der Auswahl direkt zum Bildschirm zum Editieren der Baumstruktur zurück. Es muß darauf hingewiesen werden, daß der Denutzer keinen Namen für einen logischen UND-Knoten in das Feld 11-N-2B eingeben mußte. Dies liegt daran, daß ein UND-Knoten per definitionem nie an oberster Stelle in einer Baumstruktur stehen kann und lediglich Knoten ganz oben in einer Baumstruktur einen Namen benötigen. Wird jedoch ein Name eingegeben, so wird er akzeptiert.
  • Nachdem die Eingabetaste gedrückt wurde, wird der Bildschirm aus Figur 10 angezeigt. Diese Anzeige ist ähnlich derjenigen aus Figur 1L; wie jedoch leicht ersichtlich ist, wurde der UND-Knoten als Kind des Ziel-Knotens der Baumstruktur hinzugefügt.
  • Figur 1P zeigt das Ergebnis aus der Wiederholung von Schritten, die ähnlich den oben für die Eingabe von zwei Daten-Knoten beschriebenen Schritten sind. Wie aus Figur 1P hervorgeht, stehen die beiden Daten-Knoten in einer Kind-Beziehung zum UND-Knoten. Der linke Bildschirmbereich zeigt die Beziehung der Knoten zueinander, der rechte Bildschirmbereich enthält einige Informationen zu den einzelnen Knoten.
  • Ein wichtiges Merkmal der Erfindung besteht in der sehr übersichtlichen und einfachen Art und Weise, in der die Beziehungen zwischen den Knoten automatisch veranschaulicht werden.
  • Obwohl dies hier nicht ausdrücklich 4argestellt wird, kann der Editor auch über andere Merkmale verfügen, mit denen der Benutzer durch eine Editiersitzung geführt wird. So kann dem Benutzer für bestimmte Werte z.B. eine Auswahlliste der gültigen Werte angezeigt werden, wenn er ein Eingabefeld leer läßt und die Eingabetaste drückt. Der gewünschte Wert kann dann ausgewählt werden, indem der Cursor darauf gesetzt und erneut die Eingabetaste gedrückt wird.
  • Die in Figur 1A bis 1P abgebildeten Bildschirme werden durch ein Computerprogramm erzeugt. Dieses Programiri kann in einer der üblichen Programmiersprachen wie Pascal oder "C" codiert und anschließend auf die übliche Art und Weise kompiliert werden. Die Einzelheiten der Kodierung sind für die vorliegende Erfindung nicht von Bedeutung. Die vorliegende Erfindung bezieht sich auf den übergreifenden Ablauf und die Struktur des Programms.
  • Die Figuren 2 bis 4 zeigen die übergreifende Struktur und den Ablauf der Programme, die die Editierfunktion steuern. Ein Computer, der gemäß dem in den Figuren 2 bis 4 abgebildeten Programm arbeitet, ist ein System bzw. eine Maschine, die eine Ausführungsform der Erfindung des Antragstellers darstellt.
  • Eine Editiersitzung beginnt, wenn der Benutzer die Editierfunktion aus dem Hauptbildschirm der Entwicklungseinrichtung auswählt, wie weiter oben mit Bezug auf Figur 1A beschrieben wurde. Diese Operation wird von dem durch das Feld 20 in Figur 2 dargestellten Programm ausgeführt. Durch die Auswahl der Editierfunktion wird der Haupteditierbildschirm angezeigt, wie aus Figur 1B hervorgeht. Diese Operation wird durch das in Feld 20 dargestellte Programm ausgeführt. Von diesem Punkt an kann der Benutzer zwischen Editieren der Regelliste (Bildschirmbereich 11B-1 in Figur 1B) und Editieren der Klassenliste (Bildschirmbereich 11B-2 in Figur 1B) hin- und herschalten, indem er die Funktionstaste KLASSE/REGELN verwendet. Die Felder 22 und 23 sowie die Doppelpfeillinie zwischen den Feldern 22 und 23 zeigen, wie die Programme zwischen dem Modus Editieren der Regelliste (Feld 22) und Editieren der Klassenliste (Feld 23) wechseln.
  • In Editieren der Klassenliste (Feld 23) kann der Benutzer entweder einen neuen Klassenknoten einfügen oder einen vorhandenen Knoten editieren. In beiden Fällen führen die Programme den Benutzer durch die Definition des Klassenknotens, wie dies in den Feldern 25, 27, 29 und 31 dargestellt ist. Dies entspricht der Reihenfolge der Bildschirme aus den Figuren 1C bis 1F. Feld 25 gibt an, daß der Benutzer nach dem Namen und Gültigkeitsbereich der Klasse gefragt wird. Feld 27 gibt an, daß der Benutzer nach dem Namen einer Prozedur gefragt wird, die die Klasseneingabedaten erfaßt. Feld 29 gibt an, daß der Benutzer nach den Parametern gefragt wird, die für diese Prozedur benötigt werden. Das durch Feld 31 dargestellte Programm gibt an, daß der Benutzer eine Liste mit gültigen Eingabewerten für diese Klasse eingeben kann. Die Anzeigen aus den Figuren 1G und 1H sind also das Ergebnis der Operationen, die durch die Folge von Programmen aus den Feldern 23, 25, 27, 29 und 31 ausgeführt wurden.
  • Wie aus Figur 1I hervorgeht, kann der Benutzer im Modus Editieren der Regelliste entweder eine neue Regelbaumstruktur erstellen oder eine vorhandene Baumstruktur editieren. Das Programm, das diese Operation ausführt, ist durch Feld 22 dargestellt. Um eine vorhandene Baumstruktur zu editieren, drückt der Benutzer die Funktionstaste BAUM, nachdem er den Cursor auf die zu editierende Baumstruktur gesetzt hat, und wechselt zueditieren der Regelbaumstruktur (Feld 26). Um dagegen eine neue Regelbaumstruktur zu erstellen, drückt der Benutzer die Funktionstaste EINFÜGEN und wechselt zu Regelknoten editieren (Feld 24). Diese Programm erzeugen die in den Figuren 1I bis 1K abgebildeten Anzeigen. Der Steuerungsablauf des Programms, das durch Feld 24 dargestellt wird, ist in Figur 3 ausführlich gezeigt.
  • Die Funktion Regelknoten editieren (siehe Figuren 1I bis 1K) beginnt mit der Anzeige eines Bildschirms, der den Benutzer nach dem Knotentyp und dem Knotennamen fragt. Das entsprechende Programm ist durch Feld 32 dargestellt. Die Regel Knotentyp wird aus einer Auswahiliste erhalten (siehe Figur 1I), um ungültige Eingaben zu vermeiden. Je nach ausgewähltem Typ konfiguriert der Editor das Editiersystem und -verfahren so, daß lediglich die für diesen speziellen Knotentyp benötigten Attributinformationen angefordert werden.
  • Es muß darauf hingewiesen werden, daß zur Vereinfachung der Darstellung in dem in den Figuren 1A bis 1P gezeigten Beispiel nur fünf Knotentypen abgebildet sind. Das Programm aus Figur 3 stellt insgesamt elf Knotentypen zur Verfügung, da für ein System in der Praxis ungefähr diese Anzahl verschiedener Knotentypen erforderlich ist.
  • Ausgehend vom ausgewählten Knotentyp führt der Editor die folgenden Operationen aus:
  • Wurde der Knotentyp Ziel oder Hypothese ausgewählt (Feld 33), werden die Knotenattribute "Name der externen Prozedur" und "Prozedurparameter" erfragt (Felder 34 und 35).
  • Wurde der Knotentyp Daten ausgewählt (Feld 36), werden die Knotenattribute "Klassenname" und "Liste mit Daten-Werten" erfragt (Felder 37 und 38).
  • Wurde der Knotentyp Bezug ausgewählt (Feld 39), wird als Knotenattribut "Name des Bezug-Knotens" erfragt (Feld 40).
  • Wurde der Knotentyp Aufruf oder Kette ausgewählt (Feld 41), wird als Knotenattribut "Name der Regeldatenbank" erfragt (Feld 42).
  • Wurde der Knotentyp Irgendein N ausgewählt (Feld 43), wird als Knotenattribut "Wert von N" erfragt (Feld 44).
  • Wie aus der Ausgabezeile N in Feld 43 hervorgeht, benötigen alle übrigen Knotentypen (Und, Oder, Nicht, Nur) keine anderen Attributsinformationen, und stellen keine entsprechenden Anfragen.
  • Mit Bezug auf den Programmablauf für den Regeleditor aus Figur 2 wird der Benutzer nach der Eingabe im Feld Regeiknoten Editieren (Feld 24) zum Feld Editieren der Regelbaumstruktur (Feld 26) geführt, das in der Anzeige in Figur 1L abgebildet ist. Falls es sich um eine neue Regelbaumstruktur handelt, wird der zuvor editierte Regeiknoten als einziger Knoten in der Baumstruktur angezeigt. Der Benutzer kann durch Drücken der Funktionstaste BEENDEN zum Feld Editieren der Regelliste zurückkehren. Der Benutzer kann auch beliebige vorhandene Knoten editieren, indem er den Cursor auf den gewünschten Knoten setzt und die Funktionstaste EDITIEREN drückt. Die Funktion Regelknoten Editieren (Feld 30) folgt dem in Figur 3 beschriebenen Ablauf. Daneben kann der Benutzer der Baumstruktur neue Knoten hinzufügen, indem er den Cursor auf einen Knoten setzt und die Taste EINFÜGEN drückt. In diesem Fall führt der Editor die Funktion Einfügetyp Ermitteln (Feld 28) aus, die in Figur 4 abgebildet ist.
  • Es muß noch einmal darauf hingewiesen werden, daß, wie bereits zuvor erwähnt, ein neuer Knoten auf drei verschiedene Weisen der Baumstruktur hinzugefügt werden kann. Der Knoten kann als Kind des ausgewählten Knotens eingefügt werden; das heißt, er wird unterhalb des ausgewählten Knotens hinzugefügt, und der ausgewählte Knoten wird sein Eiter. Er kann als Geschwisterelement des ausgewählten Knotens eingefügt werden; das heißt, er wird unterhalb des Elters des ausgewählten Knotens hinzugefügt, und beide Knoten sind dann Kinder dieses Elters. Der Knoten kann außerdem als eine neue Ebene eingefügt werden; das heißt, er wird zwischen dem ausgewählten Knoten und dem Eiter des ausgewählten Knotens hinzugefügt.
  • In Figur 4 prüft das durch Feld 45 dargestellte Programm, ob der ausgewählte Knoten bereits seine maximal zulässige Anzahl an Unterknoten (Kindern) aufweist. Die maximal zulässige Anzahl an Kindern für die verschiedenen Knotentypen lautet folgendermaßen:
  • Ziel=1
  • Hypothese=1
  • Daten=0
  • Bezug=0
  • Aufruf=0
  • Kette=1
  • IrgendeinN=unbegrenzt
  • Und=unbegrenzt
  • Oder=unbegrenzt
  • Nicht=1
  • Nur1=unbegrenzt
  • Die unterschiedliche maximal zulässige Anzahl an Kindern für die verschiedenen Knotentypen liegt in der jeweiligen Definition der Knotentypen begründet. So kann UND logischerweise eine beliebige Anzahl von Bedingungen haben, die UND-verknüpft werden, während NICHT sich lediglich auf eine Bedienung beziehen kann, die negiert wird.
  • Verfügt der ausgewählte Knoten nicht über seine maximale Anzahl an Unterknoten, wird der Standardeinfügetyp auf "Kind einfügen" gesetzt (Feld 46). Verfügt er über die maximale Anzahl, wird das Elter des ausgewählten Knotens daraufhin überprüft, ob es bereits seine maximal zulässige Anzahl an Kindern aufweist (Feld 47). Ist dies nicht der Fall, wird der Standardeinfügetyp auf "Geschwisterelement einfügen" gesetzt (Feld 48). Falls ja, wird der Standardeinfügetyp auf "Neue Ebene einfügen" gesetzt (Feld 49).
  • Wie aus Figur 1M hervorgeht, kann der Benutzer diesen Standardwert ändern; die Erfahrung hat jedoch gezeigt, daß der Standardwert normalerweise das gewünschte Einfügeverfahren ist und die Bereitstellung der Standardwerte daher eine bedeutende Vereinfachung der Eingabe neuer Knoten darstellt. Dieser Programmtyp wird auch für die Verifizierung der Benutzerauswahl verwendet, um die Erzeugung ungültiger logischer Strukturen zu vermeiden.
  • Nach der Auswahl des Einfügetyps (Figur 2, Feld 28) wird wiederum die Funktion Regelknoten Editieren (Feld 30) ausgeführt, wie in Figur 3 dargestellt ist. Nach Abschluß von Regelknoten Editieren wird durch Rückkehr zu Editieren der Regelbaumstruktur (Feld 26) die Baumstruktur mit dem neuen Regelknoten angezeigt. Dies wird in Figur 1P dargestellt.
  • Aus dieser Beschreibung der bevorzugten Ausführungsform der Erfindung kann der Fachmann erkennen, daß eine breite Auswahl an Anwendungsmöglichkeiten des Verfahrens sowie Modifikationen für bestimmte Anwendungen und für den Einsatz in Datenverarbeitungssystemen verschiedener Bauart bereitgestellt wird.

Claims (4)

1. Ein kontextbezogenes Editorsystem für die Erzeugung von Expertensystemen, umfassend:
Mittel für die Anzeige einer Folge von Bildschirmen (1A-1F) für die Eingabe der Definition für eine Klasse von Informationen, wobei die Definition einen Namen, einen Gültigkeitsbereich (lokal, global oder extern), eine Kennzeichnung der Prozedur zur Ermittlung der Informationen und die von dieser Prozedur benötigten Parameter, die zulässigen Werte für die Informationen umfaß,
Mittel für die Anzeige einer zweiten Folge von Bildschirmen (1G-1P) für die Eingabe der Definition einer Gruppe von logischen Knoten, wobei jeder Knoten zu einem Typ gehört und jeder Knotentyp über eine Gruppe von Attributen speziell für diesen Knotentyp sowie über logische Regelstrukturen verfügt, die definieren, in welcher Beziehung die Knoten zueinander stehen,
worin die zweite Folge von Bildschirmen bestimmte Untergruppen von Bildschirmen (1I-1M; 1N-1O) umfaßt, und jede dieser bestimmten Untergruppen einem anderen Knotentyp entspricht, wobei die Bildschirmuntergruppen die Eingabe der Attribute durch einen Benutzer ermöglichen,
wobei diese Mittel für die Anzeige einer zweiten Folge von Bildschirmen Mittel für die automatische Auswahl einer der bestimmten Untergruppen als Reaktion auf die Definition eines Knotentyps durch den Benutzer umfassen, wobei die Bildschirme den Benutzer durch die Definitionen führen und fehlerhafte Eingaben verhindern,
Mittel für die Anzeige eines Bildschirms mit einer Baumstruktur, nachdem jeder Knoten und seine Beziehungen definiert wurden, wobei dieser Bildschirm mit einer Baumstruktur die Beziehung der Knoten zueinander grafisch darstellt.
2. Ein Verfahren für das Editieren von Daten zur Erzeugung eines Expertensystems, das die folgenden Schritte umfaßt:
Anzeigen einer Folge von Bildschirmen (1A-1F) für die Eingabe der Definition für eine Klasse von Informationen,
wobei die Definition einen Namen, einen Gültigkeitsbereich (lokal, global oder extern), eine Kennzeichnung der Prozedur zur Ermittlung der Informationen und die von dieser Prozeduü benötigten Parameter, die zulässigen Werte für die Informationen, umfaßt,
Anzeigen einer zweiten Folge von Bildschirmen (1G-1P) für die Eingabe der Definition:
einer Gruppe von logischen Knäten, wobei jeder Knoten zu einem Typ gehört und jeder Knotentyp über eine Gruppe von Attributen speziell für diesen Knotentyp sowie über logäsche Regelstrukturen verfügt, die definieren, in welcher Beziehung die Knoten zueinander stehen,
worbei die zweite Folge von Bildschirmen bestimmte Untergruppen von Bildschirmen (1I-1M; 1N-1O) umfaßt, und jede dieser bestimmten Untergruppen einem anderen Knotentyp entspricht, und die Bildschirmuntergruppen die Eingabe der Attribute ermöglichen,
wobei der Schritt des Anzeigens einer zweiten Folge von Bildschirmen einen Schritt der Auswahl einer der bestimmten Bildschirmuntergruppen als Reaktion auf die Definition eines Knotentyps durch den Benutzer umfaßt,
nachdem jeder Knoten und seine Beziehungen definiert sind, wird ein Bildschirm mit einer Baumstruktur angezeigt, der die Beziehungen zwischen den Knoten veranschaulicht.
wobei die Bildschirme den Benutzer durch die Definitionen führen und fehlerhafte Eingaben verhindern,
3. Das Verfahren nach Anspruch 2, wobei der Bildschirm mit der Anzeige der Beziehung der Knoten zueinander Linien enthält, die die Baumstruktur der Knotenbeziehungen darstellen.
4. Das System nach Anspruch 1, wobei der Bildschirm mit der Anzeige der Beziehung der Knoten zueinander Linien enthält, die das Verhältnis der Knoten zueinander darstellen.
DE3854825T 1987-06-15 1988-05-24 Editor für Expertensysteme Expired - Fee Related DE3854825T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US6183287A 1987-06-15 1987-06-15

Publications (2)

Publication Number Publication Date
DE3854825D1 DE3854825D1 (de) 1996-02-08
DE3854825T2 true DE3854825T2 (de) 1996-07-11

Family

ID=22038424

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3854825T Expired - Fee Related DE3854825T2 (de) 1987-06-15 1988-05-24 Editor für Expertensysteme

Country Status (4)

Country Link
EP (1) EP0295460B1 (de)
JP (1) JP2554355B2 (de)
BR (1) BR8802918A (de)
DE (1) DE3854825T2 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2606108B2 (ja) * 1993-11-15 1997-04-30 日本電気株式会社 オブジェクトエディタ
US8234309B2 (en) 2005-01-31 2012-07-31 International Business Machines Corporation Method for automatically modifying a tree structure

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4658370A (en) * 1984-06-07 1987-04-14 Teknowledge, Inc. Knowledge engineering tool
US4754409A (en) * 1985-06-26 1988-06-28 International Business Machines Corporation Method for dynamically collecting current data from specified external processes and procedures for use in an expert system

Also Published As

Publication number Publication date
BR8802918A (pt) 1989-01-03
EP0295460A2 (de) 1988-12-21
EP0295460A3 (de) 1992-07-01
JPS63318636A (ja) 1988-12-27
DE3854825D1 (de) 1996-02-08
EP0295460B1 (de) 1995-12-27
JP2554355B2 (ja) 1996-11-13

Similar Documents

Publication Publication Date Title
DE69628808T2 (de) Datenverarbeitungssystem
DE69326226T2 (de) Verfahren zum Strukturieren von in einem industriellen Prozess verwendeten Informationen und Anwendung als Flugzeugführungshilfe
DE68928190T2 (de) Dynamische Wiederbestimmung einer Rahmenstruktur
DE3855756T2 (de) Schnittstelle für Materialliste für CAD/CAM-Umgebung
DE69426980T2 (de) System zur erzeugung von uniformen steuerungsmodellen und verfahren zur prozesssteuerungsprogrammierung
DE69129328T2 (de) Ikonobjektschnittstellesystem und -verfahren
DE3686682T2 (de) Verfahren zum steuern der folge von editierzellen in einem elektronischen kalkulationsblatt.
DE69721234T2 (de) Verfahren und systeme zur dokumentenverwaltung in industriellen prozesssteuerungssystemen
DE69428988T2 (de) Interaktive anwenderschnittstelle
DE3416939A1 (de) Verfahren zur steuerung von betriebseinrichtungen
DE69428144T2 (de) Menuabfragesystem
DE69628374T2 (de) Datenverwaltungssystem
DE69130085T2 (de) Figuredierungsgerät
DE2818974A1 (de) Datenstation fuer datenverarbeitungsanlagen
DE69223979T2 (de) Fuzzy-züruckgewinnungsgerät und verfahren dafür
DE60310881T2 (de) Methode und Benutzerschnittstelle für das Bilden einer Darstellung von Daten mit Meta-morphing
DE69430413T2 (de) Verfahren und Vorrichtung zur Lösung von Termen einer numerischen Folge
EP0838054B1 (de) Verfahren und steuereinrichtung für eine graphische steuerung von abläufen in einem netzwerkmanagementsystem
DE69213480T2 (de) Verfahren und vorrichtung zur vereinfachung einer benutzererzeugung von entscheidungsfunktionen.
DE3854825T2 (de) Editor für Expertensysteme
DE60132517T2 (de) Verfahren und System zur Druckablaufplanung, Speichermedium für ein Druckablaufplanungsprogramm
DE68905848T2 (de) Speicherprogrammierbare steuerung mit strukturierter programmiersprache.
EP1862901A1 (de) Eingabe von Programm-Anweisungen bei imperativen Programmiersprachen
EP1347376B1 (de) Software zur Visualisierung hierarchisch stufbaren Objekten
DE68928071T2 (de) Vorrichtung und Verfahren zum Erzeugen von Regeln für unscharfe Inferenz

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee