DE69909452T2 - Eine datenbank, die nützlich ist, um ein system zu konfigurieren und/oder zu optimieren und ein verfahren, um diese datenbank zu generieren - Google Patents

Eine datenbank, die nützlich ist, um ein system zu konfigurieren und/oder zu optimieren und ein verfahren, um diese datenbank zu generieren Download PDF

Info

Publication number
DE69909452T2
DE69909452T2 DE69909452T DE69909452T DE69909452T2 DE 69909452 T2 DE69909452 T2 DE 69909452T2 DE 69909452 T DE69909452 T DE 69909452T DE 69909452 T DE69909452 T DE 69909452T DE 69909452 T2 DE69909452 T2 DE 69909452T2
Authority
DE
Germany
Prior art keywords
variables
relations
database
relation
variable
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
DE69909452T
Other languages
English (en)
Other versions
DE69909452D1 (de
DE69909452T4 (de
Inventor
Lykke Gert MOELLER
Erik Claus JENSEN
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.)
Array Tech ApS
Original Assignee
Array Tech ApS
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 Array Tech ApS filed Critical Array Tech ApS
Publication of DE69909452T2 publication Critical patent/DE69909452T2/de
Application granted granted Critical
Publication of DE69909452T4 publication Critical patent/DE69909452T4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
    • 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
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • 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
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Chemically Coating (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)
  • Image Generation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

  • 1 Hintergrund der Erfindung
  • Ziel der Erfindung ist es, die automatische Modellierung, Analyse (Verifikation) und Echtzeitsimulation aufwendiger Konfigurationsprobleme auf Standardcomputern (z. B. einem Personalcomputer) zu unterstützen. Mathematisch gesprochen, können solche Probleme auf endlichen Definitionsbereichen (engl., domains) oder Intervallen in Form von Wertetabellen mit MN Kombinationen ausgedrückt werden, wobei jede dieser Kombinationen einen der beiden Booleschen Werte wahr oder unwahr (legal oder nichtlegal) annehmen kann. Im folgenden nehmen wir N Variablen an, jede mit M Elementen. Daher sollen binäre Variablen als ein Spezialfall mit M = 2 angenommen werden.
  • Offensichtlich bewirken MN Kombinationen eine „kombinatorische Explosion", und es ist deshalb keine triviale Aufgabe, Probleme großer Konfigurationen mit einer Vielzahl von Variablen zu lösen. Nichtsdestotrotz macht es die vorliegende Erfindung möglich, die scheinbar widersprüchlichen Anforderungen der Vollständigkeit (alle Kombinationen müssen zugreifbar sein, um die logische Konsistenz sicher zu stellen), der Kompaktheit der Repräsentation und der Geschwindigkeit der Simulation zu vereinigen.
  • Zum Beispiel werden ineinander greifende Systeme für den Eisenbahnbetrieb durch mehrere tausend Variablen, welche Signalwerte oder Schalterpositionen repräsentieren, gesteuert. Zur Veranschaulichung, selbst ein kleines ineinander greifendes System mit 2000 binären Variablen ist durch die enorme Anzahl von 22000 Zuständen oder Kombinationen gekennzeichnet. Manche Kombinationen sind legal (erlaubt), während andere Kombinationen klar illegal sind, weil sie Unfälle verursachen würden. Um diese Systeme mit konventioneller Technologie zu beherrschen, war es nötig, das System in Subsysteme von ausreichend geringer Größe herunterzubrechen, um ihre Validation zu ermöglichen, wobei nicht nur illegale, sondern ebenso eine große Anzahl legaler Kombinationen ausgeschlossen werden können, was in einer weniger effizienten Verwendung des Systems resultiert. Allgemein sind die Systemvariablen nicht auf binäre Werfe eingeschränkt, sondern weisen ebenso unterschiedliche Datentypen auf endlichen Definitionsbereichen (z. B. mehrwertig logisch, Integer oder endliche Gruppen von Intervallen) auf. Es ist höchst wünschenswert, in der Lage zu sein, Konfigurationsprobleme in Systemen dieser Größe durch computerisierte Hilfsmittel zu beherrschen, welche beinahe unmittelbar vollständige und korrekte Reaktionen bereitstellen könnten.
  • Ein anderes Beispiel ist die Konfiguration von Produkten oder Dienstleistungen (z. B., Autos, Computern oder Reisen) im Internet. Viele Produkte sind in einer Vielzahl von Varianten verfügbar, welche vom Kunden aus einer Vielzahl gegenseitig abhängiger Optionen ausgewählt werden müssen. Daher sind nur einige Kombinationen dieser Optionen möglich oder legal, während andere Kombinationen aufgrund technischer oder kommerzieller Beschränkungen illegal sind. Es ist deshalb wünschenswert, E-Kommerz-Hilfsmittel zu gestalten, um dem Kunden zu ermöglichen, interaktiv selbst aus sehr komplexen Produktmodellen nur die legalen Kombinationen auszuwählen.
  • Während eine Anzahl computerisierter Konfigurationshilfsmittel verfügbar geworden sind, z. B. die in WO 90/09001 und US 5,515,524 offenbarten Systeme, existiert immer noch ein Bedarf an Systemen, welche die Anforderungen der Vollständigkeit und Kompaktheit und Reaktionsgeschwindigkeit erfüllen. In diesem Zusammenhang indiziert der Begriff „Vollständigkeit" die mathematische Notwendigkeit, dass alle Kombinationen verifiziert worden sind, um logische Konsistenz sicher zu stellen.
  • Die vorliegende Erfindung stellt eine elegante Lösung für dieses Problem ohne das Problem der „kombinatorischen Explosion" bereit. Wie durch die folgende Beschreibung verständlich wird, ist der springende Punkt der Erfindung die Etablierung eines neuen Typs von Datenbank, im folgenden als „Array-Datenbank" bezeichnet. Während die Datenbank ein optimales Hilfsmittel für die oben indizierten und im folgenden genauer beschriebenen komplexen Konfigurationsprobleme ist, ist es selbstverständlich, dass sie aufgrund ihrer einzigartigen innewohnenden Vorteile ebenso für einen breiten Bereich von Anwendungen nützlich ist, für den gegenwärtig konventionelle Datenbanksysteme, gewöhnlich relationale Datenbanken, verwendet werden.
  • Eine wissenschaftliche/mathematische Diskussion von für diese Erfindung wichtigen Prinzipien ist in Möller, Gert L.: On the Technology of Array-based Logic. Ph. D. thesis, Elektroenergieingenieursabteilung, Technische Universität von Dänemark, Januar 1995, gegeben.
  • 2 Kurzoffenbarung der Erfindung
  • In einem Aspekt bezieht sich die Erfindung, wie in Anspruch 1 beansprucht, auf ein Verfahren zum Erzeugen einer Datenbank, welche zum Konfigurieren und/oder Optimieren eines Systems dient, das durch Variablen auf finiten Definitionsbereichen und/oder Intervallen aufgespannt wird, wobei das Verfahren umfasst: Erzeugen und Speichern eines adressierbaren Konfigurationsraumes des gesamten Systems in einem Speicher oder Aufzeichnungsmedium eines Computers in Form aller erlaubten kartesischen Unterräume von Zuständen oder Kombinationen, welche der Verknüpfung im Wesentlichen aller Systembeschränkungen auf allen Variablen genügen, wobei alle untereinander in Verbindung stehenden kartesischen Unterräume adressierbar sind als erlaubte Kombinationen von Indizes von Verbindungsvariablen, um eine Datenbank zu bilden, in welcher im Wesentlichen alle erlaubten Lösungen im System als verschachteltes Array gespeichert werden.
  • Im folgenden wird die gemäß der Erfindung erzeugte Datenbank als Array-Datenbank bezeichnet, wobei dieser Ausdruck die Tatsache reflektiert, dass alle legalen Lösungen als eines oder mehrere verschachtelte Arrays in der Datenbank gespeichert sind.
  • Definitionen und Erklärungen, welche für manche der in der vorliegenden Beschreibung und den Ansprüchen verwendeten Ausdrücke relevant sind, lauten wie folgt:
    „Konfigurieren" bezeichnet das Etablieren im Wesentlichen aller legalen Kombinationen der Variablen, die im Wesentlichen allen Beschränkungen auf dem System genügen. Bevorzugt werden alle legalen Kombinationen von Variablen, welche allen Beschränkungen auf dem System genügen, etabliert, wobei in diesem bevorzugten Fall die legalen kartesischen Unterräume von Zuständen oder Kombinationen der Verknüpfung aller Systemeschränkungen auf allen untereinander verbundenen Variablen genügen.
    „Optimieren" bezeichnet das Anwenden einer heuristischen Selektion von Kombinationen innerhalb eines Satzes legaler Kombinationen. Die Bezeichnung „Ein durch Variablen auf endlichen Definitionsbereichen und/oder Intervallen aufgespanntes System" indiziert, dass jede Variable des Systems aus einem endlichen Satz von Elementen oder Zustandswerten (z. B. logischen Wahrheitswerten) oder einem endlichen Satz von Intervallen besteht.
    Die Bezeichnung „Ein adressierbarer Konfigurationsraum" indiziert, dass im Wesentlichen alle legalen Kombinationen explizit repräsentiert sind; im bevorzugten Fall sind alle legalen Kombinationen explizit repräsentiert.
    „Ein kartesischer Unterraum" ist eine kompakte Repräsentation einer oder mehrerer legaler Kombinationen, wobei alle Kombinationen ableitbar/berechnet sind als das kartesische Produkt der Elemente oder Zustandswerte für jede Variable.
    „Systembeschränkungen" sind die Relationen (Aussagefunktionen) auf für das System definierten Variablen.
    „Untereinander verbundene Variablen" indiziert Variablen, welche in mindestens zwei Relationen präsent sind.
    „Eine Verbindungsvariable" bezeichnet eine Variable, welche durch das Verfahren gemäß der Erfindung erzeugt und zu einer gegebenen Relation mit einem einzigen Index, welche einen kartesischen Unterraum identifiziert, hinzugefügt ist.
    „Untereinander verbundene legale kartesische Unterräume" bezeichnet legale kartesische Unterräume mit mindestens einer gemeinsamen Variable.
  • Es ist ein bedeutendes Merkmal der Erfindung, dass alle illegalen Zustände oder Kombinationen, welche die Systembeschränkungen verletzen, aus den Relationen ausgeschlossen sind. Ein solcher Ausschluss illegaler Zustände oder Kombinationen kann bevorzugt durchgeführt werden, während die Datenbank durch das Verfahren gemäß der Erfindung erzeugt wird, wobei die illegalen Zustände oder Kombinationen, wann immer sie identifiziert werden, ausgeschlossen werden. Ein widersprüchlicher oder inkonsistenter Zustand liegt in einem System vor, falls nur eine Relation des Systems keine legale Kombination oder keinen legalen Zustand aufweist. Auf der anderen Seite wird ein System als konsistent bezeichnet, falls mindestens ein Zustand oder eine Kombination legal ist, z. b. allen Systembeschränkungen genügt. Falls bei der Erzeugung der Datenbank nur eine Relation eines Systems gefunden wird, welche keine legale Kombination oder keinen legalen Zustand aufweist, dann befindet sich das gesamte System in einem widersprüchlichen oder inkonsistenten Zustand und muss ausgeschlossen werden.
  • Im folgenden wird der Prozess des Zusammenführens von Relationen (das heißt, des Kombinierens von Relationen, um zu einem komplexeren Untersystem oder System zu gelangen) detaillierter besprochen. Es versteht sich, dass auf jeder Ebene des Zusammenführungsprozesses Inkonsistenzen oder Widersprüche identifiziert werden und daher in einem Ausschluss des zusammengefügten Untersystems oder Systems resultieren. Daher ist das System, wenn der Erzeugungsprozess abgeschlossen ist, konsistent, da es durch alle Relationen, welche mindestens einen legalen kartesischen Unterraum aufweisen, erklärt ist.
  • In der vorliegenden Beschreibung und den vorliegenden Ansprüchen wird die Bezeichnung „System" für ein gesamtes System von Variablen oder alternativ für einen Teil eines gesamten Systems von Variablen verwendet. In allen Fällen, welche für die vorliegende Erfindung relevant sind, wird das in dieser Art verstandene System vollständig dadurch definiert, dass jede Kombination unter dem System entweder legal oder illegal ist gemäß aller Systembeschränkungen, welche für die Verwendung der Datenbank relevant sind, und bevorzugt gemäß unumschränkt aller Systembeschränkungen. Daher indiziert die Bezeichnung System, verwendet für ein gesamtes System von Variablen, in Zusammenhang mit den Ansprüchen und der Beschreibung, dass das gesamte System vollständig gemäß aller Systembeschränkungen, welche relevant für die Verwendung der Datenbank sind, und bevorzug gemäß unumschränkt aller Systembeschränkungen definiert ist. Wenn ein System von Variablen im obigen Sinne der Bezeichnung nicht vollständig definiert ist, dann ist nur der Teil des Systems, welcher tatsächlich vollständig definiert ist, durch die Bezeichnung „System", wie sie in den Ansprüchen verwendet wird, abgedeckt. Die Bezeichnung „im Wesentlichen", wie sie in Anspruch 1 verwendet ist, indiziert, dass es möglich ist, ein System vorliegen zu haben, welches nicht gemäß Systembeschränkungen, die nicht relevant für die Verwendung der Datenbank sind, definiert ist. Die Bezeichnung „im Wesentlichen" kann ebenso ein System indizieren, in welchem der Prozess des Zusammenführens nicht abgeschlossen ist und wo die Laufzeitumgebung angepasst werden muss, um gewisse Tests auf Konsistenz durchzuführen. Während die letztere Variante nicht als ideal betrachtet wird, kann sie nichtsdestotrotz für bestimmte Anwendungen der Erfindung angewendet werden, wo das Echtzeittauglichkeit der Laufzeitumgebung keine Voraussetzung ist.
  • Wie oben angeführt wurde, können die Systembeschränkungen durch Kombinieren einer oder mehrerer Relationen bestimmt werden, wobei jede Relation die legalen kartesischen Unterräume von Zuständen oder Kombinationen auf einer gegebenen Untergruppe von Variablen repräsentiert. Die Kombination der einen oder mehreren Relationen umfasst das Berechnen der kartesischen Unterräume, welche den kombinierten Beschränkungen der einen oder mehreren Relationen genügen. Falls keine Relationen gemeinsame Variable aufweisen, ist keine weitere Maßnahme zum Kombinieren der Relationen notwendig.
  • Gemäß einem wichtigen bevorzugten Merkmal der Erfindung werden alle Relationen mit mindestens einer gemeinsamen Variable zusammengeführt. Die Zusammenführung umfasst das Kombinieren der Beschränkungen von zwei oder mehr Relationen, welche durch das Aufweisen gemeinsamer Variablen verbunden sind, zum Etablieren des/der kartesischen Unterraums/-räume, welche den kombinierten Beschränkungen der zwei oder mehreren Relationen genügen.
  • Die Zusammenführung der zwei oder mehr Relationen wird normalerweise durch das Kombinieren der zwei oder mehr Relationen bis zu einer vordefinierten Grenze durchgeführt. Das Kombinieren umfasst die Operation des Ersetzens eines Satzes von Relationen mit einer einzelnen Relation, welche den kombinierten Beschränkungen des Satzes genügt.
  • Die Gruppe von Relationen ist nicht auf zwei Relationen beschränkt, sondern kann allgemein jede endliche Anzahl von Relationen umfassen. In einer bevorzugten Ausführungsform der Erfindung wird der Fall, wo drei oder mehrere Relationen kombiniert werden, typischerweise zerlegt in eine Anzahl paarweiser Kombinationen. Diese paarweisen Kombinationen können eine vorbestimmte Strategie umfassen, oder das Kombinieren kann in einer zufälligen Reihenfolge erfolgen.
  • Der Kombinierungsprozess reduziert gewöhnlich die Anzahl von Relationen, und die resultierende Anzahl von Relationen wird dann durch Verbinden und Gruppieren in einen oder mehrere Cluster von Relationen) zusammengeführt.
  • Ein Cluster kann eine Relation oder eine Gruppe von untereinander verbundenen Relationen umfassen. Diese Cluster sind im folgenden detaillierter beschrieben.
  • Das Verbinden der Relationen besteht aus dem Hinzufügen von Verbindungsvariablen und dem Hinzufügen einer oder mehrerer berechneter Relation(en), welche die Beschränkungen auf der Verbindungsvariablen repräsentieren.
  • Das Verbinden der Relationen kann innerhalb eines Clusters oder zwischen Clustern erfolgen. Das Verbinden zwischen zwei Clustern kann durch Etablieren einer Verbindungsrelation durchgeführt werden, welche zwei Verbindungsvariablen umfasst, während für ein Verbinden innerhalb eines Clusters die Verbindungsrelation(en) alle Verbindungsvariablen auf den Relationen in dem Cluster umfassen.
  • Falls drei oder mehr durch gemeinsame Variablen untereinander verbundene Relationen Schleifen oder geschlossene Pfade erzeugen, dann werden sie in einen einzigen Cluster gruppiert, welcher die drei oder mehr Relationen umfasst. Als Konsequenz sind die resultierenden Cluster ohne Schleifen, z. B. in einer Baumstruktur, untereinander verbunden.
  • Die Baumstruktur macht es möglich, die Vollständigkeit der Ableitung in der Laufzeitumgebung durch Zustandsübertragung sicherzustellen, zum Beispiel, wenn eine Konfiguration oder Optimierung durchgeführt wird.
  • Die Bezeichnung „Vollständigkeit der Ableitung" indiziert, dass alle logischen Konsequenzen auf einer oder mehreren Variablen abgeleitet werden müssen. In wichtigen Ausführungsformen der Erfindung bezieht sich die Vollständigkeit der Ableitung auf alle logischen Konsequenzen auf allen Variablen, aber, wie oben angeführt ist, ist die Erfindung nicht darauf beschränkt.
  • Wenn die Array-Datenbank zur Optimierung verwendet wird, sind eine oder mehrere Zielfunktionen berücksichtigt. Eine Zielfunktion einer gegebenen Untergruppe von Variablen, wobei die Zielfunktion Eigenschaften der gegebenen Untergruppe von Variablen ableitet, ist durch Ableiten der durch die auf jeder Verbindungsvariablen mit der gegebenen Untergruppe von Variablen verbundenen Zielfunktion auferlegten Beschränkungen mit dem vollständigen Konfigurationsraum verbunden.
  • Nachdem die Array-Datenbank durch das Verfahren gemäß der Erfindung erzeugt worden ist, können die Zielfunktionen Informationen zwischen einer Gruppe von Variablen und einer Gruppe von Zielfunktionswerten bereitstellen, z. B. Preis, Gewicht, Farbe.
  • Falls eine Gruppe von Zielfunktionswerten keine „natürliche" Ordnung, z. B. als Nummern, aufweist, kann der Gruppe von Zielfunktionswerten eine beliebige Ordnung zugeordnet werden.
  • Die Eigenschaften der Zielfunktion können bestimmt und die Beschränkungen auf den Verbindungsvariablen auf jeder Kombination der gegebenen Variablen abgeleitet werden. Das Abbilden kann ebenso eine allgemeine Relation sein, welche eine oder mehrere Zielfunktionswerte für jede Kombination der Variablen liefert.
  • In einem anderen Aspekt bezieht sich die Erfindung auf ein Verfahren zum Konfigurieren und/oder Optimieren eines durch Variablen auf endlichen Definitionsbereichen aufgespannten Systems, wobei das Verfahren folgende Schritte umfasst:
    • – Bereitstellen einer Datenbank, in welcher im Wesentlichen alle legalen Lösungen in dem System als verschachtelte Arrays gespeichert sind.
    • – Ableiten eines der Eingabe-Anweisung und/oder -Anfrage entsprechenden Unterraumes von Zuständen oder Kombinationen, welcher aufgespannt wird durch eine oder mehrere Variablen des durch das verschachtelte Array dargestellten Systems, indem die Konsequenzen einer Anweisung und/oder Anfrage abgeleitet werden, wobei die durch die Anweisung und/oder Anfrage definierten Beschränkungen auf die Datenbank angewendet werden.
  • „Ableiten" bezeichnet Ableiten oder Bestimmen aller logischen Beeinflussungen oder Folgerungen aus einem gegebenen Satz von Voraussetzungen, z. B. allen Systembeschränkungen.
  • „Abfrage" bezeichnet eine Frage, für welche die Array-Datenbank alle Antworten bereitstellen kann.
  • Eine Frage kann sich auf die legale(n) Kombination(en) einer gegebenen Gruppe von Variablen beziehen, welche den Systembeschränkungen genügen und möglicherweise ebenso einer externe Aussage genügen.
  • Eine externe Aussage kann eine Anzahl erklärter und/oder gemessener Zustände und/oder Beschränkungen aus der Umgebung sein.
  • Daher wird eine Ableitung eines jeden Unterraums von Zuständen oder Kombinationen auf einer gegebenen Untergruppe von Variable(n) entweder ohne oder zusammengeführt mit erklärten und/oder gemessenen Zuständen und/oder Beschränkungen aus der Umgebung durchgeführt.
  • Die Interaktion zwischen dem durch die Array-Datenbank repräsentierten System und der Umgebung wird geeignet durch Mittel eines Zustandsvektors (SV, engl. status vector) durchgeführt, welcher alle legalen Zustände oder Werte jeder Variable repräsentiert.
  • Daher kann ein Eingabezustandsvektor (SV1) die erklärten und/oder gemessenen Zustände aus der Umgebung repräsentieren, während ein AusgabeZustandsvektor (SV2) abgeleitete Konsequenzen) auf jeder Variable des gesamten Systems repräsentieren kann, wenn die Beschränkungen von SV1 mit allen Systembeschränkungen in der Array-Datenbank zusammengeführt worden sind.
  • Die Ableitung kann durch Berücksichtigen einer oder mehrerer Relationen) und/oder einer oder mehrerer Zielfunktionen) gleichzeitig durch Zusammenführen der gegebenen Untergruppe von Variablen in der Relation mit den gegebenen Untergruppen von Zuständen in dem Zustandsvektor und dann Ableiten der möglichen Zustände jeder Variable durchgeführt werden.
  • Die Berücksichtigung einer Relation kann durch Zusammenführen, z. B. Kombinieren, der Relation und den Zuständen der in der Relation präsenten Variablen durchgeführt werden. Das Resultat der Berücksichtigung kann die Projektion (Vereinigung aller Elemente) auf jede Variable der zusammengeführten Relation sein, oder das Resultat kann die zusammengeführte Relation sein. Die Zusammenführung kann natürlich eine Kombinierung sein, aber es sollte aus der hier geführten Diskussion evident sein, dass die Berücksichtigung jeder Relation nicht darauf beschränkt ist.
  • In einer bevorzugten Ausführungsform der Erfindung werden zwei oder mehr Variablen parallel zusammengeführt; die Projektion auf zwei oder mehr Variablen kann ähnlich parallel durchgeführt werden. Die Erfindung ist nicht auf solche parallele Implementation beschränkt, und die Erfindung kann ebenso gut sequentiell implementiert werden.
  • In einer Ausführungsform der Erfindung wird die Vollständigkeit der Ableitung durch Berücksichtigen verbundener Relationen erzielt, bis keine weiteren Konsequenzen auf jeglicher Verbindungsvariable abgeleitet werden können. Diese Operation wird als „Zustandsübertragung" bezeichnet. Eine solche Zustandsübertragung umfasst das parallele Berücksichtigen zweier oder mehrerer Relationen. Die Erfindung ist natürlich nicht auf solche parallele Implementation beschränkt, und die Erfindung kann aufgrund der Clusterstruktur ebenso gut sequentiell implementiert werden.
  • Ein wichtiges Merkmal der Konfiguration und/oder Optimierung gemäß der Erfindung ist, dass der widersprüchliche Zustand identifiziert werden kann, wenn, wenn mindestens eine Relation berücksichtigt wird, keine legalen Zustände oder Werte abgeleitet werden.
  • 3 Figuren
  • Im folgenden wird die Erfindung detaillierter gemäß folgenden Figuren beschrieben:
  • 1 Modellieren einer Array-Datenbank
  • 2 Array-Datenbanksimulation (Zustandsableitung)
  • 3 Kompilierung von Variablen und Relationen
  • 4 Zusammenführung
  • 5 Strategie zum Kombinieren einer Liste von Relationen
  • 6 Zusammenführungsgraph der Relationen
  • 7 Zusammenführungsgraph von Clustern (Baum)
  • 8 Gerichteter Zusammenführungsgraph von verbundenen Funktionen (Eingabe-Ausgabe-Datenfluss)
  • 9 Zusammenführen von Relationen in einem Cluster
  • 10 Schleifenelimination, welche eine Baumstruktur zusammengeführter Relationen liefert
  • 11 Bestimmung von Laufzeitclustern mit hinzugefügten Systemrelationen
  • 12 Verbinden von Clustern durch Zusammenfassen verbundener Relationen
  • 13 Zusammenführung von Relationenpaaren durch Projektion auf Verbindungsvariablen
  • 14 Verbinden einer Zielfunktion mit dem Konfigurationsraum
  • 15 Die Zustandsableitung auf einem einzelnen Cluster
  • 16 Zustandsübertragung auf verbundenen Clustern (azyklische Verbindung von Relationen)
  • 17 Kombinatorisches logisches Netzwerk
  • 18 Nutzerschnittstellenbeispiel
  • 19 Nutzerschnittstellenbeispiel
  • 4 Zusammenfassung der nachfolgenden Offenbarung
  • Die Array-Datenbank (im folgenden als ADB bezeichnet) ist eine kompakte, sogar vollständige Repräsentation aller legale Kombinationen von Konfigurationsproblemen auf endlichen Definitionsbereichen oder Intervallen. Der Konfigurationsraum legaler Zustände oder Kombinationen ist geometrisch in Form verschachtelter Datenarrays repräsentiert, und die ADB kann sehr effizient durch einfache Operationen auf diesen Arrays simuliert werden. Jeder Schritt im Prozess des ADB-Modellierens und ADB-Simulierens ist in den Kapiteln 5 und 6 entsprechend beschrieben.
  • Der Hauptdatenfluss des ADB-Modellierens ist in 1 zusammengefasst. Input ist eine nutzerdefinierte Spezifikation der Systembeschränkungen in Form eines Satzes von Regeln oder Relationen auf einer gegebenen Gruppe von Variablen. Die ADB ist in einer dreistufigen Prozedur modelliert, wie in dem Prozessblock ADB-MODEL in 1 skizziert.
    • 1. Kompiliere Variablen und Relationen (Kapitel 5.1): Jede nutzerdefinierte Variable und jede Relation wird in die interne Array-Repräsentation übertragen. In diesem Stadium werden die Relationen als unabhängige Elemente angenommen.
    • 2. Führe Relationen zusammen, verifiziere System (Kapitel 5.2): Der Konfigurationsraum des gesamten Systems ist durch Zusammenführen miteinander verbundener Relationen (Beschränkungselemination) bestimmt. Das System wird simultan auf logische Konsistenz und Redundanz getestet.
    • 3. Erzeugte Zielfunktionen (Kapitel 5.3): Optional können die Relationen mit weiteren Attributen erweitert werden, wenn die legalen Kombinationen, welche die Systembeschränkungen erfüllen, Variablen oder zu optimierenden Zielfunktionen wie zum Beispiel einem Preis oder einem Gewicht zugeordnet sind.
  • In diesem Stadium ist der Prozess des ADB-Modellierens beendet. Der gesamte Konfigurationsraum kann nun durch Koordinatenindizierung und andere einfache Operationen auf den verschachtelten Arrays adressiert werden.
  • Die Hauptoperation der ADB-Simulation ist in 2 skizziert und wird detaillierter in Kapitel 6 beschrieben.
  • Jedes Element des Zustandsvektors SV repräsentiert den Zustand (die legalen Werte) der zugehörigen Variable. Im Eingabe-Zustandsvektor SV1 sind eine oder mehrere Variablen aufgrund externer Messungen oder Aussagen beschränkt. SV2 repräsentiert die resultierenden Beschränkungen für alle Variablen. Eine wichtige technische Anforderung ist die Vollständigkeit der Ableitung; das heißt, alle Beschränkungen auf den Variablen im Ausgabezustandsvektor müssen abgeleitet werden.
  • Die wichtigste technologische Neuerung der ADB kann wie folgt zusammengefasst werden:
    • 1. ADB-Simulation wird mit Vollständigkeit der Ableitung in Echtzeit durchgeführt mit vorhersagbarem Einsatz von Verarbeitungszeit und Speicher. Die ADB-Simulation ist deshalb für eingebettete Konfigurations- oder Steuersysteme geeignet und arbeitet gut auf kleinen Computern.
    • 2. Eine Voraussetzung für (1) ist, dass alle Relationen vor der Simulation zusammengeführt werden und dass der Konfigurationsraum des gesamten Systems geometrisch in Form verschachtelter Arrays repräsentiert wird. Das gesamte System wird automatisch auf logische Konsistenz (Verifikation) getestet. ADB-Modellierung ist keine Echtzeitaufgabe. Auf großen Systemen kann der Modellierungsprozess mit Vorteil auf einem geeigneten Modellierungsserver mit mehreren Prozessoren berechnet werden.
    • 3. Eine gemeinsame Repräsentation aller Systembeschränkungen (die Standardarrayform von Relationen) vereinigt aussagelogische, eigenschaftslogische (mehrwertig logische) und relationale Algebra.
    • 4. Jede Verarbeitung auf der Standardarrayform (ADB-Modellierung und ADB-Simulation) basiert auf einigen fundamentalen Array-Operationen, die alle für die parallele Verarbeitung geeignet sind.
  • Die unterschiedlichen regelbasierten Systeme auf dem heutigen Markt repräsentieren Regeln oder Relationen als unabhängige Elemente (keine Zusammenführung). Daher müssen diese Regeln individuell durch Suche, anstatt durch einfache geometrische Operationen auf Arrays verändert werden. Die Verarbeitungszeit hängt deshalb von der Ausdehnung der Suche ab, was in Anwendungen, wo die Vollständigkeit der Ableitung in Echtzeit sicher gestellt werden muss (z. B. ineinander greifende Eisenbahnsysteme), ein Problem bedeutet.
  • 5 ADB-Modellierung
  • Grundsätzlich bedeutet die Aufgabe des ADB-Modellierens die Elimination von Beschränkungen; das heißt, alle nichtlegalen Kombinationen müssen eliminiert werden, was eine explizite Repräsentation aller legaler Kombinationen oder legaler kartesischer Unterräume liefert.
  • 5.1 Kompiliere Variablen und Relationen
  • Eingabe sind die nutzerdefinierte Systembeschränkungen in Form von Variablen (auf unterschiedlichen Datentypen oder Messskalen) sowie Regeln oder Relationen auf diesen Variablen. Die Kompilierung ist eine zweistufige Prozedur, wie in 3 gezeigt ist.
  • 5.1.1 Kompiliere den Definitionsbereich von Variablen
  • Der Definitionsbereich jeder Variable ist ein geordnete endliche Gruppe (eine Liste) mit n einzelnen Elementen. Der Definitionsbereich (Unwahr, Wahr) einer Aussagevariablen ist daher ein Spezialfall mit n = 2. Die Liste kann eine explizite Repräsentation aller Elemente in einem endlichen Definitionsbereich oder, im Falle großer oder sogar unendlicher numerischer Defintionsbereiche, eine geordnete Gruppe disjunkter Intervalle sein.
  • Als ein Beispiel betrachten wir den globalen Definitionsbereich eines Systems mit sechs unterschiedlichen, in Tabelle 1 veranschaulichten Zustandsvariablen.
  • Figure 00150001
    Tabelle 1 Definitionsbereich eines Systems mit sechs Zustandsvariablen
  • A und ALARM sind Aussagevariablen mit der Länge n = 2, während COLOUR(x) eine Eigenschaftsvariable ist, welche eine nominelle Skalenmessung mit n = 4 repräsentiert. In der internen Array-Repräsentation ist jede Messung durch seine zugehörigen Definitionsbereichsindex gegeben. LEIVGTH(x) und WIDTH(x) sind einfache Ordnungsskalenmessungen mit einer expliziten Repräsentation aller Definitonsbereichselemente, während TEMP(x) eine durch eine endliche Gruppe von Intervallen gegebene Intervallskalenmessung veranschaulicht. Ein Intervall ist durch seine untere und obere Grenze definiert, welche durch den Wert und Typ jeder Grenze (0 = open, 1 = closed) gegeben sind.
  • 5.1.2 Kompiliere jede Relation in Standardarrayform
  • Jede nutzerdefinierte Relation auf einer Untergruppe von Definitionsbereichsvariablen wird in die Standardarrayform kompiliert, welche ein verschachteltes Array mit zwei Elementen ist. Das erste Element ist die Gruppe legaler kartesischer Unterräume, während das zweite Element die Definitionsbereichsindizes der zugehörigen Zustandsvariablen sind. Sämtliche nachfolgende Verarbeitung auf den Relationen basiert auf dieser gemeinsamen Repräsentation, welche als die Basiskomponente des ADB verstanden werden kann.
  • BEISPIEL
  • Gegeben sei die folgende Relation auf den Variablen WIDTH und LENGTH in Tabelle 1:
    R: WIDTH ist kleiner als LENGTH
  • Das heißt, der komplette Zustandsraum alle legaler und nichtlegaler Kombinationen ist:
  • Figure 00160001
    Tabelle 2
  • Die Standardarrayform von Tabelle 2 ist unten als Tabellen in zwei isomorphen Formen mit acht legalen Kombinationen (erweiterte Form) oder alternativ zwei legalen kartesischen Unterräumen (komprimierte Form) dargestellt:
  • Figure 00170001
    Tabelle 3
  • BEISPIEL
  • Die kompilierte Arrayform der Relation TEMP(>120) →ALARM auf dem Definitionsbereich in Tabelle 1 ist:
  • Figure 00170002
    Tabelle 4
  • 5.2 Fasse Relationen zusammen
  • Mathematisch gesprochen sind die Beschränkungen des gesamten Systems die Verknüpfung aller Relationen. Bis hierher haben wir während der Kompilierung angenommen, dass die nutzerdefinierten Relationen unabhängige Elemente sind.
  • Der Konfigurationsraum des vollständigen Systems wird nun durch Zusammenführen der untereinander verbundenen Relationen berechnet (Elimination der Konnektivitätsbeschränkungen).
  • Gleichzeitig wird das System auf logische Konsistenz getestet: Wenn ein lokaler Konfigurationsraum leer ist, liefert die Verknüpfung aller Systembeschränkungen einen Widerspruch. Darüber hinaus wird redundante und nicht benötigte Information automatisch eliminiert.
  • Die in 4 gezeigte Prozedur wird angewendet.
  • 5.2.1 Kombiniere Relationen bis zur Größengrenze
  • Die einfachste Operation der Zusammenführung ist es, Relationspaare mit gemeinsamen Variablen in einzelne Relationen zusammenzufassen, welche die Verknüpfung des Paares repräsentieren. Verbundene Relationen werden kombiniert, wann immer es geeignet ist: das heißt, wenn die Größe des kombinierten Ergebnisses geringer als eine gegebene Grenze ist. Wenn zwei Relationen viele gemeinsame Variablen aufweisen, ist die kombinierte Relation kleiner als die Argumente. Ähnlich kann, wenn die Relationen spärlich verbunden sind, die kombinierte Relation in der Größe explodieren. Im Falle des Widerspruchs (logische Inkonsistenz) ist der Konfigurationsraum der verbundenen Relation leer. Isolierte (nichtverbindende) Variable ohne Bedeutung für die Systemsimulation (vorläufige Variablen) können eliminiert werden.
  • Die Strategie zum Kombinieren einer Liste von Relationen ist in 5 gezeigt. Der Kombinierfaktor oder Konnektivitätsfaktor eines Relationspaares wird verwendet, um die Größe des kombinierten Resultats vorherzusagen. Der Kombinierfaktor (JF, engt. join factor) eines verbundenen Paares ist definiert wie folgt:
    Figure 00180001
    wobei:
    Ii: Anzahl isolierter Variablen in Relation i
    Ai: Größe der Relations i (Anzahl kartesischer Subräume)
    Ti: Größe der Relation i (Anzahl von Tupeln (Kombinationen))
    C: Anzahl gemeinsamer Variablen + Anzahl gemeinsamer vorläufiger Variablen
  • BEISPIEL
  • Gegeben sei das kleine System mit drei Relationen R0, R1, R2:
  • Figure 00190001
    Tabelle 5
  • Die Kompilierung jeder Relation liefert:
    Figure 00190002
    Tabelle 6
  • Die Relationen in Tabelle 6 können in einer einzigen Relation {falls Gleichung hier nicht angezeigt wird, bitte aus dem Originaldokument, Seife 15, Zeile 27, einfügen.} R = R0 ∧ R1 ∧ R2 kombiniert werden, welche den vollständigen Konfigurationsraum repräsentiert:
    R = kombiniere R0 R1 R2
  • Figure 00190003
    Tabelle 7
  • Wir haben daher die Aufgabe der Zusammenfügung bei diesem kleinen Beispiel erledigt; alle Beschränkungen der isolierten Relationen sind ebenso wie die Konnektivitätsbeschränkungen in der kombinierten Relation repräsentiert. Das Ergebnis der Modellierung des Systems ist daher eine Array-Datenbank mit der einzigen, in Tabelle 7 dargestellten Relation.
  • Allgemein umfasst die Array-Datenbank mehr als eine einzige Relation, wenn Systeme sich vergrößern.
  • 5.2.2 Gruppiere Relationen in Cluster
  • In diesem Stadium ist es nicht möglich, weitere Relationen innerhalb der nutzerdefinierten Größenbegrenzung zu kombinieren. Die Zusammenführungsstrategie hängt nun von den Eigenschaften des Zusammenführungsgraphen ab, welche die Struktur untereinander verbundener Relationen darstellt. Die Relationen sind durch die Knoten repräsentiert, während ein Bogen, welcher zwei Knoten (Relationen) verbindet, die gemeinsamen Variablen repräsentiert.
  • Zwei verschiedene Arten von Graphen sind speziell wichtig:
    • – Bäume (Graphen ohne geschlossene Pfade oder Schleifen): In diesem Fall ist es möglich, Vollständigkeit der Ableitung durch Zustandsübertragung auf den einfachen Verbindungen zwischen den Relationen sicherzustellen. Beispiel:
      Figure 00200001
      Tabelle 8
    • – Graphen mit geschlossenen Pfaden oder Schleifen: Die Schleifen müssen eliminiert werden, um die Vollständigkeit der Ableitung durch einfache Zustandsübertragung sicherzustellen. Beispiel:
      Figure 00210001
      Tabelle 9
  • Vor einer weiteren Zusammenfassung werden die Relationen in Clustern gruppiert, von denen alle ohne Schleifen miteinander verbunden werden können. Wenn der Zusammenführungsgraph von Relationen ein Baum ist, ist jede Relation daher einem einzelnen Cluster zugehörig.
  • 6 veranschaulicht den Zusammenführungsgraphen eines gegebenen Systems. Natürlich können wir alle Schleifen durch Gruppieren der Relationen in einen einzigen Cluster eliminieren. Jedoch ist es, um den nachfolgenden Zusammenführungsprozess auf großen Systemen am effizientesten zu machen, wünschenswert, die Relationen in die maximale Anzahl von Clustern zu gruppieren. In diesem Beispiel ist die maximale Anzahl von Clustern vier, wie in 7 gezeigt ist.
  • Im Falle von Eingabe-Ausgabe-Systemen ist jede Relation eine Funktion (Ausgabe = f(Eingabe)). Der vordefinierte Fluss von Daten von Eingabeknoten zu Ausgabeknoten ist in einem gerichteten Zusammenführungsgraph dargestellt. Wenn der Graph azyklisch ist (keine Schleifen oder starken Komponenten), ist der Datenfluss durch eine einfache Zustandsübertragung von Eingabe zu Ausgabe vollständig. Im Falle eines zyklischen Digraphen müssen die Schleifen durch Gruppieren der zugehörigen Relationen (Funktionen) in Clustern, wie es oben gezeigt ist, eliminiert werden.
  • 8 veranschaulicht einen vordefinierten Datenfluss auf dem System in 6 unter der Annahme, dass jede Relation eine Funktion ist. Wir merken an, dass der Graph azyklisch ist und der Fluss daher mit einer Zustandsübertragung von R0 nach R15 vollständig ist.
  • 5.2.3 Führe Relationen in jedem Cluster zusammen
  • Die Hauptschritte sind in 9 skizziert. Um die Vollständigkeit der Ableitung sicher zu stellen, müssen alle Schleifen im Cluster eliminiert werden (9.1). Das verschachtelte Laufzeitcluster (9.2) ist eine alternative vollständige und effiziente Repräsentation des Clusterkonfigurationsraumes.
  • 5.2.3.1 Schleifenelimination: Bestimme Baumstruktur zusammengeführter Relationen (9.1)
  • Wenn eine Liste von Relationen, welche einen oder mehrere Schleifen in einem Cluster schließt, groß und spärlich miteinander verbunden sind, macht die "kombinatorische Explosion" es unmöglich, die Liste in eine einzige Relation zu kombinieren. Deshalb erzeugen wir eine äquivalente, aber sehr viel kompaktere Liste zusammengeführter Unterräume; das heißt, eine neue Liste von Relationen mit den folgenden Eigenschaften:
    • – Jede nutzerdefinierte Variable (Definitionsbereichsvariable) ist nur in einer einzigen Relation vorhanden
    • – Die Relationen sind durch systemerzeugte Verbindungsvariablen miteinander verbunden, welche eine Baumstruktur (ohne Schleifen) liefern.
    • – Jeder lokale kartesische Unterraum legaler Kombinationen ist einer einzigen Verbindungsvariablen mit einem einzigen Index zugeordnet.
  • Daher isolieren wir Variablen, welche in einer einzigen Relation präsent sind, und führen die Zusammenführung nur auf Unterräumen mit gemeinsamen Variablen durch. Die in 5 gezeigte fünfstufige Prozedur kann auf jede Gruppe von Relationen verwendet werden, selbst wenn der Zusammenführungsgraph azyklisch ist.
  • BEISPIEL
  • Gegeben seien die Clusterrelationen R0, R1, R2, welche eine einzelne Schleife bilden:
  • Figure 00230001
    Tabelle 10
  • Die Standardarrayform jeder kompilierten Relation ist:
  • Figure 00230002
    Tabelle 11
  • Liste von Relation(en) auf isolierten (nichtverbindenden) Variablen (10.1 und 10.2):
  • Figure 00230003
    Tabelle 12
  • Liste von Relationen auf verbindenden Variablen (10.1):
  • Figure 00230004
    Tabelle 13
  • Wenn die Liste von Relationen auf verbindenden Variablen kombiniert ist (10.4), erhalten wir das folgende Ergebnis mit zwei Relationen auf isolierten Definitionsbereichsvariablen und einer gemeinsamen Verbindungsvariable Link0:
  • Figure 00240001
    Tabelle 14
  • Die Baumstruktur zusammengeführter Relation erfüllt die Anforderung der Vollständigkeit, Kompaktheit und Simulationsgeschwindigkeit. Die Vollständigkeit der Ableitung ist durch Zustandübertragung auf den Relationen im Baum (siehe Abschnitt 0) sicher gestellt. Die im folgenden vorzustellende, verschachtelte Clusterrepräsentation ist eine alternative (isomorphe) Repräsentation.
  • Manchmal weisen die nutzerdefinierten Relationen interne Systemvariablen (vorläufige Variablen) auf, welche eliminiert werden können. Ein Beispiel sind Netzwerkprobleme mit Eingabe- und Ausgabeknoten (welche mit der Umgebung verbunden sind) und eine Anzahl interner Knoten, welche Eingabe- und Ausgabeknoten verbinden. Wenn die Netzwerkbeschränkungen in der ADB repräsentiert sind, ist es wünschenswert, die internen Variablen zu eliminieren und nur die Unterräume auf den Eingabe-Ausgabe-Variablen zu repräsentieren.
  • 5.2.3.2 Bestimmte verschachtelte Laufzeitcluster (Optional)
  • Das Ziel der folgenden Aufgabe ist es, eine sehr kompakte Laufzeitclusterrepräsentation zu bestimmen, welche durch einfaches Koordinatenindizieren und Tabellensuche ohne Zustandsübertragung simuliert werden kann – selbst auf kleinen Computern und Steuerungen wie zum Beispiel elektronischen Relais.
  • Das Laufzeitcluster besteht aus den ursprünglichen Definitionsbereichrelationen, erweitert durch Verbindungsvariablen, welche die kartesischen Unterräume adressieren, und einer Gruppe von Systemrelationen, welche die Relationen zwischen Verbindungsvariablen repräsentieren. Der Einfluss jedes kartesischen Unterraums auf das gesamte System wird durch Erklären des zugehörigen Verbindungsvariablenindex und dann Ableiten des Zustands jeder Verbindungsvariablen bestimmt. Diese Ableitung ist zum Beispiel durch Zustandsableitungen auf jedem Verbindungsvariablenindex realisiert. Die Zustandsableitungen können parallel ausgeführt werden.
  • Die Bestimmung der verschachtelten Laufzeitcluster ist in 11 gezeigt.
  • BEISPIEL
  • Betrachten wir wieder das Cluster Tabelle 10 mit drei Relationen R0, R1, R2:
    Das unten dargestellte Laufzeitcluster besteht aus den drei Definitionsbereichrelationen (linke Zeile) und den drei zugehörigen Systemrelationen (rechte Zeile). Zum Beispiel werden in der system relation 0 die drei Indizes der Verbindungsvariable Link0 (welche den kartesischen Unterraum von R0 repräsentiert) als die Eingabe zum Ableiten der Beschränkungen auf jeder Verbindungsvariable verwendet. Daher repräsentiert system relation 0 den Einfluss des kartesischen Unterraums in R0 auf das gesamte System.
  • Figure 00250001
  • Figure 00260001
    Tabelle 15
  • 5.2.4 Verbindungscluster
  • Wir haben nun die Zusammenführung der Relationen) in jedem Cluster ausgeführt, und der letzten Schritt im Prozess der Zusammenführung ist es, alle Relationenpaare zusammenzuführen, welche Cluster verbinden. Zum Beispiel müssen in dem in 7 skizzierten System die Relationenpaare (3cluster0, 3cluster1), (9 10) und (10 12) zusammengeführt werden.
  • Der Datenfluss beim Verbinden von Clustern ist in 12 gezeigt.
  • Das Ergebnis des Zusammenführens eines Relationenpaares ist eine neue Relation (welche im folgenden als Verbindungsrelation bezeichnet wird) auf den gemeinsamen Variablen und den beiden Verbindungsvariablen. Wenn die Gruppe von Verbindungsrelationen zu der Array-Datenbank hinzugefügt wird, ist es möglich, die Vollständigkeit der Ableitung durch Zustandsübertragung auf die Cluster und die Verbindungesrelationen sicher zu stellen.
  • 13 veranschaulicht detaillierter die Zusammenführung jedes Relationenpaares (13.2).
  • BEISPIEL
  • Gegeben sie das Relationenpaar R0, R1:
  • Figure 00260002
    Tabelle 16
  • Offensichtlich ist der einfachste Weg zum Zusammenführen dieser einfachen Relationen, die Paare zu einer einzigen Relation zu kombinieren:
  • Figure 00270001
    Tabelle 17
  • Jedoch werden wir, um die isomorphe Form von Verbindungsrelationen zu veranschaulichen, die Standardfeldform von R0, R1 mit Verbindungsvariablen erweitern:
  • Figure 00270002
    Tabelle 18
  • Das Zusammenführen der Unterräume der gemeinsamen Variablen C, D liefert die folgende Verbindungsrelation:
  • Figure 00270003
    Tabelle 19
  • Zusätzlich zur den Argumentrelationen R0, R1 macht es die Verbindungsrelation möglich, den gesamten Konfigurationsraum auf den Indizes der Verbindungsvariablen zu adressieren. Auf großen und spärlich verbundenen Relationen ist dies eine kompaktere Repräsentation als das Kombinieren der Relationen.
  • 5.3 Füge Zielfunktionen hinzu (Optional)
  • Der Konfigurationsraum legaler Kombinationen kann mit nutzerdefinierten Zielfunktionen erweitert werden, um heuristisch verändert zu werden, z. B. einem Fuzzywert (für Fuzzylogikberechnungen), einem Gewicht oder einem Preis (zur Optimierung).
  • Eine Zielfunktion 0 ist auf einer Teilmenge der Zustandsvariablen S0, S1,..., Sn definiert: 0 = f(S0, S1,..., Sn) und wird in die Standardarrayform kompiliert.
  • BEISPIEL
  • Gegeben sei ein Systemmodell mit den Konfigurationsräumen (WIDTH, LENGTH) und der Zielfunktion PRIZE = f(WIDTH, LENGTH), welche in einer einzelnen Relation in Standardarrayform repräsentiert sind:
  • Figure 00280001
    Tabelle 20
  • Wenn die Zielfunktion während der Systemsimulation optimiert werden soll, können wir ebenso die Konfigurationsräume großer Definitionsbereiche in Form kartesischer Unterräume repräsentieren, auf welchen die Zielfunktion monoton ist:
  • Figure 00290001
    Tabelle 21
  • Die Zielfunktion eines jeden kartesischen Unterraumes ist durch ein Intervall mit der unteren und oberen Grenze gegeben, und die zugehörigen Zustandsvariablen sind geordnet, um die Zielfunktion steigend zu machen.
  • Die Zielfunktion kann auf eine von zwei Arten mit dem Konfigurationsraum verbunden sein:
    • 1. Falls der Konfigurationsraum der Zustandsvariablen S0, S1,..., Sn in einer einzigen Relation (in Standardarrayform) repräsentiert ist, kann die Relation mit einem weiteren Attribut 0 erweitert werden, welches die Zielfunktion repräsentiert. Dies wird als spezieller Fall angenommen, welcher in Tabelle 3 gezeigt ist.
    • 2. Allgemein ist es komfortabler, die Zielfunktion als eine neue Relation in Standardarrayform den Attributen O, S0, S1,..., Sn und den mit dem Konfigurationsraum von S0, S1,..., Sn zugehörigen Verbindungsvariablen hinzuzufügen.
  • Das Flussdiagramm des Hinzufügens von Zielfunktionen ist in 14 gezeigt.
  • BEISPIEL
  • Gegeben sei der folgende Konfigurationsraum in Form von drei Relationen:
  • Figure 00300001
    Tabelle 22
  • Die Zielfunktion Y = f(B, E) wird der Array-Datenbank durch eine Projektion auf alle den Zustandsvariablen B, E zugehörigen Verbindungsvariablen hinzugefügt:
  • Figure 00300002
    Tabelle 23
  • 6 ADB-Simulation
  • Wenn die Modellierungsaufgabe beendet ist, ist die Array-Datenbank für eine sehr effiziente Simulation vorbereitet, welche in Echtzeit durchgeführt werden kann. Die Hauptoperation für die ADB-Simulation ist die in 2 gezeigte Zustandsableitung. Der Zustandsvektor repräsentiert den Zustand (die legalen Werte) jeder Zustandsvariable. Im Eingabezustandsvektor SV1 sind eine oder mehrere Variablen aufgrund externer Messungen oder Aussagen beschränkt. Der abgeleitete Zustandsvektor SV2 repräsentiert die resultierenden Beschränkungen auf allen Variablen, wenn die Systembeschränkungen und die Beschränkungen des Eingabezustandsvektors zusammengeführt werden.
  • Die Zustandsableitung wird durch Mittel einiger Array-Operationen (geeignet zur parallelen Verarbeitung) auf den Basiskomponenten der Array-Datenbank realisiert:
    • – die Relationen
    • – die Relationencluster
    • – die untereinander verbundenen (verbundenen) Relationencluster, und
    • – die verbundenen Zielfunktionen
  • 6.1 Die Zustandsableitung auf einer einzelnen Relation
  • Die Zustandsableitung auf einer einzelnen Relation in Standardfeldform wird durch Zusammenführen (durch Durchschnitt) des Eingabezustandsvektors (SV1) mit der Relation realisiert, woraufhin eine Projektion auf jede Variable der Relation folgt, welche den Ausgangszustandsvektor (SV2) liefert. Die Zusammenführung und Projektion sind unten detaillierter beschrieben.
  • BEISPIEL
  • Zur Veranschaulichung betrachten wir abermals das System mit den Relationen R0, R1, R2:
  • Figure 00320001
    Tabelle 24
  • Die Ummodellierung des Systems in eine einzelne Relation (durch Zusammenführen von R0, R1, R2) liefert:
  • Figure 00320002
    Tabelle 25
  • Wir werden nun alle Folgerungen der externen Messung A = 1 (wahr) ableiten. Die folgende dreistufige Prozedur wird angewendet:
    • 1. Identifiziere alle beschränkten Variablen im Eingabezustandsvektor SV1. A ist beschränkt oder eingeschränkt auf 1, während die anderen Variablen unbeschränkt sind und daher allen der mögliche Definitionsbereichswert (0 1) zugeordnet wird. Der Eingabezustandsvektor SV1 ist deshalb:
      Figure 00320003
      Tabelle 26
    • 2. Fasse die Beschränkungen der Relation und den Eingabezustandsvektor zusammen. Jeder kartesische Unterraum in der Relation wird Element für Element (Variable für Variable) mit SV1 geschnitten. Die effizienteste Operation ist es, nur die beschränkten Eingabevariablen auszuwählen und die Schnittmenge Achse für Achse (geeignet zum parallelen Verarbeiten, falls erwünscht) zu berechnen. Ungültige (leere) kartesische Unterräume werden gelöscht. In dem vorliegenden Beispiel ist nur der erste kartesische Unterraum leer und wird deshalb gelöscht:
      Figure 00330001
      Tabelle 27
    • 3. Der Ausgabezustandsvektor SV2 ist die Projektion (Vereinigung aller Elemente) auf jeder Achse. Diese Operation ist ebenso zur parallelen Verarbeitung auf jeder Achse geeignet. Die Achsenprojektion in Tabelle 27 liefert den folgenden Ausgabezustandsvektor SV2:
      Figure 00330002
      Tabelle 28
  • Wir folgern, dass A = E = 1, während die anderen Variablen unbeschränkt sind (unwichtig oder Tautologie).
  • Diese grundlegende Zustandsableitung auf einer einfachen Relation ist das Fundament für die Zustandsableitung auf Relationenclustern und miteinander verbundenen Clustern. Darüber hinaus sollte berücksichtigt werden, dass diese Operation auf jeden Datentyp (Skala der Messung) auf jeder Relation in Standardarrayform angewendet werden kann, einschließlich Zielfunktionen. Im Falle von Zielfunktionen kann der Eingabezustandsvektor durch Optimierungskriterien wie zum Beispiel den Minimalpreis einer gegebenen Konfiguration eingeschränkt werden.
  • 6.2 Die Zustandsableitung auf einem verschachtelten Relationencluster
  • Die Struktur des verschachtelten Laufzeitclusters mit Definitionsbereichrelationen und Systemrelationen auf gemeinsamen Verbindungsvariablen wurde oben eingeführt (Modellierungsschritt 2.3.2). Der Zustand der Cluster kann sehr effizient in einer in 15 gezeigten fünfstufigen Prozedur abgeleitet werden.
  • Der Schlüssel zur effizienten Zustandsableitung ist es, dass jeder kartesische Unterraum im komplexen Konfigurationsraum eine einzige Projektion auf die Verbindungsvariablen aufweist, welche nacheinander parallel abgeleitet (15.1-15.2) und dann indiziert (15.415.5) werden können. In diesem Prozess wird keine heuristische Suche verwendet.
  • Die Identifikation beschränkter Eingabevariablen (15.1) wird zum Auswählen jener Definifionsbereichsrelationen verwendet, welche Kandidaten dafür sind, berücksichtigt zu werden (es gibt keinen Grund, nur Definitionsbereichsrelationen mit unbeschränkten Variablen zu berücksichtigen – aus diesen Relationen lassen sich keine weiteren Beschränkungen auf dem Zustandsvektor ableiten). Jedoch ist Schrift (15.1) nicht wesentlich; alle Definitionsbereichsrelationen können als Kandidaten für den nachfolgenden Schritt (15.2) gewählt werden. Die Definitionsbereichrelationen (15.2) könne eine nach der anderen oder parallel berücksichtigt werden, wobei sie einen lokalen Ausgabezustandvektor liefern, vermutlich mit neuen Beschränkungen auf manchen Variablen. Falls die Verbindungsvariablen noch unbeschränkt sind, ist die Zustandsableitung abgeschlossen (15.3).
  • Falls manche Verbindungsvariablen beschränkt sind, wird der Einfluss auf den vollständigen Cluster durch Berücksichtigen der Systemrelationen (15.4) (eine nach der anderen oder parallel) abgeleitet.
  • Schließlich wird der vollständige Einfluss auf die Definitionsbereichsvariablen durch Berücksichtigen aller Definitionsbereichsrelationen mit neuen Beschränkungen auf den zugehörigen Verbindungsvariablen (15.5) abgeleitet. Das Ergebnis ist der vollständige Ausgabezustandsvektor.
  • Zusammenfassend kann die parallele Verarbeitung auf verschiedenen Ebenen vorgestellt werden:
    • 1. Parallele Zusammenführung (Schneidung) jeder Achse in den individuellen Relationen.
    • 2. Parallele Projektion auf jede Achse in den individuellen Relationen.
    • 3. Parallele Zustandsableitung auf Definitionsbereichsrelationen (10.2).
    • 4. Parallele Zustandsableitung auf Systemrelationen (10.4).
    • 5. Prallele Zustandsableitung auf Definitionsbereichsrelationen (10.5).
  • BEISPIEL
  • Gegen sei die verschachtelte Clusterrepräsentation des folgenden Systems:
  • Figure 00350001
    Tabelle 29
  • Darüber hinaus sei ein Eingabezustandvektor SV1 gegeben. Die Zustandsableitung auf dem Cluster wird, wie in 15 veranschaulicht ist, realisiert:
    • 1. Identifiziere beschränkte Definitionsbereichsvariablen im Eingabezustandsvektor (15.1) Nur Variable A ist beschränkt:
      Figure 00360001
      Tabelle 30
    • 2. Berücksichtige alle Definitionsbereichsrelationen mit beschränkten Definitionsbereichsvariablen (15.2) R0 ist die einzige Definitionsbereichsrelation auf der beschränkten Variable A. Daher gibt es keinen Grund, R1 und R2 zu berücksichtigen. Das Berücksichtigen von R0 liefert einen lokalen Ausgabezustandsvektor mit neuen Beschränkungen auf Link0:
      Figure 00360002
      Tabelle 31
    • 3. Berücksichtige alle zu beschränkten Verbindungsvariablen zugehörigen Systemrelationen (15.4)
      Figure 00370001
      Tabelle 32
    • 4. Berücksichtige alle Definitionsbereichsrelationen mit beschränkten Verbindungsvariablen (15.5) Die beschränkten Verbindungsvariablen zugehörigen Definitionsbereichsrelationen werden berücksichtigt, wobei sie den globalen Ausgabezustandsvektor SV2 liefern:
  • Figure 00370002
    Tabelle 33
  • Figure 00370003
    Tabelle 34
  • 6.3 Zustandsübertragung
  • Die Zustandsübertragung auf untereinander verbundenen Clustern wird durch Zustandsübertragung realisiert, wie in 16 gezeigt ist. Alle Clusterrelationen mit beschränkten Variablen werden berücksichtigt und der Zustandsvektor wiederholt aktualisiert, bis keine weitere Information mehr abgeleitet werden kann. In der Praxis wird die Übertragung durch die Verbindungsvariablen gesteuert: Wenn keine weiteren Beschränkungen auf den Verbindungsvariablen abgeleitet werden können, ist die Übertragung beendet.
  • Die Vollständigkeit der Ableitung ist mit der Zustandsübertragung sicher gestellt, wann immer der Zusammenführungsgraph azyklisch ist. Daher kann die Zustandsübertragung in den folgenden Strukturen verwendet werden:
    • – Der Konfigurationsraum untereinander verbundener Cluster auf gemeinsamen Verbindungsvariablen
    • – Zielfunktionen, welche mit dem Konfigurationsraum auf gemeinsamen Verbindungsvariablen verbunden sind
    • – Dynamische Systeme mit vordefinierten Eingabe- und Ausgabevariablen (azyklischer Digraph).
  • 7 Veranschaulichende Beispiele
  • Die folgenden kleinen Beispiele veranschaulichen verschiedene Anwendungen der Erfindung.
  • 7.1. Kombinatorisches Netzwerk
  • Die Beschränkungen des kleinen, in 17 gezeigten kombinatorischen Netzwerks sind durch die Verbindungen der logischen Steuerelemente gegeben. Die Eingabedatei für die Array-Datenbank beschreibt den Definitionsbereich (engl., domain) von Variablen und die nutzerdefinierten Relationen: DOMAIN
    A, Interim, Boolean;
    B, Interim, Boolean;
    C, Interim, Boolean;
    D, Interim, Boolean;
    E, Interim, Boolean;
    F, Interim, Boolean;
    G, Interim, Boolean;
    H, Interim, Boolean;
    J, Interim, Boolean;
    I1, Interim, Boolean;
    I2, Interim, Boolean;
    O1, Interim, Boolean;
    O2, Interim, Boolean;
  • RELATIONS
    • A = not I1:
    • B = (I1 and I2):
    • C = not I2:
    • D = not (A or B) ;
    • E = (D or B);
    • F = (B or G) ;
    • G – not (B or C);
    • H = not D;
    • I = (E or F);
    • J = not G;
    • O1 = (H and F);
    • O2 = (I and J);
  • Das Modellieren der Array-Datenbank liefert das folgende Resultat mit allen zu einer einzigen Datenbankrelation mit nur 4 legalen Zuständen oder Kombinationen kombinierten nutzerdefinierten Relationen:
  • Figure 00390001
    Tabelle 35
  • Wir folgern, dass I1 = O2 und I2 = O1; das heißt, alle Steuerelemente können entfernt werden.
  • In 18 ist ein Beispiel einer Simulationsumgebung dargestellt. Die Variable 02 ist mit dem Zustand O2 = 1 (wahr) mit allen abgeleiteten Konsequenzen angeführt/zugeordnet. Es ist zu sehen, dass jede Variable oder Kombination von Variablen als Eingabe verwendet werden kann – es existiert keine Unterscheidung zwischen Eingabe- und Ausgabevariablen.
  • 7.2 Alarmsystem
  • Gegeben sei die folgende Eingabedatei für ein kleines Alarmsystem mit drei Zustandsvariablen auf verschiedenen Datentypen.
  • DOMAIN
    ALARM, Boolean:
    SIGNAL, Enum(Red, Yellow, Green, Blue);
    TEMP, Interval (]11;30], [100; [);
  • RELATIONS
    TEMP([100;[) → SiGNAL(Yellow,Blue):
    TEMP(]120:[) → ALARM;
  • Die beiden Relationen haben eine gemeinsame Variable TEMP und müssen deshalb zusammengeführt werden. Das Kombinieren der Relationen liefert die folgende Array-Datenbank mit drei legalen kartesischen Unterräumen auf einer einzigen Relation:
  • Figure 00400001
    Tabelle 36
  • Beachte, dass die Relation mit den legalen Definitionsbereichswerten anstelle der Definitionsbereichsindizes dargestellt ist. Die interne binäre Repräsentation ist in Tabelle 37 gezeigt.
  • Figure 00410001
    Tabelle 37
  • 7.3 Produktkonfiguration
  • Wir nehmen jetzt an, dass ein Autohersteller alle möglichen Kombinationen von Kundenwünschen im Internet verfügbar haben möchte.
  • Gegen sei die folgende Array-Datenbankeingabedatei mit den logischen Beschränkungen der Autos:
  • DOMAIN
    Figure 00410002
  • Figure 00420001
  • Figure 00430001
  • RELATIONS
    Figure 00440001
  • Figure 00450001
  • Beachte, dass die nutzerdefinierten Relationen in jeder Reihenfolge und auf viele verschiedene Arten geschrieben werden können. In den oben erwähnten Relationen hat der Nutzer viele symbolische Ausdrücke mit logischen Implikationen (IF-THEN) anstelle einiger Tabellen geschrieben. Der Modellierungsprozess ist unabhängig vom Eingabeformat.
  • Das Modellieren der Eingabedatei liefert die folgende Array-Datenbank mit fünf Relationen, welche den Konfigurationsraum des Autos repräsentiert. Diese Relationen werden durch gemeinsame Verbindungsvariablen verbunden:
  • Figure 00460001
  • Figure 00470001
    Tabelle 38
  • Die Array-Datenbank in Tabelle 38 kann auf einem Internetserver gespeichert werden, um sie für jeden Klienten aus dem Netzwerk zugreifbar zu machen. Dies wird auf eine von zwei Arten realisiert:
    • – Die Array-Datenbank wird vor der Simulation zum Klienten übertragen
    • – Die Array-Datenbank wird auf dem Server gespeichert und vom Klienten über das Netzwerk simuliert (nur der Zustandsvektor wird übertragen)
  • Zur Veranschaulichung sei angenommen, dass ein Kunde ein Auto mit zwei Türen wünscht. Der abgeleitete Zustandsvektor ist mit allen Folgerungen in 19 dargestellt. Wir folgern, dass nur die Cabrioletautos mit zwei Türen verfügbar sind – und das Sonnenscheindach keine legale Option ist! ZEICHNUNGSLEGENDEN
    Fig. 1
    Input Eingabe
    (system constraints) (Systembeschränkungen)
    ADB-Model ADB-Modell
    1. Compile variable and relations 1. Kompiliere Variablen und Relationen
    2. Colligate relations, verify system 2. Führe Relationen zusammen, verifiziere System
    3. Add object funktions (optional) 3. Füge Zielfunktionen hinzu (optional)
    Array database Array-Datenbank
    The configuration space with Der Konfigurationsraum mit
    all legal combinations allen legalen Kombinationen
    Fig. 2
    Array database Array-Datenbank
    System System
    input state vector Eingabezustandsvektor
    (external influences; assumptions) (externe Einflüsse; Annahmen)
    deduced implications or conclusions abgeleitete Implikationen oder Lösungen
    Fig. 3
    COMPILE KOMPILIERE
    Compile the domain of variables into unique indices (legal elements) Kompiliere die Definitionsbereiche von Variablen in einzelne Indizes (legale Elemente)
    Compile jede relation into standard array form (legal Cartesian subspaces) Kompiliere jede Relation in Standardfeldform (legale kartesische Unterräume)
    END ENDE
    Fig. 4
    COLLIGATE FÜHRE ZUSAMMEN
    Join relations until size limit Kombiniere Relationen bis zur Größengrenze
    Contradiction? Widerspruch?
    YES JA
    NO NEIN
    Only isolated (independent) relation(s)? Nur isolierte (unabhängige) Relation(en)?
    YES JA
    NO NEIN
    Group relations into clusters Gruppiere Relationen in Cluster
    Colligate each cluster Führe jeden Cluster zusammen
    Contradiction? Widerspruch?
    YES JA
    NO NEIN
    Link interconnected clusters Verbinde untereinander verbundene Cluster
    Contradiction? Widerspruch?
    YES JA
    NO NEIN
    CONTRADICTION WIDERSPRUCH
    END ENDE
    Fig. 5
    JOIN KOMBINIEREN
    Determine join factor of each Connected relation pair Bestimme Kombinierfaktor für jedes verbundene Relationenpaar
    Join relation pair with minimum join factor Kombiniere Relationenpaar mit minimalem Kombinierfaktor
    Contradiction? Widerspruch?
    YES JA
    CONTRADICTION WIDERSPRUCH
    NO NEIN
    Eliminate non-connecting interim variables Eliminiere nichtverbindende Interimsvariablen
    More connected relations? Weitere verbundene Relationen?
    NO NEIN
    YES JA
    Size of joined result Größe des verbundenen Resultats
    < limit < Beschränkung
    YES JA
    NO NEIN
    END ENDE
    Fig. 7
    Cluster Cluster
    Fig. 9
    COLLIGATE RELATIONS FÜHRE RELATIONEN
    IN A CLUSTER IN EINEM CLUSTER ZUSAMMEN
    Cycle elimination Schleifenelimination
    Detemine tree structure Bestimme Baumstruktur
    Of linked relations on isolated verbundener Relationen auf isolierten
    (colligated) subspaces (zusammengeführten) Unterräumen
    Contradiction? Widerspruch?
    YES JA
    CONTRADICTION WIDERSPRUCH
    NO NEIN
    Determine run-time cluster Bestimme Laufzeitcluster
    END ENDE
    Fig. 10
    CYCLE ELIMINATION SCHLEIFENELIMINATION
    Single relation? Einzelne Relation?
    YES JA
    Divide each relation into two relations, both of which are extended with a common Teile jede Relation in zwei Relationen auf, von denen beide mit einer gemeinsamen
    link variable: Verbindungsvariable erweitert werden:
    1) Relation on isolated 1) Relation auf isolierten
    (non-connecting) variables (nichtverbindenden) Variablen
    2) Relation on connecting variables 2) Relation auf verbindenden Variablen
    Update list of relations Aktualisiere Liste von Relationen
    on isolated variables auf isolierten Variablen
    More relations on connecting variables? Weitere Relationen auf verbindenden Variablen?
    NO NEIN
    TREE STRUCTURE BAUMSTRUKTUR
    OF COLLIGATED RELATIONS ZUSAMMENGEFÜHRTER RELATIONEN
    YES JA
    Join new list of relations on Connecting variables until given size limit Kombiniere neue Liste von Relationen auf verbindenden Variablen bis zur gegebenen Größenbeschränkung
    Contradiction? Widerspruch?
    NO NEIN
    YES JA
    CONTRADICTION WIDERSPRUCH
    Fig. 11
    DETERMINE RUN-TIME CLUSTER BESTIMME LAUFZEITCLUSTER
    Determine Cartesian subspaces Bestimme kartesische Unterräume
    of each cluster relation jeder Clusterrelation
    Add link variable i Füge Verbindungsvariable i
    to domain relation i. zur Definitionsbereichsrelation i hinzu.
    Each Cartesian subspace is associated with a unique link variable index j Jeder kartesische Unterraum ist einem einzelnen Verbindungsvariablenindex j zugehörig
    Assignment: i = j = 0 Zuordnung: i = j = 0
    Input state vector SV1: Eingabezustandsvektor SV1:
    Assign (variable i) =(element) Ordne zu: (Variable i) =(Element)
    Output status vector SV2: Ausgabezustandsvektor SV2:
    Deduce state of each link variable Leite Zustand jeder Verbindungsvariable ab
    Add SV2 as Cartesian subspace j in system relation i Füge SV2 als kartesischen Unterraum j in der Systemrelation i hinzu.
    More elements? Weitere Elemente?
    YES Ja
    NO NEIN
    More link variables? Weitere Verbindungsvariablen?
    YES JA
    NO NEIN
    LIST OF DOMAIN LISTE VON DEFINTIONSBEREICHS-
    RELATIONS RELATIONEN
    AND SYSTEM RELATIONS UND SYSTEMRELATIONEN
    Fig. 12
    LINK CLUSTERS VERBINDE CLUSTER
    Identify relation pairs Identifiziere Relationenpaare,
    connecting clusters. welche Cluster verbinden.
    Each relation has an associated link variable Jede Relation hat eine zugehörige Verbindungsvariable
    Colligate each relation pair Führe jedes Relationenpaar zusammen
    Contradiction? Widerspruch?
    YES JA
    NO NO
    CONTRADICTION CONTRADICTION
    Add list of link relations Füge Liste von Verbindungsrelationen hinzu
    COLLIGATED ZUSAMMENGEFÜHRTE
    ARRAY DATABASE ARRAY-DATENBANK
    Fig. 13
    COLLIGATE RELATION PAIR FÜHRE RELATIONENPAAR ZUSAMMEN
    Common variables? Gemeinsame Variablen?
    NO NEIN
    NO COLLIGATION KEINE ZUSAMMENFÜHRUNG
    YES JA
    Link variables? Verbindungsvariablen?
    YES JA
    NO NEIN
    Add link variables to each relation Füge Verbindungsvariablen jeder Relation hinzu
    Colligate (join) Führe (kombiniere)
    Cartesian Subspace pairs kartesische Unterraumpaare
    on common variables auf gemeinsamen Variablen zusammen
    Contradiction? Widerspruch?
    YES JA
    NO NEIN
    CONTRADICTION WIDERSPRUCH
    Add state of each link Variable to each joined Cartesian subspace Füge Zustand jeder Verbindungsvariable zu jedem kombinierten kartesischen Unterraum hinzu
    Generate standard array form of new colligated relation Erzeuge Standardarrayform der neu zusammengeführten Relation
    (link relation) (Verbindungsrelation)
    LINK RELATION VERBINDUNGSRELATION
    Fig. 14
    ADD OBJECT FUNCTION FÜGE ZIELFUNKTION HINZU
    Identify all relations representing the configuration space of state variables Identifiziere alle Relationen, welche den Konfigurationsraum von Zustandsvariablen repräsentieren
    Identify associated Identifiziere zugehörige
    link variables Verbindungsvariablen
    Compute each combination Berechne jede Kombination
    (subspace) of S0, S1,..., Sn:, (Unterraum) von S0, S1,..., Sn:
    Determine values) of Bestimme Werte von
    0 = f(S0, S1,..., Sn) 0 = f(S0, S1,..., Sn)
    Deduce contraints on L0, L1,... Lm Leite Beschränkungen auf L0, L1,..., Lm ab
    Generate standard array form of object function on S0, S1,..., Sm, 0, L0, L1,...,Lm Erzeuge Standardarrayform von Zielfunktion auf S0, S1,..., Sm, 0, L0, L1,...,Lm
    OBJECT FUNCTION ZIELFUNKTION
    WITH LINKS TO MIT VERBINDUNGEN ZUM
    CONFIGURATION SPACE KONFIGURATIONSRAUM
    Fig. 15
    STATE DEDUCTION ZUSTANDSABLEITUNG
    ON NESTED CLUSTER AUF VERSCHACHTELTEM CLUSTER
    [Identify bounded variables in the input state vector] [Identifiziere beschränkte Variablen im Eingabezustandsvektor]
    Any bounded link variables? Irgendwelche beschränkten Verbindungsvariablen?
    NO NEIN
    YES JA
    Consult the associated system relations [with bounded link variable] Konsultiere die zugehörigen Systemrelationen [mit der beschränkten Verbindungsvariablen]
    DEDUCED OUTPUT ABGELEITETER
    STATE VECTOR ZUSTANDSVEKTOR
    Fig. 16
    STATE PROPAGATION ZUSTANDSÜBERTRAGUNG
    Identify list of relations (clusters) with at least one bounded input state variable Identifiziere Liste von Relationen (Clustern) mit mindestens einer beschränkten Eingabezustandsvariable
    Contradiction? Widerspruch?
    YES JA
    NO NEIN
    Any new bounded Irgendeine/irgendwelche beschränkte(n)
    link variable(s)? Verbindungsvariable(n)?
    YES JA
    NO NEIN
    DEDUCED OUTPUT STATE ABGELEITETER AUSGABEZUSTAND
    Generate a list of relations (clusters) with at least one bounded link variable Erzeuge eine Liste von Relationen (Cluster) mit mindestens einer beschränkten Verbindungsvariable

