Organisation von Regeln

Die ACT-Regelsprache fasst Regeln zu Regelblöcken zusammen, die Bestandteil eines Regelsatzes sind.

Regelsatz

Der Regelsatz enthält die in Regelblöcke zusammengefassten Regeln, die von einer ACT-Engine ausgeführt werden sollen. Er ist die Regelausführungseinheit. Jede ACT-Engine führt zu jedem Zeitpunkt nur einen Regelsatz aus.

Die Regeln in einem Regelsatz werden durch Ereignisse ausgelöst, die an die ACT-Engine gesendet werden. Die Ereignisse werden nacheinander an die entsprechenden Regeln zugestellt, basierend auf den Auswahlkriterien für Ereignisse in jeder Regel, und zu jedem Zeitpunkt wird nur eine Regel ausgeführt. Das gleiche Ereignis kann auf mehrere Regeln zutreffen und sie somit auslösen. Diese Regeln müssen nicht notwendigerweise zusammengehörig sein.

Die Reihenfolge der Regelblöcke und Regeln in einem Regelsatz legen fest, wie Ereignisse durch den Regelsatz laufen.

Variablen und Importe können auf der Ebene des Regelsatzes definiert werden, damit sie in Ausdrücken (Code mit angepasster Logik) im gesamten Bereich des Regelsatzes verwendet werden können. Ein Import ist eine Möglichkeit, über eine Programmiersprache auf externen Code zuzugreifen. Der Autor einer Regel kann einen Import definieren, um externe Module (wie z. B. Java-Klassen) zur Verwendung in Ausdrücken in Regeln zu importieren.

Regelblock

Der Regelblock ist eine Organisationseinheit zur Gruppierung von Regeln nach Funktion in Domänen des Regelsatzes. Eine Domäne ist die Kategorie, auf die eine Gruppe von Regeln angewendet wird, basierend auf ihren Funktionen. Eine Domäne kann z. B. ein bestimmtes geographisches Gebiet, einen IT-Managementfachbereich (wie z. B. Sicherheitserkennung oder Netzereigniskorrelation) oder eine Geschäftsorganisation (wie z. B. ein bestimmtes Unternehmen oder eine Abteilung in einem Unternehmen) darstellen.

Regelblöcke können Regeln und weitere Regelblöcke enthalten. Da Regelblöcke verschachtelt sein können, kann eine Regelhierarchie erstellt werden. Ein Regelsatz könnte z. B. einen Regelblock für eine Netzereigniskorrelation enthalten und dieser wiederum zwei weitere Regelblöcke: einen für eine Ebene-2-Korrelation und einen für eine IP-Korrelation.

Deshalb stellt ein Regelsatz die Funktionalität für die Ereigniskorrelation für viele Domänen bereit, und ein Regelblock stellt die Organisation für diese unterschiedlichen Domänen bereit, die Zugriff auf eine ähnliche Ereignisgruppe benötigen könnten.

Variablen und Importe können auf der Ebene der Regelblöcke definiert werden, damit sie in Ausdrücken im gesamten Bereich des Regelblocks verwendet werden können. Der Bereich eines Regelblocks schließt beliebige Regeln und weitere Regelblöcke ein, die im Regelblock enthalten sind.

Regel

Die Regel ist die Korrelationseinheit, die zum Erkennen der Beziehungen zwischen Ereignissen und zum Ausführen der geeigneten Regelantworten verwendet wird. Eine Regel ist eine Implementierung eines der folgenden sieben Regelmuster. Sie ist je nach Funktion in einem Regelblock organisiert, der Teil eines Regelsatzes ist:
  • Erfassungsmuster
  • Berechnungsmuster
  • Duplikatmuster
  • Filtermuster
  • Sequenzmuster
  • Schwellenwertmuster
  • Zeitgebermuster

Jede Regel kann eindeutige Funktionalität für die Ereigniskorrelation je nach Muster bereitstellen, und Regeln können durch Ereignisweiterleitung verkettet werden. Durch dieses Verketten von Regeln kann die Funktionalität für die Ereigniskorrelation verschiedener Muster kombiniert oder verschachtelt werden.

Variablen können auf der Regelebene definiert werden, damit sie in Ausdrücken im gesamten Regelbereich verwendet werden können.

Zusammenfassung

Der Regelsatz ist die Ausführungseinheit, der Regelblock ist die Organisationseinheit, und die Regel ist die Korrelationseinheit. Ein Regelsatz enthält mindestens einen Regelblock, der weitere Regelblöcke enthalten kann. Jeder Regelblock enthält Regeln für eine bestimmte Domäne. Regelblöcke können verschachtelt sein, um eine Regelhierarchie zu bilden. Die Reihenfolge der Regelblöcke und Regeln in einem Regelsatz legen fest, wie Ereignisse durch den Regelsatz laufen.

Variablen und Importe können auf der Ebene des Regelsatzes oder der Regelblöcke definiert werden, damit sie in Ausdrücken von Regeln verwendet werden können. Der Bereich der Variablen oder des Imports ist der jeweilige Regelsatz oder Regelblock. Variablen können auch auf Regelebene definiert werden, ihr Bereich wird dadurch aber auf die Regel begrenzt.