public class Regelbasis extends Object implements de.bsvrz.sys.funclib.bitctrl.modell.DatensatzUpdateListener
Modifier and Type | Field and Description |
---|---|
private boolean |
bereit
Wird am Ende des Konstruktors auf
true gesetzt. |
private Map<de.bsvrz.iav.fuzzylib.fuzzylib.modell.OdFuzzyWert,List<de.bsvrz.iav.fuzzylib.fuzzylib.FuzzyVariable>> |
cache
Lokaler Cache der Fuzzy-Werte.
|
private Map<de.bsvrz.sys.funclib.bitctrl.modell.SystemObjekt,Long> |
letzterZeitstempel
Merkt sich den letzten Zeitstempel eines Störfallindikators.
|
private de.bsvrz.sys.funclib.debug.Debug |
log
Logger.
|
private int |
maxZyklen
Maximale Anzahl der gecachten Zyklen.
|
Constructor and Description |
---|
Regelbasis(Collection<de.bsvrz.sys.funclib.bitctrl.modell.SystemObjekt> objekte,
int maxZyklen)
Meldet sich als Empfänger der benötigten Fuzzy-Werte und als Quelle der
daraus berechneten Fuzzy-Werte an.
|
Modifier and Type | Method and Description |
---|---|
private int |
anmeldenEmpfaenger(de.bsvrz.sys.funclib.bitctrl.modell.SystemObjekt so,
Class<? extends de.bsvrz.sys.funclib.bitctrl.modell.OnlineDatensatz<?>> datensatz)
Meldet sich als Empfänger eines Datensatzes eines Systemobjekts an.
|
private int |
anmeldenSender(de.bsvrz.sys.funclib.bitctrl.modell.SystemObjekt so,
Class<? extends de.bsvrz.sys.funclib.bitctrl.modell.OnlineDatensatz<?>> datensatz)
Meldet sich als Quelle eines Datensatzes eines Systemobjekts an.
|
private void |
cacheWerte(de.bsvrz.iav.fuzzylib.fuzzylib.modell.OdFuzzyWert datensatz,
de.bsvrz.iav.fuzzylib.fuzzylib.modell.FuzzyWert fw)
Sichert alle neuen Fuzzy-Werte des Events im Cache.
|
void |
datensatzAktualisiert(de.bsvrz.sys.funclib.bitctrl.modell.DatensatzUpdateEvent event) |
private de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext |
erstelleKontext(de.bsvrz.sys.funclib.bitctrl.modell.SystemObjekt so)
Sammelt alle gecachten Variablen für ein Fuzzy-Objekt.
|
private void |
sendeFolgerungen(de.bsvrz.sys.funclib.bitctrl.modell.SystemObjekt so,
Map<String,de.bsvrz.iav.fuzzylib.fuzzylib.FuzzyVariable> folgerungen,
long zeitstempel)
Sendet die Folgerungen aus der Wissensbasis.
|
private void |
sendeStoerfallIndikator(de.bsvrz.iav.fuzzylib.fuzzylib.modell.OdFuzzyWert fw,
de.bsvrz.iav.fuzzylib.fuzzylib.modell.FuzzyWert datum)
Sendet den Störfallzustand eines Objekts.
|
private final de.bsvrz.sys.funclib.debug.Debug log
private final int maxZyklen
private final Map<de.bsvrz.iav.fuzzylib.fuzzylib.modell.OdFuzzyWert,List<de.bsvrz.iav.fuzzylib.fuzzylib.FuzzyVariable>> cache
private final Map<de.bsvrz.sys.funclib.bitctrl.modell.SystemObjekt,Long> letzterZeitstempel
private boolean bereit
true
gesetzt.Regelbasis(Collection<de.bsvrz.sys.funclib.bitctrl.modell.SystemObjekt> objekte, int maxZyklen)
objekte
- Zu bearbeitende Systemobjekte.maxZyklen
- Maximale Anzahl von Zyklen, deren Fuzzy-Werte gecacht werden
sollen. Mit 1 wird nur der aktuelle Wert aufgehoben.public void datensatzAktualisiert(de.bsvrz.sys.funclib.bitctrl.modell.DatensatzUpdateEvent event)
datensatzAktualisiert
in interface de.bsvrz.sys.funclib.bitctrl.modell.DatensatzUpdateListener
private int anmeldenEmpfaenger(de.bsvrz.sys.funclib.bitctrl.modell.SystemObjekt so, Class<? extends de.bsvrz.sys.funclib.bitctrl.modell.OnlineDatensatz<?>> datensatz)
so
- ein Systemobjekt.datensatz
- der zu empfangene Datensatz.private int anmeldenSender(de.bsvrz.sys.funclib.bitctrl.modell.SystemObjekt so, Class<? extends de.bsvrz.sys.funclib.bitctrl.modell.OnlineDatensatz<?>> datensatz)
so
- ein Systemobjekt.datensatz
- der zu sendende Datensatz.private void cacheWerte(de.bsvrz.iav.fuzzylib.fuzzylib.modell.OdFuzzyWert datensatz, de.bsvrz.iav.fuzzylib.fuzzylib.modell.FuzzyWert fw)
datensatz
- der geänderte Datensatz.fw
- der neue Wert im Datensatz.private de.bsvrz.sys.funclib.bitctrl.interpreter.Kontext erstelleKontext(de.bsvrz.sys.funclib.bitctrl.modell.SystemObjekt so)
so
- Das betrachtete Fuzzy-Objektnull
, wenn die linguistische Variable einer Konklusion
unbekannt istprivate void sendeFolgerungen(de.bsvrz.sys.funclib.bitctrl.modell.SystemObjekt so, Map<String,de.bsvrz.iav.fuzzylib.fuzzylib.FuzzyVariable> folgerungen, long zeitstempel)
so
- das Systemobjekt, dessen Wissensbasis abgearbeitet wurde.folgerungen
- die Folgerungen.zeitstempel
- der Zeitstempel mit dem gesendet werden soll.private void sendeStoerfallIndikator(de.bsvrz.iav.fuzzylib.fuzzylib.modell.OdFuzzyWert fw, de.bsvrz.iav.fuzzylib.fuzzylib.modell.FuzzyWert datum)
fw
- der Fuzzy-Wert der auf einen Störfallzustand abgebildet wird.datum
- der aktuelle Wert der abgebildet wird.Copyright © 2017 BitCtrl Systems GmbH. All rights reserved.