Claims (34)

  1. Verfahren zum Erzeugen einer Datenbank, welche zum Konfigurieren und/oder Optimieren eines Systems dient, das durch Variablen auf finiten Bereichen und/oder Intervallen aufgespannt wird, wobei das Verfahren umfaßt: Erzeugen und Speichern eines adressierbaren Konfigurationsraumes des gesamten Systems in einem Speicher oder Aufzeichnungsmedium eines Computers in Form aller erlaubten kartesischen Unterräume von Zuständen oder Kombinationen welche der Verknüpfung im Wesentlichen aller Systembeschränkungen auf allen Variablen genügen, wobei alle untereinander in Verbindung stehenden kartesischen Unterräume adressierbar sind als erlaubte Kombinationen von Indizes von Verbindungsvariablen, um eine Datenbank zu bilden, in welcher im Wesentlichen alle erlaubten Lösungen im System als verschachteltes Array gespeichert werden.
  2. Verfahren nach Anspruch 1, bei welchem alle die Systembeschränkungen verletzenden verbotenen Zustände oder Kombinationen von den Relationen ausgeschlossen werden.
  3. Verfahren nach Anspruch 2, bei welchem, falls lediglich zu einer einzelnen Relation eines Systems keine erlaubte Kombination oder erlaubter Zustand gefunden wird, das gesamte System als in einem widersprüchlichen oder inkonsistenten Zustand befindlich betrachtet wird und ausgeschlossen wird.
  4. Verfahren nach einem der Ansprüche 1 oder 3, bei welchem die Systembeschränkungen durch Verknüpfung einer oder mehrerer Relationen bestimmt werden, wobei jede Relation die erlaubten kartesischen Unterräume von Zuständen oder Kombinationen auf einer gegebenen Untermenge von Variablen darstellt.
  5. Verfahren nach einem der voranstehenden Ansprüche, bei welchem alle Relationen mit wenigstens einer gemeinsamen Variable zusammengeführt werden.
  6. Verfahren nach Anspruch 5, bei welchem das Zusammenführen die Verknüpfung von zwei oder mehr Relationen umfaßt, die dadurch in Verbindung stehen, daß sie gemeinsame Variablen aufweisen, um den/die kartesischen Unterraum/Unterräume zu bilden welche den kombinierten Beschränkungen der zwei oder mehreren Relationen genügen.
  7. Verfahren nach einem der Ansprüche 5 oder 6, bei welchem die Zusammenführung der zwei oder mehreren Relationen durchgeführt wird, indem die zwei oder mehreren Relationen bis zu einer vorbestimmten Grenze zusammengeführt werden, wobei die resultierende Anzahl an Relationen zusammengeführt werden, indem diese verbunden werden und in einem oder mehreren Cluster von Relationen) gruppiert werden.
  8. Verfahren nach Anspruch 7, bei welchem jede Relation erweitert wird, indem eine einzelne Verbindungsvariable mit einem einzelnen Index hinzugefügt wird, welcher jeden erlaubten kartesischen Unterraum auf der gegebenen Untermenge von Variablen identifiziert.
  9. Verfahren nach Anspruch 7, bei welchem alle verbundenen Relationen in einem oder mehreren Cluster gruppiert werden, wobei jede Relation einem einzelnen Cluster von Relationen) zugeordnet wird.
  10. Verfahren nach einem der Ansprüche 7 oder 9, bei welchem drei oder mehrere Relationen die durch gemeinsame Variablen untereinander in Verbindung stehen, die Schleifen oder geschlossene Pfade erzeugen, in einem einzelnen Cluster gruppiert werden, welcher die drei oder mehrere Relationen umfaßt, wobei der/die resultierende(n) Cluster in einer Baumstruktur ohne Schleifen untereinander in Verbindung stehen.
  11. Verfahren nach Anspruch 10, bei welchem alle Beschränkungen der untereinander in Verbindung stehenden Relationen innerhalb jedes Clusters bestimmt werden, indem alle verbindenden Variablen innerhalb des Clusters zusammengeführt werden und dabei der Konfigurationsraum des gesamten Clusters bestimmt wird, wobei alle Beschränkungen zwischen den drei oder mehr Verbindungsvariablen als eine oder mehrere neue Relationen auf den drei oder mehreren Verbindungsvariablen dargestellt werden.
  12. Verfahren nach einem der Ansprüche 9, 10 oder 11, bei welchem ein Paar von Relationen mit gemeinsamen Variablen welches zwei Cluster verbindet zusammengeführt wird, indem eine neue Relation auf den gemeinsamen Variablen und den zwei Verbindungsvariablen hinzugefügt wird.
  13. Verfahren nach einem der voranstehenden Ansprüche, bei welchen eine Objektfunktion einer gegebenen Untermenge von Variablen, welche Eigenschaften der gegebenen Untermenge von Variablen ableitet, mit dem kompletten Konfigurationsraum verbunden wird, indem die Beschränkungen auf jede mit der gegebenen Untermenge von Variablen verbundenen Verbindungsvariable abgeleitet werden.
  14. Verfahren nach Anspruch 13, bei welchem die Eigenschaften der Objektfunktion bestimmt werden und die Beschränkungen auf den Verbindungsvariablen abgeleitet werden auf jeder Kombination der gegebenen Variablen, wobei das Ergebnis dargestellt wird als Relation auf der Objektfunktion, den gegebenen Variablen und der Verbindungsvariablen.
  15. Verfahren zum Konfigurieren und/oder Optimieren eines Systems das durch Variablen auf finiten Bereichen aufgespannt wird, wobei das Verfahren umfaßt: – Bereitstellen einer Datenbank, welche durch das Verfahren nach einem der Ansprüche 1–14 erzeugt wurde und – Ableiten eines der Eingabe-Anweisung und/oder -Anfrage entsprechenden Unterraumes von Zuständen oder Kombinationen, welcher aufgespannt wird durch eine oder mehrere Variablen des durch das verschachtelte Array dargestellten Systems, indem die Konsequenzen einer Anweisung und/oder Anfrage abgeleitet werden, wobei die durch die Anweisung und/oder Anfrage definierten Beschränkungen auf die Datenbank angewendet werden.
  16. Verfahren nach Anspruch 15, bei welchem eine Ableitung eines Unterraumes von Zuständen oder Kombinationen auf einer gegebenen Untermenge von Variable(n) durchgeführt wird, welche zusammengeführt sind mit oder ohne bestätigten und/oder gemessenen Zuständen und/oder Beschränkungen aus der Umgebung.
  17. Verfahren nach einem der Ansprüche 15 oder 16, bei welchem alle Interaktionen zwischen dem durch die verschachtelte Array-Datenbank dargestellten System und der Umgebung durchgeführt werden durch einen Zustandsvektor (SV), welcher alle erlaubten Zustände oder Werte jeder Variable darstellt.
  18. Verfahren nach einem der Ansprüche 16 oder 17, bei welchem ein Eingabe-Zustandsvektor (SV1) die bestätigten und/oder gemessenen Zustände aus der Umgebung darstellt, während ein Ausgabe-Zustandsvektor (SV2) abgeleitete Konsequenzen) auf jeder Variable des gesamten Systems darstellt, wenn die Beschränkungen von SV1 mit allen Systembeschränkungen in der Array-Datenbank zusammengeführt sind.
  19. Verfahren nach einem der Ansprüche 16–18, bei welchem der Zustand des gesamten Systems abgeleitet wird, indem jeweils eine oder mehrere Relationen und/oder eine oder mehrere Objektfunktionen abgefragt werden durch Zusammenführen der gegebenen Untermenge von Variablen in der Relation mit den gegebenen Untermengen von Zuständen in dem Zustandsvektor und anschließendem Ableiten der möglichen Zustände jeder Variable.
  20. Verfahren nach Anspruch 19, bei welchem zwei oder mehrere Variablen parallel zusammengeführt werden.
  21. Verfahren nach Anspruch 19, bei welchem die Ableitung der möglichen Zustände auf zwei oder mehreren Variablen parallel durchgeführt wird.
  22. Verfahren nach Anspruch 19, bei welchem Vollständigkeit der Ableitung erzielt wird, indem verbundene Relationen abgefragt werden bis keine weiteren Konsequenzen auf jedweder Verbindungsvariable mehr abgeleitet werden können.
  23. Verfahren nach einem der Ansprüche 19–22, bei welchem mindestens zwei Relationen parallel abgefragt werden.
  24. Verfahren nach einem der Ansprüche 16–23, bei welchem ein widersprüchlicher Zustand identifiziert wird, falls keine erlaubten Zustände oder Werte bei der Abfrage einer Relation ableitbar sind.
  25. Datenbank zum Konfigurieren und/oder Optimieren eines Systems das durch Variablen auf finiten Bereichen und/oder Intervallen aufgespannt wird, wobei die Datenbank einen adressierbaren Konfigurationsraumes des gesamten Systems speichert in Form aller erlaubten kartesischen Unterräume von Zuständen oder Kombinationen welche der Verknüpfung im Wesentlichen aller Systembeschränkungen auf allen Variablen genügen, wobei alle untereinander in Verbindung stehenden kartesischen Unterräume adressierbar sind als erlaubte Kombinationen von Indizes von Verbindungsvariablen, so daß im Wesentlichen alle erlaubten Lösungen im System als verschachteltes Array gespeichert werden.
  26. Datenbank nach Anspruch 25, welche gespeichert wird in einem Speicher oder Aufzeichnungsmedium einer Einrichtung und/oder eines Computers und/oder eines Netzwerks.
  27. Datenbank nach Anspruch 26, welche im Speicher oder Speichermedium derart gespeichert ist, daß sie abrufbar ist zum Ableiten eines Unterraumes des Systems durch Anwenden von Eingabe-Anweisungen und/oder -Abfragen auf die Datenbank.
  28. Datenbank nach Anspruch 26, welche in einem Speicher oder Speichermedium gespeichert ist, die angepaßt sind, um operativ mit einem Einrichtung und/oder einem Computer und/oder einem Netzwerk derart verbunden zu sein, daß die Datenbank dadurch abrufbar ist zum Ableiten eines Unterraumes des Systems durch Anwenden von Eingabe-Anweisungen und/oder -Abfragen auf die Datenbank.
  29. Einrichtung und/oder Computer und/oder Netzwerk, aufweisend einen Speicher oder ein Aufzeichnungsmedium, in dem eine Datenbank nach Anspruch 25 gespeichert ist.
  30. Einrichtung und/oder Computer und/oder Netzwerk nach Anspruch 29, bei welcher/welchem die Datenbank im Speicher oder Aufzeichnungsmedium derart gespeichert ist, daß sie abrufbar ist zum Ableiten eines Unterraumes des Systems durch Anwenden von Eingabe-Anweisungen und/oder -Abfragen auf die Datenbank.
  31. Netzwerk nach Anspruch 30, bei welchem die Datenbank derart im Speicher oder Aufzeichnungsmedium eines oder mehrerer Computer gespeichert ist, daß die Datenbank abrufbar ist zum Ableiten eines Unterraumes des Systems durch Anwenden von Eingabe-Anweisungen und/oder -Abfragen auf die Datenbank ausgehend von einem mit dem Netzwerk verbundenen Computer.
  32. Speicher oder Aufzeichnungsmedium, aufweisend Programmbefehle zum Ausführen der Schritte des Verfahrens nach einem der Ansprüche 1–24.
  33. Speicher oder Aufzeichnungsmedium nach Anspruch 32, bei welchem die Datenbank derart gespeichert ist, daß sie abrufbar ist zum Ableiten eines Unterraumes des Systems durch Anwenden von Eingabe-Anweisungen und/oder -Abfragen auf die Datenbank.
  34. Speicher oder Aufzeichnungsmedium nach Anspruch 33, angepaßt um operativ mit einem Einrichtung und/oder einem Computer und/oder einem Netzwerk derart verbunden zu sein, daß die Datenbank dadurch abrufbar ist zum Ableiten eines Unterraumes des Systems durch Anwenden von Eingabe-Anweisungen und/oder -Abfragen auf die Datenbank.
