Une expression est un code qui contient une logique personnalisée pouvant être ajoutée à une règle. Elle peut également accéder à un code externe au moteur Active
Correlation Technology. Dans le langage de règle, les expressions sont valides uniquement
dans des contextes ou éléments de langage de règle spécifiques.
Les rédacteurs de règle peuvent coder les expressions dans différents buts, suivant le contexte et le résultat à obtenir. Les expressions sont souvent utilisées pour initialiser des variables, définir des critères de sélection d'événement et spécifier des actions de réponse à la règle ou de cycle de vie.
Eléments de langage contenant des expressions
Chaque élément de langage contenant une expression possède un attribut expressionLanguage, qui identifie le langage de programmation dans lequel est rédigée l'expression.
Le langage de programmation Java est le seul langage d'expression pris en charge.
Les expressions
peuvent être contenues dans les éléments de langage de règle suivants.
- <varInitializer> pour une variable de jeu de règles, de bloc de règles ou de règle
- <filteringPredicate> dans <eventSelector>
- <computedValue> dans <groupingKey>
- <computeFunction> dans une règle de calcul
- <booleanThreshold> dans une règle de seuil
- <computedThreshold> dans une règle de seuil
- Actions de réponse à une règle :
- <action> dans <onDetection>. Cette action est valide uniquement pour les règles de
duplication, de filtrage, de séquence et de seuil.
- <action> dans <onNextEvent>. Cette action est valide uniquement pour la règle de
duplication.
- <action> dans <onTimeOut>. Cette action est valide uniquement pour les règles de
séquence et de seuil.
- <action> dans <onTimeWindowComplete>. Cette action est valide uniquement pour les règles de
collecte et de calcul, ainsi que pour la règle temporisée.
- Actions de cycle de vie d'une règle :
- <action> dans <onLoad>
- <action> dans <onActivation>
- <action> dans <onDeactivation>
- <action> dans <onUnload>
Aide apportée par la technologie ACT pour le codage des expressions
Pour aider le rédacteur de la règle à coder les expressions,
la technologie ACT offre une fonction permettant d'effectuer les opérations suivantes :
- Importer des objets et modules externes (tels que des classes Java) en vue de les utiliser dans des expressions.
- Initialiser des variables de jeu de règles, bloc de règles ou règle, et y accéder par la suite.
- Au moyen de la variable act_event, accéder à l'événement actuellement traité par une règle.
- Au moyen de la variable act_eventCount, accéder au nombre d'événements
acceptés par une règle.
- Au moyen de la variable act_eventList, accéder à la liste des événements
acceptés par une règle. Cette fonction comprend l'accès à différents attributs
d'un événement, ainsi que l'accès à chaque événement par son nom d'alias dans une règle de séquence.
- Au moyen de la variable act_lib, accéder à des méthodes qui permettent
d'obtenir et de définir des variables, et de contrôler un flux d'événements à l'aide d'un jeu de règles.
- Au moyen de la variable act_location, accéder à l'emplacement d'une expression dans la hiérarchie de la règle.
- Au moyen de la variable act_nodeName, accéder au nom qualifié complet d'un noeud.
- Au moyen de la variable act_threshold, accéder à la valeur de seuil définie pour une règle de seuil.