Variable im EH&S Expert.
Fakten sind Behälter für Daten in den Regelwerken des EH&S Expert und können folgendermaßen verwendet werden:
Sie können Fakten als Ein- oder Ausgabefakten kennzeichnen (Schlüsselwörter IN bzw. OUT). Dementsprechend werden die Fakten vor dem Lauf des Regelwerks mit Daten versorgt bzw. nach Anwendung der Regeln ausgelesen.
Sie können Fakten ohne besondere Markierung anlegen und so zur Ablage von Zwischenergebnissen nutzen.
Sie können Fakten direkt mit Default-Daten belegen.
Fakten stehen immer am Anfang des Regelwerks, in einer Sektion die mit dem Schlüsselwort FACTS eingeleitet wird. Die einzelnen Fakten werden durch Kommata getrennt.
Beispiel
FACTS
Stoffname(IN),
Flammpunkt(IN),
RSatz(OUT),
HatPB(OUT) := "Y",
...
Hinweis
Wenn Sie ein Regelwerk mit Hilfe des Regeleditors erstellen, dann erzeugt dieser automatisch eine Regeldatei mit der korrekten Syntax.
In den Regeln des EH&S Expert werden Fakten ohne jegliche Datentypangaben (z.B. Text, Ganzzahl etc.) benutzt. Alle Fakten können alle Datentypen aufnehmen. Die Daten werden bei Bedarf automatisch konvertiert.
Intern und in Zuweisungen werden folgende Datentypen unterschieden:
Text
für alphanumerische Werte
Texte werden zwischen zwei Anführungszeichen angegeben (z.B. "Hallo").
Zahl
für Zahlen
Zahlen werden direkt geschrieben.
Liste
für Mengen aus mehreren alphanumerischen Werten oder Zahlen
Mengen werden als einzelne Elemente zwischen eckigen Klammern geschrieben. Mehrfach bewertete Merkmale werden als Mengen abgebildet.
Bereiche
für numerische Wertebereiche
Bereiche werden zwischen geschwungene Klammern geschrieben. Untere und obere Grenze sind beinhaltet, sofern sie nicht explizit durch Operatoren (<, >) ausgeschlossen werden. Zwischen unterer und oberer Grenze steht der Ausdruck to
(z.B. {>2 to 3}).
Folgende Funktionen ermitteln die Bereichsgrenzen:
LO({>2 to 3}) ergibt 2
UP({>2 to 3}) ergibt 3
Folgende Funktionen ermitteln die Operatoren der Bereichsgrenzen:
OPLO({>2 to 3}) ergibt ">"
OPUP({>2 to 3}) ergibt. "<=" (Default)
Die folgende Funktion ermittelt, ob ein Wert innerhalb der Bereichsgrenzen liegt.
2.5IN({>2 to 3}) ergibt TRUE
Beispiel
Folgende Zuweisungen von Datentypen zu Fakten sind also möglich:
X := 1
Y := 134.4
T := "Hallo"
M := ["A","B","C"]
R := {>1 to 7}
Die Konvertierung der Datentypen ineinander ist in den folgenden Tabellen anhand von Beispielen erläutert. Die zweite Zeile zeigt die Datentypen vor der Konvertierung, die Spalten darunter das jeweilige Konvertierungsergebnis:
Zahl | Bereich | |||
5 | {1 to 3} | {3 to 3} | {>=1 to <=3} | |
Zahl | Fehler | 3 | Fehler | |
Bereich | {5 to 5} | |||
Text | "5" | ">=1 - <=3" | ">=3 - <= 3“ | ">=1 - <=3" |
Liste | [5] | [{1 to 3}] | [{3 to 3}] | [{>=1 to <=3}] |
Text | Liste | ||||||
"Hallo" | "1 - 3" | "1" | ["Hallo"] | [1] | [{1 to 3}] | [1,"A", 5] | |
Zahl | Fehler | Fehler | 1 | Fehler | 1 | Fehler | Fehler |
Bereich | Fehler | {1 to 3} | {1 to 1} | Fehler | {1 to 1} | {1 to 3} | Fehler |
Text | "Hallo" | "1" | ">=1 - <=3" | Fehler | |||
Liste | ["Hallo"] | ["1 - 3"] | ["1"] |
Bei der Definition der Fakten wird noch keine Zuordnung zu den entsprechenden Elementen des EH&S (Merkmale, Identifikatoren etc.) getroffen. Diese Zuordnung geschieht zentral in den sogenannten Mapping-Tabellen. Dadurch können Regeln geschrieben werden, ohne dass zunächst die genaue Zuordnung zu den Elementen des EH&S bekannt ist.