Un'espressione è un codice che contiene la logica personalizzata che può essere aggiunta ad una regola. Le espressioni possono anche accedere al codice
esterno all'engine dell'Active Correlation Technology. Nel linguaggio della regola, le
espressioni sono valide solo in contesti specifici o negli elementi di linguaggio della
regola.
Gli scrittori della regola possono codificare le espressioni per scopi diversi
secondo il contesto e il risultato che essi desiderano ottenere. Le
espressioni vengono utilizzate di frequente per l'inizializzazione delle variabili, per la
definizione dei criteri di selezione eventi e per la specifica della risposta della regola e delle azioni
attinenti al ciclo di vita.
Elementi di lingua che contengono le espressioni
Ogni
elemento di lingua che contiene un'espressione ha un attributo expressionLanguage che
identifica il linguaggio di programmazione in cui è scritta l'espressione.
Il linguaggio di programmazione
Java
è l'unico linguaggio di espressione supportato.
Le espressioni possono essere contenute nei seguenti elementi del linguaggio della
regola.
- <varInitializer> per una serie di regole, blocco di regole o variabile di regola
- <filteringPredicate> su <eventSelector>
- <computedValue> su <groupingKey>
- <computeFunction> su una regola di calcolo
- <booleanThreshold> su una regola di soglia
- <computedThreshold> su una regola di soglia
- Le azioni di risposta della regola per una regola:
- <action> in <onDetection>. Quest'azione è valida solo per le regole di
duplicato, filtro, sequenza e soglia.
- <action> in <onNextEvent>. Quest'azione è valida solo per la regola di
duplicato.
- <action> in <onTimeOut>. Quest'azione è valida solo per le regole di
sequenza e soglia.
- <action> in <onTimeWindowComplete>. Quest'azione è valida solo per le regole di
raccolta, calcolo, duplicato e timer.
- Azioni di durata per una regola:
- <action> in <onLoad>
- <action> in <onActivation>
- <action> in <onDeactivation>
- <action> in <onUnload>
Supporto dell'Active Correlation Technology nella codifica delle espressioni
bCome
supporto alla codifica di espressioni, Active Correlation Technology fornisce le seguenti
funzioni:
- Importazione di moduli esterni (come classi Java) da utilizzare nelle espressioni.
- Inizializzazione e accesso alla serie di regole, blocco di regole o variabili di
regola.
- Tramite la variabile act_event, accesso all'evento corrente che una regola sta
elaborando.
- Tramite la variabile act_eventCount, accesso al numero di eventi che sono stati
accettati da una regola.
- Tramite la variabile act_eventList, accesso all'elenco degli eventi che sono stati
accettati da una regola. Ciò include la potenzialità di accesso ai diversi attributi di un
evento e la potenzialità di accesso ad ogni evento in una regola di sequenza tramite il relativo nome alias.
- Tramite la variabile act_lib, accesso ai metodi che includono la potenzialità di
richiesta e impostazione delle variabili e di controllo del flusso di eventi tramite una
serie di regole.
- Tramite la variabile act_location accesso all'ubicazione, all'interno
della gerarchia di regole di un'espressione.
- Tramite la variabile act_nodeName, accesso al nome completo di un
nodo.
- Tramite la variabile act_threshold, accesso al valore di soglia per una regola di
soglia.