Ereignisfluss durch einen Regelsatz

Ereignisse fließen in der Reihenfolge durch einen Regelsatz, in der die Regelblöcke und Regeln codiert sind. Wenn die ACT-Engine ein Ereignis empfängt, stellt die Engine den Ereignistyp fest und ermittelt die Regeln, die diesen Ereignistyp für die Regelaktivierung, die Ereignisverarbeitung oder die Regelinaktivierung verwenden.

Verwendung von Ereignissen durch Regeln

Jede Regel, die das Ereignis verwendet, stellt zunächst fest, ob das Ereignis alle angegebenen Bedingungen für die Regelaktivierung, die Ereignisverarbeitung oder die Regelinaktivierung erfüllt. Wenn dies der Fall ist, führt die Regel die folgenden Aktionen aus:
Für die Regelaktivierung
Die Aktionen im Element <onActivation> für die Regel werden ausgeführt, falls sie codiert sind.
Für die Ereignisverarbeitung
Die Regel verarbeitet das Ereignis. Wenn das Regelmuster übereinstimmt, werden die Regelantwortaktionen ausgeführt, falls diese codiert sind. In einigen Situationen können Regelantwortaktionen Folgendes ausführen:
  • Die Aktion kann veranlassen, dass die Verarbeitung des Ereignisses im Rest des Regelblocks oder Regelsatzes übersprungen wird.
  • Die Aktion kann ein neues oder vorhandenes Ereignis zur Verarbeitung an eine andere Regel oder an einen anderen Regelblock senden.
Für die Regelinaktivierung
Die Aktionen im Element <onDeactivation> für die Regel werden ausgeführt, falls sie codiert sind.

Methoden, die den Fluss von Ereignissen beeinflussen können

Active Correlation Technology stellt die folgenden Methoden bereit, die aufgerufen werden können, um den Fluss von Ereignissen durch den Regelsatz zu beeinflussen. Diese Methoden sind durch die Variable 'act_lib' verfügbar.
exitRuleSet
Diese Methode gibt an, dass das aktuelle Ereignis nicht durch weitere Regeln im Regelsatz verarbeitet wird.
exitRuleBlock
Diese Methode gibt an, dass das aktuelle Ereignis nicht durch weitere Regeln im aktuellen Regelblock oder in anderen Regelblöcken verarbeitet wird, die dieser Regelblock enthält. Es wird jedoch von weiteren Regeln verarbeitet, die sich außerhalb des aktuellen Regelblocks befinden.
forward
Diese Methode gibt an, dass ein Ereignis an andere Regeln und Regelblöcke gesendet werden soll, auch wenn die aktuelle Regel ihre Verarbeitung noch nicht beendet hat. Die anderen Regeln und Regelblöcke verarbeiten das Ereignis dann vollständig, bevor sie das Ereignis an die Regel zurückgeben, die die Weiterleitungsmethode aufgerufen hat.
forwardOnCompletion
Diese Methode gibt an, dass ein Ereignis an andere Regeln und Regelblöcke gesendet werden soll, nachdem die aktuelle Regel ihre Verarbeitung beendet hat.