DE69909452T 1998-03-16 1999-03-16 Eine datenbank, die nützlich ist, um ein system zu konfigurieren und/oder zu optimieren und ein verfahren, um diese datenbank zu generieren Expired - Lifetime DE69909452T4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DK36398 1998-03-16
DK36398 1998-03-16
PCT/DK1999/000132 WO1999048031A1 (en) 1998-03-16 1999-03-16 A database useful for configuring and/or optimizing a system and a method for generating the database

Publications (2)

Publication Number Publication Date
DE69909452T2 true DE69909452T2 (de) 2004-06-09
DE69909452T4 DE69909452T4 (de) 2005-09-08

Family

ID=8092678

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69909452A Expired - Lifetime DE69909452D1 (de) 1998-03-16 1999-03-16 Eine datenbank, die nützlich ist, um ein system zu konfigurieren und/oder zu optimieren und ein verfahren, um diese datenbank zu generieren
DE69909452T Expired - Lifetime DE69909452T4 (de) 1998-03-16 1999-03-16 Eine datenbank, die nützlich ist, um ein system zu konfigurieren und/oder zu optimieren und ein verfahren, um diese datenbank zu generieren

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69909452A Expired - Lifetime DE69909452D1 (de) 1998-03-16 1999-03-16 Eine datenbank, die nützlich ist, um ein system zu konfigurieren und/oder zu optimieren und ein verfahren, um diese datenbank zu generieren

