Ein Ausdruck ist Code, der eine angepasste Logik enthält, die einer Regel hinzugefügt werden kann. Ausdrücke können auch auf Code außerhalb der ACT-Engine zugreifen. In der Regelsprache sind Ausdrücke nur in bestimmten Kontexten, oder Regelsprachelementen, gültig.
Autoren von Regeln können Ausdrücke für verschiedene Zwecke codieren, abhängig vom Kontext und vom Ergebnis, das sie erzielen möchten. Ausdrücke werden häufig für die Initialisierung von Variablen, die Definition von Ereignisauswahlkriterien und für die Spezifikation von Regelantwort- und Lebenszyklusaktionen verwendet.
Sprachelemente, die Ausdrücke enthalten
Jedes Sprachelement, das einen Ausdruck enthält, weist ein expressionLanguage-Attribut auf, das die Programmiersprache angibt, in der der Ausdruck geschrieben wurde.
Die Programmiersprache Java ist die einzige unterstützte Ausdruckssprache.
Ausdrücke können in den folgenden Regelsprachelementen enthalten sein.
- <varInitializer> für eine Regelsatz-, Regelblock- oder Regelvariable
- <filteringPredicate> in <eventSelector>
- <computedValue> in <groupingKey>
- <computeFunction> in einer Berechnungsregel
- <booleanThreshold> in einer Schwellenwertregel
- <computedThreshold> in einer Schwellenwertregel
- Regelantwortaktionen für eine Regel:
- <action> innerhalb <onDetection>. Diese Aktion ist nur für die Duplikat-, Filter-, Sequenz- und Schwellenwertregel gültig.
- <action> innerhalb <onNextEvent>. Diese Aktion ist nur für die Duplikatregel gültig.
- <action> innerhalb <onTimeOut>. Diese Aktion ist nur für die Sequenz- und Schwellenwertregel gültig.
- <action> innerhalb <onTimeWindowComplete>. Diese Aktion ist nur für die Datenerfassungs-, Berechnungs-, Duplikat- und Zeitgeberregel gültig.
- Lebenszyklusaktionen für eine Regel:
- <action> in <onLoad>
- <action> in <onActivation>
- <action> in <onDeactivation>
- <action> in <onUnload>
Unterstützung durch Active Correlation Technology bei der Codierung von Ausdrücken
Zur Unterstützung des Autors einer Regel bei der Codierung von Ausdrücken stellt Active Correlation Technology folgende Funktionalitäten bereit:
- Import von externen Modulen (wie z. B. Java-Klassen) und Objekten für die Verwendung in Ausdrücken.
- Initialisierung von und Zugriff auf Regelsatz-, Regelblock- und Regelvariablen.
- Durch die Variable 'act_event' Zugriff auf das aktuelle Ereignis, das eine Regel gerade verarbeitet.
- Durch die Variable 'act_eventCount' Zugriff auf die Anzahl Ereignisse, die von einer Regel akzeptiert wurden.
- Durch die Variable 'act_eventList' Zugriff auf die Liste der Ereignisse, die von einer Regel akzeptiert wurden. Dazu gehören der Zugriff auf verschiedene Attribute eines Ereignisses sowie der Zugriff auf die einzelnen Ereignisse in einer Sequenzregel nach Aliasname.
- Durch die Variable 'act_lib' Zugriff auf Methoden, die die Funktion umfassen, Variablen abzurufen und festzulegen und den Ereignisfluss durch einen Regelsatz zu steuern.
- Durch die Variable 'act_location' Zugriff auf die Position eines Ausdrucks innerhalb der Regelhierarchie.
- Durch die Variable 'act_nodeName' Zugriff auf den vollständig qualifizierten Namen eines Knotens.
- Durch die Variable 'act_threshold' Zugriff auf den definierten Schwellenwert für eine Schwellenwertregel.