-
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.
-
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:
-
-
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:
-
-
BEISPIEL
-
Die kompilierte Arrayform der Relation
TEMP(>120) →ALARM auf
dem Definitionsbereich in Tabelle 1 ist:
-
-
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:
wobei:
I
i:
Anzahl isolierter Variablen in Relation i
A
i:
Größe der Relations
i (Anzahl kartesischer Subräume)
T
i: 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:
-
-
Die
Kompilierung jeder Relation liefert:
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
-
-
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: 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:
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:
-
-
Die Standardarrayform jeder kompilierten
Relation ist:
-
-
Liste von Relation(en) auf isolierten
(nichtverbindenden) Variablen (10.1 und 10.2):
-
-
Liste von Relationen auf verbindenden
Variablen (10.1):
-
-
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:
-
-
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.
-
-
-
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:
-
-
Offensichtlich ist der einfachste
Weg zum Zusammenführen
dieser einfachen Relationen, die Paare zu einer einzigen Relation
zu kombinieren:
-
-
Jedoch werden wir, um die isomorphe
Form von Verbindungsrelationen zu veranschaulichen, die Standardfeldform
von R0, R1 mit Verbindungsvariablen erweitern:
-
-
Das Zusammenführen der Unterräume der
gemeinsamen Variablen C, D liefert die folgende Verbindungsrelation:
-
-
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:
-
-
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:
-
-
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:
-
-
Die Zielfunktion Y = f(B, E) wird
der Array-Datenbank durch eine Projektion auf alle den Zustandsvariablen
B, E zugehörigen
Verbindungsvariablen hinzugefügt:
-
-
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:
-
-
Die Ummodellierung des Systems in
eine einzelne Relation (durch Zusammenführen von R0, R1, R2) liefert:
-
-
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: 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: 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: 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.4–15.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:
-
-
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: 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: Tabelle
31
- 3. Berücksichtige
alle zu beschränkten
Verbindungsvariablen zugehörigen
Systemrelationen (15.4) 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:
-
-
-
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:
-
-
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:
-
-
Beachte, dass die Relation mit den
legalen Definitionsbereichswerten anstelle der Definitionsbereichsindizes
dargestellt ist. Die interne binäre
Repräsentation
ist in Tabelle 37 gezeigt.
-
-
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:
-
-
-
-
-
-
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:
-
-
-
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 |