Country Status (12)

Country Link
US (1) US6633863B1 (de)
EP (1) EP1062603B9 (de)
JP (2) JP4216468B2 (de)
AT (1) ATE244908T1 (de)
AU (1) AU758640C (de)
CA (1) CA2323650C (de)
DE (2) DE69909452D1 (de)
IL (1) IL138291A0 (de)
NO (1) NO20004629L (de)
NZ (1) NZ507462A (de)
WO (1) WO1999048031A1 (de)
ZA (1) ZA200004521B (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU7271000A (en) * 1999-09-22 2001-04-24 Array Technology Aps Methods for colligation and linking of relations in a database useful for configuring and/or optimizing a system
WO2002037339A2 (de) * 2000-10-30 2002-05-10 Perspectix Ag System, verfahren und computerprogramm zur konfiguration von objekten
WO2002046980A2 (en) * 2000-12-08 2002-06-13 Configit Software A/S A method of configuring a product using a directed acyclic graph
WO2002067151A1 (de) * 2001-02-16 2002-08-29 Va Tech Elin Ebg Elektronik Gmbh & Co Konfigurator
US7761397B2 (en) 2001-03-21 2010-07-20 Huelsman David L Rule processing method and apparatus providing automatic user input selections
US6965887B2 (en) 2001-03-21 2005-11-15 Resolutionebs, Inc. Rule processing methods for automating a decision and assessing satisfiability of rule-based decision diagrams
US7188091B2 (en) 2001-03-21 2007-03-06 Resolutionebs, Inc. Rule processing system
IL162627A0 (en) 2001-12-21 2005-11-20 3Dfacto Aps A method, a computer system, and a computer program product for configuring a virtual representationof an assembly of a plurality
US7426499B2 (en) 2004-11-08 2008-09-16 Asset Trust, Inc. Search ranking system
US7587379B2 (en) 2002-03-20 2009-09-08 Huelsman David L Method and system for capturing business rules for automated decision procession
US7401057B2 (en) 2002-12-10 2008-07-15 Asset Trust, Inc. Entity centric computer system
US7587380B2 (en) 2003-09-29 2009-09-08 Huelsman David L Rule processing method, apparatus, and computer-readable medium to generate valid combinations for selection
US7552102B2 (en) 2003-09-29 2009-06-23 Huelsman David L Rule processing method, apparatus, and computer-readable medium to provide improved selection advice
US7565337B2 (en) 2003-09-29 2009-07-21 Huelsman David L Batch validation method, apparatus, and computer-readable medium for rule processing
US20060005067A1 (en) * 2004-07-01 2006-01-05 Llyod Dennis Jr Systems, devices, and methods for generating and processing application test data
US7734559B2 (en) 2004-09-28 2010-06-08 Huelsman David L Rule processing method and apparatus providing exclude cover removal to simplify selection and/or conflict advice
CA2543989C (en) * 2005-04-18 2015-02-17 Research In Motion Limited System and method for generating safe and efficient component relationships in wireless applications
US20100015382A1 (en) * 2006-09-29 2010-01-21 Mitsubishi Kagaku Media Co., Ltd. Azo metal chelate dye and optical recording medium
JP5109375B2 (ja) * 2007-01-22 2012-12-26 三菱電機ビルテクノサービス株式会社 乗客コンベア用移動手摺の補修装置及びその補修方法
US8578265B2 (en) 2008-10-07 2013-11-05 Bigmachines, Inc. Methods and apparatus for generating a dynamic document
US9524506B2 (en) 2011-10-21 2016-12-20 Bigmachines, Inc. Methods and apparatus for maintaining business rules in a configuration system
US8099453B2 (en) * 2009-01-22 2012-01-17 Hewlett-Packard Development Company, L.P. System and method for data clustering
US9182946B2 (en) 2013-03-15 2015-11-10 Russell Sellers Method of generating a computer architecture representation in a reusable syntax and grammar
US11881287B2 (en) * 2016-11-10 2024-01-23 Precisionlife Ltd Control apparatus and method for processing data inputs in computing devices therefore
EP3539011A1 (de) 2016-11-10 2019-09-18 Rowanalytics Ltd Steuerungsvorrichtung und -verfahren zur verarbeitung von dateneingaben in computing-vorrichtungen dafür
WO2020109900A1 (en) 2018-11-30 2020-06-04 Precisionlife Ltd Welfare system and method of operation thereof

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL93220A0 (en) 1989-02-03 1990-11-05 Bang & Olufsen As Signal processing apparatus and method
US5195172A (en) 1990-07-02 1993-03-16 Quantum Development Corporation System and method for representing and solving numeric and symbolic problems
EP0486037B1 (de) 1990-11-14 2000-07-05 Fujitsu Limited Kombinationsproblem-Lösungsvorrichtungen
US5276775A (en) 1990-12-07 1994-01-04 Texas Instruments Inc. System and method for building knowledge-based applications
US5241224A (en) 1991-04-25 1993-08-31 Altera Corporation High-density erasable programmable logic device architecture using multiplexer interconnections
US5515524A (en) 1993-03-29 1996-05-07 Trilogy Development Group Method and apparatus for configuring systems
US6115547A (en) 1993-03-29 2000-09-05 Trilogy Development Group, Inc. Flash configuration cache
WO1995002222A1 (en) * 1993-07-07 1995-01-19 European Computer-Industry Research Centre Gmbh Database structures
US5594898A (en) 1994-03-25 1997-01-14 Microsoft Corporation Method and system for joining database tables using compact row mapping structures
EP0770239B1 (de) 1994-07-13 1998-10-21 Unisys Corporation Verallgemeinerter konfigurierer
US5745765A (en) 1995-10-23 1998-04-28 Calico Technology, Inc. Method and apparatus for automatic and interactive configuration of custom products
US5778364A (en) 1996-01-02 1998-07-07 Verity, Inc. Evaluation of content of a data set using multiple and/or complex queries

Also Published As

Publication number Publication date
NO20004629D0 (no) 2000-09-15
CA2323650C (en) 2009-02-17
IL138291A0 (en) 2001-10-31
ZA200004521B (en) 2002-02-27
WO1999048031A1 (en) 1999-09-23
ATE244908T1 (de) 2003-07-15
NO20004629L (no) 2000-11-15
EP1062603A1 (de) 2000-12-27
AU758640B2 (en) 2003-03-27
JP2006059364A (ja) 2006-03-02
DE69909452D1 (de) 2003-08-14
CA2323650A1 (en) 1999-09-23
DE69909452T4 (de) 2005-09-08
EP1062603B1 (de) 2003-07-09
AU2714499A (en) 1999-10-11
US6633863B1 (en) 2003-10-14
NZ507462A (en) 2002-11-26
JP2002507796A (ja) 2002-03-12
JP4216468B2 (ja) 2009-01-28
EP1062603B9 (de) 2004-07-28
AU758640C (en) 2005-08-11

Similar Documents

Publication Publication Date Title
DE69909452T2 (de) Eine datenbank, die nützlich ist, um ein system zu konfigurieren und/oder zu optimieren und ein verfahren, um diese datenbank zu generieren
DE69031758T2 (de) Verfahren zur Organisation von und zum Zugriff auf Produkt beschreibenden Daten in Zusammenhang mit einem technischen Prozess
DE69838835T2 (de) Verfahren zur Prüfung und zur Darstellung einer Hardware durch Zerlegung und Aufteilung
Hauke et al. Recent development of social simulation as reflected in JASSS between 2008 and 2014: A citation and co-citation analysis
DE68926849T2 (de) Struktur und Verfahren zur Anordnung rekursiv abgeleiteter Daten in einer Datenbank
DE60022152T2 (de) Parallele optimierte Ereignisauslösung in parallelen Datenbanksystemen
DE60009122T2 (de) Mustererkennung für den datenaustausch zwischen rechnergestützten entwurfssystemen
DE4323947C2 (de) Verfahren zum Steuern von Datenbankabfragen in einem heterogenen, verteilten Datenbanksystem
US7386521B2 (en) Automatic test program generation using extended conditional constraint satisfaction
DE60113114T2 (de) Integriertes diagnosesystem und -verfahren
DE3856079T2 (de) Verfahren für einen Blockdiagramm-Simulator
DE19717716C5 (de) Verfahren zur automatischen Diagnose technischer Systeme
DE69025543T2 (de) Leistungsmessung bei einem erweiterten endlichen Automaten
DE112017006164T5 (de) Differenzvergleich von ausführbaren Datenflussdiagrammen
DE19903633A1 (de) Implementierung von Boolescher Erfüllbarkeit mit nichtchronologischer Rückwärtsverarbeitung in rekonfigurierbarer Hardware
DE3685711T2 (de) Anordnung zur simulation von rechnerfunktionen von grossrechenanlagen.
DE10104831A1 (de) Datenstruktur für Informationssysteme
DE112010000947T5 (de) Verfahren zur völlig modifizierbaren Framework-Datenverteilung im Data-Warehouse unter Berücksichtigung der vorläufigen etymologischen Separation der genannten Daten
DE10149693A1 (de) Objekte in einem Computersystem
DE60005670T2 (de) Aktualisierung der platzierung während der technologieabbildung
DE112019000972T5 (de) Verfahren und Systeme für vereinfachte grafische Abbildungen von bipartiten Graphen
DE10040987A1 (de) Verfahren und System für übereinstimmende Aktualisierungen von redundanten Daten in relationalen Datenbanken
EP3568757A1 (de) Verfahren zur erzeugung von quellcode
EP0580663A1 (de) Verfahren zur verifikation datenverarbeitender systeme.
Newell Learning, Generality and Problem-Solving