-
1. Technisches
Gebiet der Erfindung
-
Die
Erfindung bezieht sich allgemein auf das Gebiet von Informations-Aufbereitungssystemen, insbesondere
zur Erzeugung, zur Speicherung und zum Auslesen von Modellen elektronischer
Bauelemente, unter Benutzung von Regeln und Abläufen.
-
2. Hintergrund
der Erfindung
-
Beim
Entwurf einer Schaltung bei einer rechnergestützten Entwicklung (CAD) ist
oft eine Bibliothek der Bauelemente erforderlich. Die Bauelementen-Bibliothek
ermöglicht
das Konstruktionsverfahren durch Schaffung einer Datenbank von Informationen, die
zahlreiche Eigenschaften der Bauelemente definieren. Diese Bauelemente
werden häufig
benutzt, um Schaltungen zu entwerfen. Beispiele von Bauelementen
umfassen Widerstände
sowie UND-Verknüpfungselemente.
Beispiele der Eigenschaften von Bauelementen umfassen PIN-Abstand,
Eingangsspannung und Ausgangsspannung.
-
Gegenwärtig erfordern
Bibliotheken für
Bauelemente eine hohe Speicherkapazität von zum Beispiel zwanzig
Gigabytes. Die Speichererfordernisse sind eine Folge davon, dass
die Bauelementen-Bibliothek direkt jeden Eigenschaftswert für jedes
Bauelement speichert. Es sind beträchtliche Kosten erforderlich,
um derartige Bibliotheken zu errichten, zu modifizieren und auszuliefern.
Beispielsweise kann der Versand derartiger Daten von einem Anbieter
zu einem Kunden vierzig Compact-Disc Nur-Lese-Speicher (CD-ROMs)
erfordern, wobei jede Disc etwa 600 Megabytes speichert.
-
Ein
weiteres Problem, das mit einer derart großen Datenbank verknüpft ist,
besteht in der Wahrscheinlichkeit von Dateneingabefehlern. Der Benutzer
muß manuell
einen Wert für
jede Eigenschaft eines jeden Bauelementen-Modells eingeben, wenn eine
Bauelementen-Bibliothek,
unter Benutzung gegenwärtiger
Bauelementen-Generatoren, errichtet werden soll. Eine Bauelementen-Bibliothek
kann aus Tausenden von Bauelementen-Modellen bestehen. Jedes Bauelementen-Modell
kann hunderte von Eigenschaften besitzen. Daher besteht eine beträchtliche
Wahrscheinlichkeit, dass ein Benutzer einen falschen Wert einigen
der Bauelementen-Eigenschaften zuordnet.
-
Ein
weiteres Problem, das mit gegenwärtigen
Systemen und Verfahren zur Erzeugung von Bauelementen-Bibliotheken
verknüpft
ist, besteht darin, dass eine beträchtliche Investierungszeit
erforderlich ist, um die Bauelementen-Bibliothek zu erzeugen und
aufrechtzuerhalten. Der jährliche
Zeitbedarf zur Erzeugung und Aufrechterhaltung einer Zwanzig-Gygabyte-Bibliothek
kann mehrere Mann-Jahre umfassen.
-
Es
ist daher erwünscht
ein System und ein Verfahren zu schaffen, um die Speichererfordernisse einer
Bauelementen-Bibliothek zu vermindern, und um gleichzeitig die Wahrscheinlichkeit
von Dateneingabefehlem zu vermindern und es sollte gleichzeitig die
Zeit vermindert werden, die erforderlich ist, um die Werte der Bauelementen-Eigenschaften zu
erzeugen und aufrechtzuerhalten.
-
Die
folgende Literaturstelle "Databook,
1,5 Micron Compacted ArrayTM Technology,
herausgegeben von LSI Logic Corporation, Milpitas/Califomia, Juli
1987, Seiten i, ii, 1-6 – 1-8,
2-12 – 2-17" liefert eine Information
darüber
wie elektrische Bauelemente repräsentiert
werden können.
Dies wird dadurch erreicht, dass dem Benutzer eine Information in
Form von Tabellen und Gleichungen geliefert wird, wodurch die Möglichkeit
geschaffen wird, dass der Benutzer die Informationen nachschlagen
und berechnen kann.
-
Zusammenfassung
der Erfindung
-
Die
Erfindung betrifft ein System und ein Verfahren zur Erzeugung, zur
Speicherung und zum Auslesen von Bauelementen-Modellen. Die Erfindung
beruht darauf, eine auf Regeln basierende Bauelementen-Bibliothek
zu erzeugen. Die Bauelementen-Bibliothek enthält zahlreiche Bauelementen-Modelle.
Jedes Bauelementen-Modell hat zahlreiche Eigenschaften. Eine spezielle
Eigenschaft ist oft eine Charakteristik von vielen Bauelementen-Modellen. Jeder
Eigenschaft in einem gegebenen Bauelementen-Modell wird ein Eigenschaftswert
zugeordnet. Häufig
ist der Eigenschaftswert für
ein bestimmtes Bauelementen-Modell das gleiche wie der Eigenschaftswert
für zahlreiche
andere Bauelementen-Modelle.
-
Anstatt
jeden Eigenschaftswert zu speichern, wie es gegenwärtig getan
wird, sieht die Erfindung Speicherregeln und -ausnahmen vor. Eine
Regel definiert einen Wert für
eine spezielle Eigenschaft, basierend auf dem Wert einer oder mehrerer zusätzlicher
Eigenschaften eines gegebenen Bauelementen-Modells. Es ist möglich für eine Regel
einen unrichtigen Wert einer Eigenschaft für ein spezielles Bauelement
zuzuordnen. Wenn dies geschieht, wird der richtige Wert von einem
Benutzer eingegeben. Dieser Benutzer-Eingangswert wird als Ausnahmewert bezeichnet.
Dieser Ausnahmewert wird in der Bauelementen-Bibliothek gespeichert.
Um eine Genauigkeit zu gewährleisten,
wenn Eigenschaftswerte für
ein gegebenes Bauelement ausgelesen werden, hat der Ausnahmewert
eine Priorität über alle
durch Regeln definierten Eigenschaftswerte (regelbasierende Werte).
Das Speichern von Bauelementen in einer Bauelementen-Bibliothek umfasst die
Speicherung einer Gruppe von Regeln, die allen Bauelementen zusätzlich zu
dem Namen eines jeden Bauelementes gemeinsam ist, ein Zeiger identifiziert die
Eigenschaften eines jeden Bauelements und die Ausnahmewerte eines
jeden Bauelements. Als Ergebnis werden durch die Erfindung die Speichererfordernisse
für eine
Bauelementen-Bibliothek beträchtlich
vermindert.
-
Ein
weiteres Merkmal der Erfindung besteht darin, dass die Zeit, die
erforderlich ist, um eine Bauelementen-Bibliothek zu errichten und
zu modifizieren, beträchtlich
geringer ist. Viele Eigenschaftswerte werden automatisch dadurch
definiert, dass die Regeln auf einen oder mehrere vorbestimmte Eigenschaftswerte
eines Bauelementes angewandt werden. Wenn sie richtig sind, brauchen
diese Eigenschaftswerte nicht mit Hand eingegeben zu werden. Das
automatische Definieren von Eigenschaftswerten vermindert auch die
Wahrscheinlichkeit von Dateneingabefehlern, weil die Menge der manuell
eingegebenen Daten beträchtlich
vermindert ist, im Vergleich mit früheren Systemen.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist eine Darstellung einer
Umgebung, in der das bevorzugte Ausführungsbeispiel der Erfindung
Anwendung findet;
-
2 ist eine mehr ins einzelne
gehende Veranschaulichung einer Umgebung, in der das bevorzugte
Ausführungsbeispiel
angeordnet ist;
-
3 ist eine mehr ins einzelne
gehende Illustration der Bauelementen-Benutzeranlage gemäß 2;
-
4 ist ein Ablaufdiagramm,
welches das allgemeine Verfahren gemäß einem bevorzugten Ausführungsbeispiel
der Erfindung zeigt;
-
5A–B ist ein Ablaufdiagramm,
welches eine Technik zeigt, um Bauelementen-Modelle gemäß einem
bevorzugten Ausführungsbeispiel
der Erfindung zu definieren;
-
6 ist ein Ablaufdiagramm,
welches eine Technik zur Speicherung von Bauelementen-Modellen gemäß einem
bevorzugten Ausführungsbeispiel der
Erfindung zeigt;
-
7 ist ein Ablaufdiagramm,
welches eine Technik zum Auslesen von Bauelementen-Modellen gemäß einem
bevorzugten Ausführungsbeispiel
der Erfindung zeigt.
-
Detaillierte
Beschreibung der bevorzugten Ausführungsbeispiele
-
Im
folgenden wird ein bevorzugtes Ausführungsbeispiel der Erfindung
in Verbindung mit der Zeichnung beschrieben, in der gleiche Bezugszeichen
identische oder funktionell ähnliche
Elemente kennzeichnen. In den Figuren entspricht die am weitesten
links stehende Ziffer eines jeden Bezugszeichens der Figur, in der
das Bezugszeichen zuerst benutzt wurde.
-
Die
Erfindung ist auf einen Bauelementen-Modell-Generator gerichtet,
der eine Zahl neuartiger Merkmale besitzt; beispielsweise definiert
der Bauelementen-Modell-Generator Regeln, die zwei oder mehrere
Eigenschaften von Bauelementen-Modellen zugeordnet sind. Jede Regel
definiert einen Eigenschaftswert, basierend auf einem oder mehreren zusätzlichen
Eigenschaftswerten des Bauelementen-Modells. Eine Speicherung eines
Bauelementen-Modells, bei dem die Erfindung benutzt wird, erfordert
weniger Speicherkapazität
als die bisherigen Systeme, weil nur gewisse Eigenschaftswerte (Ausnahmewerte)
für jedes
Bauelementen-Modell gespeichert werden, anstatt alle Eigenschaftswerte
zu speichern. Eigenschaftswerte, die keine Ausnahmewerte sind, werden
automatisch unter Benutzung der Regeln erzeugt.
-
1 zeigt ein Ausführungsbeispiel
der vorliegenden Erfindung, das einen Prozessor 102 und Speicher 104, 106 aufweist.
Bei dem bevorzugten Ausführungsbeispiel
werden nicht-flüchtige
Speicher 104 und flüchtige
Speicher 106 benutzt. Eine Vielzahl von Regeln 108,
Eigenschaftslisten 109 und Bauelementen-Modellen 110 sind
innerhalb des nichtflüchtigen
Speichers 104 gespeichert. Jede Regel 108 definiert
eine Beziehung zwischen zwei oder mehreren Eigenschaften. Eine Eigenschaft
ist ein Merkmal oder eine zugeordnete Eigenheit eines spezifizischen
Bauelementen-Modells oder sie ist gemeinsam einer Mehrzahl von Bauelementen-Modellen. Jedes
Bauelementen-Modell ist einer Gruppe von Eigenschaften 109 zugeordnet.
Innerhalb eines Bauelementen-Modells hat jede zugeordnete Eigenschaft einen
Wert. Wenn dieser Wert nicht aus einer Regel 108 bestimmbar ist,
dann wird dieser Wert mit dem Bauelementen-Modell 110 als
ein Ausnahmewert 112 gespeichert oder er wird nicht gespeichert
und hat einen Null-Wert.
-
Innerhalb
des flüchtigen
Speichers 106 befinden sich vier Hauptmodule. Ein Übersetzer 114 übersetzt
die Regeln 108 in Maschinensprache. Ein nicht-flüchtiges
Speicher-Management-Modul 116 liest
die Information aus und speichert die Information in einem nicht-flüchtigen
Speicher 104. Ein Bauelementen-Generator 118 erzeugt
die Bauelementen-Modelle. Ein Benutzer-Intertace 120 ermöglicht es
einem Benutzer, mit dem Bauelementen-Modell-Generator 100 zusammenzuwirken.
Eine mehr ins einzelne gehende Beschreibung jeder dieser Module
findet sich in der folgenden Beschreibung.
-
2 veranschaulicht eine mehr
ins einzelne gehende Umgebung, in der das bevorzugte Ausführungsbeispiel
der Erfindung residiert. Bei dem bevorzugten Ausführungsbeispiel
ist der Prozessor 102 ein Mikroprozessor eines UNIX-Arbeitsplatzes 202. Der
nicht-flüchtige
Speicher 104 ist ein Hard-Disk-Speicher 204. Bei
einem bevorzugten Ausführungsbeispiel
kommuniziert der Mikroprozessor 202 nicht direkt mit dem
Hard-Disk-Speicher 204. Bei abgewandelten Ausführungsbeispielen
jedoch ist der Hard-Disk-Speicher 204 direkt an den Mikroprozessor 202 angeschlossen.
Innerhalb des Hard-Disk-Speichers 204 sind Regeln 108 in
Form von Verarbeitungslisten (LISP) Sprach-Routinen 208 gespeichert.
Eigenschaftsgruppen 109 sind als Untergruppen, Unterlisten
oder Betrachtungen von Eigenschaften gespeichert, beispielsweise
eine elektrische Eigenschaftsgruppe 209. Bauelementen-Modelle 210 werden
innerhalb des Hard-Disk-Speichers 204 in Form eines Bauelementen-Namens 211 und einer
Liste von Ausnahmewerten 212 gespeichert. Der flüchtige Speicher 106 ist
ein Arbeitsplatz-Direkt-Zugriffsspeicher (RAM) 206. Der Übersetzer 114 ist
ein LISP Übersetzer 214.
Ein Datenbank-Management-System (DBMS) 216, beispielsweise
ein "ObjectStore" von Object Design,
Inc., Burlington MA, wird als nicht-flüchtiges Speicher-Management-Modul 116 benutzt.
Ein graphisches Benutzer-Interface (GUI) 220,
beispielsweise X-Windows von dem Massachusetts Institute of Technology
(MIT) wird als Benutzer-Interface 120 benutzt. Gemäß dem bevorzugten
Ausführungsbeispiel
ist der Bauelementen-Generator 118 ein Bauelementen-Informations-Arbeitsplatz (CIWB) 218.
Der CIWB 218 wird im einzelnen weiter unten unter Bezugnahme
auf 3 beschrieben.
-
3 ist eine Einzelbeschreibung
des CIWB 218 der vorliegenden Erfindung. Eine detaillierte
Beschreibung der Funktionen, die durch die Module 302 bis 314 durchgeführt werden,
wird nachstehend in Verbindung mit der Beschreibung der 4 bis 7 gegeben. Ein Bauelement/Ausnahme-Speichermodul 302 kommuniziert
mit dem DBMS 216, um Bauelementen-Modelle 210 auf
dem Hard-Disk-Speicher 204 zu speichern. Ein Regel-Eingang/Ausgang-Modul 304 kommuniziert
mit dem DBMS 216, um Regeln zu empfangen und Regeln in
dem Hard-Disk-Speicher 204 zu speichern. Ein Bauelementen- Ausnahme-Auslese-Modul 306 kommuniziert
mit dem DBMS 216, um Bauelementen-Modelle 210 aus dem Hard-Disk-Speicher 204 auszulesen. Ein
Regelrechner 308 empfängt
ein Bauelementen-Modell 210 und die Regeln 208.
Der Regelrechner 308 kommuniziert dann mit dem LISP-Übersetzer 214 und
berechnet die Regeln 208, um die Eigenschaftswerte für das Bauelementen-Modell 210 zu definieren.
-
Ein
Bauelementen-Definitions-Modul 310 kommuniziert mit dem
GUI 220, um einen Benutzer in die Lage zu versetzen, die
Eigenschaftswerte zu definieren und zu editieren, und zwar einschließlich der Ausnahmewerte 212 eines
jeden Bauelementen-Modells 210. Ein Regeldefinitionsmodul 312 kommuniziert
mit dem GUI 220 oder mit einem (nicht dargestellten) Texteditor,
um es einem Benutzer zu ermöglichen,
Regeln zu definieren und zu editieren. Ein Bauelementen-Betrachtungs/Exportierungs-Modul 314 exportiert
Bauelementen-Modell-Informationen außerhalb des CIWB 218,
zum Beispiel um eine Information nach einem anmeldungspezifischen
IC (ASIC)-Design-System zu exportieren. Ein Merkmal des bevorzugten
Ausführungsbeispiels
besteht darin, dass das Komponenten-Betrachtungs/Exportierungs-Modul 314 nicht
zwischen Bauelementen-Eigenschaftswerten,
die von den Regel 208 herrühren und Bauelementen-Eigenschaftswerten
unterscheidet, die durch die Ausnahmewerte 212 definiert
sind. Das Ergebnis besteht darin, dass das Bauelementen-Betrachtungs/Exportierungs-Modul 314 ein
Interface ist, das unabhängig
von den benutzten Techniken ist, um die Eigenschaftswerte für jedes
Bauelementen-Modell 210 abzuleiten. Daher vermeidet die vorliegende
Erfindung jede fehlende Kompatibilität zwischen dem Bauelementen-Modell-Generator 200 und
Einrichtungen, die eine Information aus der Design-Bibliothek, beispielsweise
einem ASIC-Design-System auslesen.
-
Die 4 bis 7 sind Ablaufdiagramme, die das Verfahren
der vorliegenden Erfindung veranschaulüchen. 4 ist ein Ablaufdiagramm, welches das
allgemeine Verfahren eines bevorzugten Ausführungsbeispiels der Erfindung
veranschaulicht. Ein Zweck der Erfindung besteht darin, Bauelementen-Modelle 210 zu
erzeugen, und wirksam zu speichern. Ein Bauelement ist eine Einrichtung,
die bei der Herstellung eines elektrischen oder elektronischen Systems
oder irgendeiner Repräsentation hiervon
benutzt wird. Das heißt
ein Bauelement ist nicht auf die Hardware beschränkt. Eine Software-Repräsentation einer
Einrichtung wird ebenfalls als Bauelement betrachtet. Beispiele
von Bauelementen sind die folgenden: digitale integrierte Schaltungen
(zum Beispiel Mikroprozessoren), Speicher, digitale Signal-Prozessoren,
analoge integrierte Schaltungen, diskrete Schaltungselemente (zum
Beispiel Widerstände,
Kondensatoren), Verbinder, Fassungen, logische Verknüpfungsglieder
und Repräsentationen
der obigen Elemente, zum Beispiel Software-Repräsentationen.
-
Ein
Bauelementen-Element 210 ist eine Repräsentation eines Bauelementes,
das eine Vielzahl von Eigenschaften besitzt. Ein Benutzer definiert
bei 402 eine Liste von Eigenschaften. Eine Eigenschaft ist
jedes Merkmal oder Attribut, das einem gegebenen Bauelementen-Modell 210 einzigartig
ist oder das mehreren Bauelementen-Modellen 210 gemeinsam
ist. Ein Beispiel einer Eigenschaft ist die Spannung, die notwendig
ist, um ein Bauelement zu betreiben. Diese Eigenschaft kann mit "erforderliche Spannung" bezeichnet werden.
Zahlreiche Bauelementen-Modelle 210 haben diese Eigenschaft
der "erforderlichen
Spannung", aber
der Eigenschaftswert kann sich zwischen Bauelementen-Modellen 210 ändern. Ein
Eigenschaftswert ist eine Zahl, eine Messung, eine Beschreibung
oder eine andere Quantifizierung, die genau die Eigenschaft eines
gegebenen Bauelementen-Modells 210 beschreibt. Beispielsweise
beträgt
der Eigenschaftswert für
die Eigenschaft "erforderliche
Spannung" "3,3 Volt" für einen
Speicherchip geringer Leistung, während die erforderliche Spannung "5,0 Volt" für einen
Standard-Speicher-Chip" beträgt.
-
Die
Liste von Eigenschaften kann in Hilfslisten, Gruppen oder Ansichten
unterteilt werden. Jede Gruppe von Eigenschaften kann Eigenschaften
enthalten, die relevant sind für
die Erfordernisse eines speziellen Benutzers. Beispielsweise kann
ein Firmen-Bibliothekar in Eigenschaften interessiert sein, die
eine Bestell-Information betreffen, zum Beispiel Artikelnummer,
Kosten, Hersteller. Diese Eigenschaften können in eine "Ansicht" oder eine Hilfsliste
gruppiert werden, um den Benutzer in die Lage zu versetzen, die
Eigenschaften wirksamer zu betrachten, zu modifizieren oder zu definieren.
Ein Konstruktions-Ingenieur kann an ganz anderen Eigenschaften interessiert
sein, beispielsweise Eingangsspannung und Nennstrom. Derartige Informationen
können
in einer anderen "Ansicht" oder "Hilfsliste" zur einfachen Benutzung
untergebracht werden.
-
Nachdem
bei 402 eine Liste von Eigenschaften definiert ist, werden
die Bauelementen-Modelle 210 bei 404 definiert.
Eine detaillierte Beschreibung des Verfahrens zur Definierung von
Bauelementen-Modellen 404 wird weiter unten, unter Bezugnahme
auf die 5A und 5B erläutert. Nachdem die Bauelementen-Modelle
definiert sind, können
sie in wirksamer Weise bei 406 im Speicher gespeichert werden.
Eine detaillierte Beschreibung des Verfahrens zur Speicherung von
Bauelementen-Modellen wird unten, unter Bezugnahme auf 6, erläutert. Nachdem die Bauelementen-Modelle
gespeichert sind, können
sie bei 408 ausgelesen und regeneriert werden. Eine detaillierte
Beschreibung des Verfahrens zum Auslesen von Bauelementen-Modellen wird
weiter unten, unter Bezugnahme auf 7,
erläutert.
-
Die 5A und 5B sind Ablaufdiagramme, die eine Technik
zur Definition von Bauelementen-Modellen gemäß einem bevorzugten Ausführungsbeispiel
der Erfindung (bei 402) definieren. Das Bauelementen-Definitions-Modul 310 empfängt bei 502
eine Liste von Eigenschaften, die notwendig sind, um ein Bauelementen-Modell
zu definieren. Wie oben erwähnt,
kann die Liste von Eigenschaften eine Untergruppe einer größeren Eigenschaftsliste sein,
die im Schritt 402 definiert wurde. Ein Benutzer definiert
im Schritt 504 Regeln für
gewählte
Eigenschaften innerhalb der Liste von Eigenschaften. Eine Regel
ist eine Beziehung zwischen zwei oder mehreren Eigenschaften, die
einen Wert für
eine oder mehrere Eigenschaften definiert, basierend auf den Werten
einer oder mehreren unterschiedlichen Eigenschaften innerhalb eines
gegebenen Bauelementen-Modells. Bei dem bevorzugten Ausführungsbeispiel
ist eine Regel eine Beziehung, die in einer Programmierungssprache,
beispielsweise LISP, beschrieben ist, und die einer Eigenschaft
zugeordnet ist. Wenn der Regelrechner 308 eine Regel einer
zugeordneten Eigenschaft eines Bauelementen-Modells aufprägt, dann
erzeugt der Regelrechner 308 einen Wert für die zugeordnete
Eigenschaft, basierend auf einer oder auf mehreren zusätzlichen
Eigenschaften des gegebenen Bauelementen-Modells.
-
Gemäß dem bevorzugten
Ausführungsbeispiel
erzeugt der Benutzer Regeln, unter Benutzung eines GUI 220 oder
eines (nicht dargestellten) Texteditors. Die Regeln liegen im allgemeinen
in der Form einer "IF
... THEN" Programmierungssprache
vor, oder einer "IF...THEN...ELSE"-Programmierungssprache.
Wenn beispielsweise zwei Eigenschaftsnamen "EINGANGSNIEDERSPANNUNG" und "TECHNOLOGIE" sind, dann kann
eine einfache Regel die Form gemäß der folgenden
Gleichung (1) aufweisen.
if f TECHNOLOGIE ='TTL' then
EINGANGSNIEDERSPANNUNG = -350 my (Gleichung 1)
-
Wenn
der Wert für
die TECHNOLOGIE-Eigenschaft eines Bauelements "TTL" ist,
dann ist der "EINGANGSNIEDERSPANNUNG"-Eigenschaftswert
-350 Millivolt (mv). Eine komplexere Regel benutzt die vorhergehenden
zwei Eigenschaften und eine dritte Eigenschaft "HERSTELLER" und dies kann in Form der Gleichung
(2) niedergeschrieben werden.
if TECHNOLOGIE ='TTL' then EINGANGSNIEDERSPANNUNG
= -350 my else if TECHNOLOGIE = 'ECL' and HERSTELLER = 'TI', then EINGANGSNIEDERSPANNUNG
= –450
my else if TECHNOLOGIE = 'ECL' then EINGANGSNIEDERSPANNUNG
= –500
my (Gleichung 2)
-
In
der Gleichung (2) ist der NIEDERSPANNUNGSEINGANG-Wert für ein Bauelementen-Modell gleich –450 mv,
wenn der TECHNOLOGIE-Wert für
das Bauelementen-Modell gleich "ECL" ist und der HERSTELLER-Wert
für das
Bauelementen-Modell gleich "TI" ist.
-
Der
Benutzer spezifiziert im Schritt 506 den Namen des Bauelementen-Modells,
um ihn zu definieren. Der Name kann irgendeine einmalige Identifizierung
sein. Der Name erleichtert die Speicherung und das Auslesen des
Bauelementen-Modells aus dem Hard-Disk-Speicher 204. Das Bauelementen-Definitionsmodul 310 bestimmt,
ob das benamte Bauelementen-Modell gegenwärtig in einer Bauelementen-Modell-Bibliothek
existiert. Wenn das Bauelementen-Modell existiert, dann wird das
Bauelementen-Modell im Schritt 512 aus dem Hard-Disk-Speicher 204 ausgelesen.
Die Technik des Auslesens des Bauelementen-Modells wird im einzelnen
weiter unten unter Bezugnahme auf 7 beschrieben.
Nachdem es einmal ausgelesen ist, kann das Bauelementen-Modell modifiziert
werden, wie dies im folgenden beschrieben wird.
-
Wenn
das Bauelementen-Defitionsmodul 310 bestimmt, dass das
benamte Bauelementen-Modell nicht existiert, dann wird das Bauelementen-Modell
im Schritt 510 erzeugt. Die Erzeugung des Bauelementen-Modells
umfasst die Assoziierung des Bauelementen-Modell-Namens mit der
Liste von Eigenschaften, wie sie im Schritt 504 definiert
sind. Der Benutzer definiert im Schritt 516 die Eigenschaftswerte
für eine
oder mehrere Eigenschaften, die dem Bauelementen-Modell zugeordnet
sind. Gewisse Eigenschaften sind schwierig unter Benutzung von Regeln
abzuleiten, beispielsweise Hersteller, Verpackungstyp. Häufig gibt
der Benutzer Werte für
diese Eigenschaften ein, und bildet so einen "Keim",
der in Verbindung mit den Regeln zur Bestimmung anderer Eigenschaftswerte
für das
Bauelementen-Modell benutzt werden kann. Diese "Keim"-Werte
werden als Ausnahmewerte bezeichnet. Ein Ausnahmewert ist ein Eigenschaftswert,
der vom Benutzer eingegeben ist. Es gibt drei Arten von Eigenschaftswerten,
nämlich:
Jene, die durch Regeln abgeleitet werden (regelbasierende Werte);
jene, die durch den Benutzer eingegeben werden (Ausnahmewerte);
und Nullwerte, zum Beispiel ein nicht quantifizierter Eigenschaftswert.
-
Das
Bauelementen-Definitionsmodul 310 wählt im Schritt 520 eine
Eigenschaft, die kein Ausnahmewert oder ein auf Regeln basierender
Wert ist, der dem Bauelementen-Modell zugeordnet ist. Das Bauelementen-Definitionsmodul 310 bestimmt
im Schritt 522, ob irgendeine Regel dieser Eigenschaft zugeordnet
ist. Wenn dies für
wenigstens eine Regel zutrifft, die der Eigenschaft zugeordnet ist,
dann liest das Eingangs/Ausgabemodul 304 im Schritt 524 diese
Regeln aus. Der Regelrechner 308 berechnet im Schritt 526 jede
Regel, die der Eigenschaft zugeordnet ist. Da mehr als eine Regel
einer speziellen Eigenschaft zugeordnet sein kann, ordnet das Regel-Definitionsmodul 312 jeder
Regel eine Priorität zu.
Wenn daher zwei Regeln sich auf eine einzige Eigenschaft beziehen,
und die Bedingungen für
jede Regel erfüllt
sind, dann berechnet der Rechner 308 die Regeln und definiert
den Eigenschaftswert basierend auf der Regel mit höherer Priorität.
-
Wenn
das Bauelementen-Definitionsmodul 310 im Schritt 522 bestimmt,
dass keine Regeln der Eigenschaft zugeordnet sind, dann bestimmt
das Bauelementen-Definitionsmodul 310 im
Schritt 530, ob irgendeine weitere Bauelementen-Eigenschaft besteht:
(1) hat keinen Wert; und (2) wurde nicht vorher gewählt, im
Schritt 520. Wenn eine solche Eigenschaft vorhanden ist,
dann werden die Schritte 520 bis 530 wiederholt,
bis alle Eigenschaften, die nicht einem Wert zugeordnet sind, im
Schritt 520 ausgewählt
wurden. Das Bauelementen-Definitionsmodul 310 ordnet dann
einen Null-Eigenschaftswert
jenen Eigenschaften zu, die sonst nicht einem Wert zugeordnet sind.
-
Das
Bauelementen-Definitionsmodul 310 liefert im Schritt 534 die
Werte für
alle Bauelementen-Eigenschaften dem Benutzer über das GUI 220. Der
Benutzer bestimmt im Schritt 536, ob sämtliche Eigenschaftswerte richtig
sind. Wenn alle diese Werte nicht richtig sind, dann wählt der
Benutzer im Schritt 538 die Modifikation eines Eigenschaftswertes.
Der Benutzer schreitet im Schritt 540 auf einem von zwei
Pfaden fort. Im ersten Pfad schaltet der Benutzer einen Ausnahmewert
im Schritt 542 für
die Eigenschaft auf. Wie oben erwähnt, ist der Eigenschaftswert
ein Ausnahmewert, weil er vom Benutzer vorgesehen und nicht durch
eine Regel definiert ist. Auf dem zweiten Pfad erzeugt der Benutzer
entweder im Schritt 544 eine neue Regel oder er modifiziert eine
bestehende Regel. Dieses Verfahren zur Erzeugung einer neuen Regel
ist oben beschrieben. Der Regel-Modifizierungsprozeß ist ähnlich dem
Regelerzeugungsprozeß mit
der Ausnahme, dass anstelle einer vollständigen Definition einer neuen
Regel der Benutzer eine bestehende Regel auf dem GUI 220 oder
einem Texteditor (nicht dargestellt) modifiziert. Ein Beispiel eines
Texteditors, der benutzt werden kann, um Regel zu schaffen oder
zu modifizieren, ist der "vi"-Editor, das heißt ein Standard-Texteditor
für UNIX-Betriebssysteme.
Im allgemeinen sollte der Benutzer einen Ausnahmewert im Schritt 542 eingeben,
wenn ein einzigartiges Bauelement modelliert werden soll. Wenn der
Eigenschaftswert zwei oder mehreren Bauelementen-Modellen eigen
ist, dann sollte der Benutzer entweder eine Regel erzeugen oder
modifizieren. Die Schritte 536 bis 546 werden wiederholt,
bis der Benutzer bestimmt, dass sämtliche Werte für das Bauelementen-Modell
richtig sind. Dieser Bauelementen-Definitionsprozeß ist an
dem Schritt 550 vollendet.
-
Ein
weiteres wichtiges Merkmal der vorliegenden Erfindung ist die Möglichkeit,
wirksam Bauelementen-Modelle 211 im Hard Disk Speicher 204 zu speichern. 6 ist ein Ablaufdiagramm,
welches die Technik zur Speicherung von Bauelementen-Modellen im Schritt 406 gemäß einem
bevorzugten Ausführungsbeispiel
der Erfindung zeigt. Das Bauelementen/Ausnahme-Speichermodul (CESM) 302 empfängt ein
Bauelementen-Modell,
das einen Bauelementen-Namen und einen oder mehrere Ausnahmewerte
hat. Das CESM 302 speichert im Schritt 602 den
Bauelementen-Namen (Identifizierer) und einen Zeiger nach einer
Liste oder Hilfsliste von Eigenschaften, die dem Bauelementen-Modell an einer verfügbaren Speicherstelle
im Hard Disk Speicher 204 zugeordnet ist. Das CESM 302 wiederholt
die Schritte 604 bis 620, wie unten beschrieben,
für jeden
Ausnahmewert, der dem Komponenten-Modell zugeordnet ist, um zu gewährleisten,
dass ein Ausnahmewert, der von einer Regel abgeleitet werden könnte, nicht
im Hard Disk Speicher 204 gespeichert wird, das heißt es soll
eine Speicherung redundanter Eigenschaftswerte verhindert werden.
Das CESM 302 wählt
im Schritt 604 eine Eigenschaft, die einen Ausnahmewert
besitzt. Unter Benutzung des Regel-Eingangs/Ausgangsmoduls 304 bestimmt
das CESM 302, ob irgendwelche Regeln dieser Eigenschaft
zugeordnet sind. Wenn keine Regeln dieser Eigenschaft zugeordnet
sind, speichert das CESM 302 im Schritt 618 den
Ausnahmewert. Das CESM 302 wiederholt die Schritte 604 bis 620,
wenn es im Schritt 620 bestimmt, das zusätzliche
Eigenschaften, die einen Ausnahmewert haben, für das zu speichernde Bauelementen-Modell
existieren.
-
Wenn
das CESM 302 im Schritt 608 bestimmt, dass eine
oder mehrere Regeln der Eigenschaft zugeordnet sind, wird die Regel
oder es werden die Regeln im Schritt 610 durch das Regel-Eingabe/Ausgabe-Modul 304 ausgelesen.
Der Regelrechner 308 bestimmt im Schritt 612 den
auf Regeln basierenden Wert für
die Eigenschaft, wie oben erwähnt.
Wenn der auf Regeln basierende Wert äquivalent dem Ausnahmewert
ist, wie dies durch das CESM 302 im Schritt 616 bestimmt
wird, dann speichert das CESM 302 den Ausnahmewert nicht,
weil diese Speicherung zu einer Speicherung redundanter Daten im
Hard Disk Speicher 204 führen würde. Redundante Daten sind
Daten die sowohl durch eine Regel als auch durch einen Ausnahmewert
abgeleitet werden können.
Dadurch dass gewährleistet
wird, dass keine redundanten Daten in dem Hard Disk Speicher 204 gespeichert
werden, werden die Speichererfordernisse für jedes Bauelementen-Modell beträchtlich
vermindert. Wenn das CESM 302 bestimmt, dass der auf Regel
basierende Wert nicht wesentlich äquivalent dem Ausnahmewert
ist, dann speichert das CESM 302 im Schritt 618 den
Ausnahmewert in dem Hard Disk Speicher 204. Die Systemtoleranz
in Bezug auf die Frage, ob zwei Eigenschaftswerte "äquivalent" sind, wird vorher vom Benutzer definiert.
Normalerweise sind zwei Eigenschaftswerte äquivalent nur dann, wenn sie
exakt gleich sind, jedoch kann der Benutzer eine Ausbreitung der
Definition definieren, um kleinere Unterschiede in den Eigenschaftswerten
einzubeziehen. Das CESM wiederholt die Schritte 604 bis 620,
wenn es im Schritt 620 bestimmt, dass zusätzliche
Eigenschaften mit einem Ausnahmewert für das zu speichernde Bauelementen-Modell
bestehen. Wenn das CESM 302 sämtliche dem Bauelementen-Modell
zugeordnete Ausnahmewerte prüft,
ist die Speicherung des Bauelementen-Modells im Schritt 624 vollendet.
-
Nach
der Speicherung eines Bauelementen-Modells im Schritt 406 kann
der Bauelementen-Modell-Generator 200 im Schritt 408 das
Bauelementen-Modell auslesen. Die Technik zum Auslesen eines Bauelementen-Modells,
gemäß einem
bevorzugten Ausführungsbeispiel
der Erfindung wird nunmehr unter Bezugnahme auf 7 beschrieben. Der Benutzer gibt im Schritt 702 einen
Bauelementen-Modell-Namen unter Benutzung des GUI 220 ein: Das
Bauelementen/Ausnahme-Auslesemodul (CERM) 306 empfängt den
Modellnamen. Der Modellname identifiziert ein Bauelementen-Modell,
welches auszulesen ist. Wenn der empfangene Bauelementen-Name nicht
existiert, dann unterrichtet der Bauelementen-Modell-Generator 200 entweder
den Benutzer, dass ein anderer Name eingegeben werden muß oder dem
Benutzer wird die Option erteilt, ein neues Bauelement zu definieren,
das dem empfangenen Namen zugeordnet ist. Wenn ein vorher existierender
Name empfangen wird, empfängt
das CERM 306 von dem Hard Disk Speicher 204 eine Liste
oder Hilfsliste von Eigenschaften, die dem Bauelementen-Modell zugeordnet
sind. Das CERM 306 empfängt
auch im Schritt 406 die Ausnahmewerte, die dem Bauelementen-Modell
zugeordnet sind, die durch das CESM 302 gespeichert wurden.
Das CERM 306 wiederholt die Schritte 704 bis 722 für jede dem
Bauelement zugeordnete Eigenschaft.
-
Das
CERM 306 wählt
die einem Bauelementen-Modell zugeordnete Eigenschaft. Das CERM 306 bestimmt
im Schritt 708, ob die gewählte Eigenschaft einen Ausnahmewert
hat. Wenn die gewählte
Eigenschaft einen Ausnahmewert besitzt, dann setzt das CERM 306 im
Schritt 718 den Eigenschaftswert gleich dem Ausnahmewert
für die
gewählte Eigenschaft.
Die Schritte 704 bis 722 werden für jede Eigenschaft,
die dem Bauelementen-Modell zugeordnet ist, wiederholt.
-
Wenn
die gewählte
Eigenschaft keinen Ausnahmewert hat, dann bestimmt das CERM 306
im Schritt 712, ob es eine Regel gibt, die der gewählten Eigenschaft
zugeordnet ist. Wenn keine Regeln der Eigenschaft zugeordnet sind,
dann ist der Eigenschaftswert für
das Bauelementen-Modell ein Null-Wert, das heißt der Wert ist unwichtig oder
unbekannt für
den Benutzer, der im Schritt 404 das Bauelementen-Modell
definiert. Wenn eine oder mehrere Regeln der Eigenschaft zugeordnet
sind, dann liest das Regel-Eingabe/Ausgabe-Modul 304 die Regeln im Schritt 714 aus.
Der Regelrechner 308 bestimmt im Schritt 716 den
zugeordneten Eigenschaftswert durch Anwenden der Regel auf die verbleibenden
Eigenschaftswerte des Bauelementen-Modells. Nachdem das CERM 306 einen
Wert für
die gewählte
Eigenschaft bestimmt, zum Beispiel einen Ausnahmewert, einen auf
Regel basierenden Eigenschaftswert oder einen Nullwert, dann wiederholt
das CERM 306 die Schritte 704 bis 722,
bis sämtliche
Eigenschaften, die dem Bauelementen-Modell zugeordnet sind, ausgewählt sind.
Nachdem das CERM 306 im Schritt 722 bestimmt,
dass alle Eigenschaften, die dem Bauelementen-Modell zugeordnet
sind, gewählt
wurden, dann ist im Schritt 724 die Auslesung des Bauelementen-Modells
vollendet.
-
Das
System und das Verfahren gemäß der Erfindung
schafft einen Bauelementen-Modell-Generator, der Bauelementen-Modelle
wirksam erzeugt, speichert und ausliest. Die Erfindung bedingt eine Verminderung
der Speicherplätze,
die erforderlich sind, um ein Bauelementen-Modell zu speichern,
und zwar geschieht dies durch Regelwerte und Ausnahmewerte. Die
Erfindung gewährleistet
eine beträchtliche
Verminderung der Speichererfordernisse, wobei gleichzeitig die Integrität des Systems
aufrechterhalten wird, indem alle Bauelementen-Informationen, wenn
auch in unterschiedlicher Form, gegenüber dem bisherigen System,
gespeichert werden.
-
Ein
weiterer Vorteil der Erfindung besteht darin, dass bei der Definierung
oder Editierung von Bauelementen-Modellen im Schritt 404 die
Regeln das Bauelementen-Definitionsmodul 310 veranlassen,
automatisch zahlreiche Eigenschaftswerte zu erzeugen, die sonst
manuell eingegeben werden müßten. Dieses
Merkmal vermindert die Zeit, die notwendig ist, um eine vollständige Bauelementen-Modell-Bibliothek
zu erzeugen und aufrechterhalten. Außerdem erhöht dieses Merkmal die Betriebssicherheit
der Bauelementen-Modell-Bibliothek. Die Wahrscheinlichkeit von Dateneingabefehlem
wird dadurch vermindert, dass die Datenmenge, die vom Benutzer eingegeben
werden muß,
verringert ist. Infolgedessen ist die Bibliothek genauer und betriebssicherer.