Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space PRINSAG and version 9.0
Sv translation
languageen

Access to variables is always serialized so no explicit synchronization is needed by the user as long as a variable of the appropriate type is used for the situation. Each variables type will determine the concurrency semantics in a given situation. For example, if a global variable is used to store a string that is read and written by two different rule sets the reads and writes are guaranteed to be atomic. However the current value will be determined by the last rule set instance to write to the variable.
If a rule set variable is used to store transient information in a long running rule chain the stored value will most likely no longer be assigned to the variable by the time it is retrieved. More than likely it will have been overwritten by later executions of the rule set. If however a temporary variable were used the value will still be correct when it is retrieved as each execution will have its own instance of the variable.

The following table summarizes the possible variable types for each usage:

Usage

 

Variable Type

Global

Rule Set

Temporary

Isolating external references

Yes

Maybe

No

Simplifying complex event property references

No

No

Yes

Persisting processing or execution state

Maybe

Maybe

Yes

Sv translation
languagede

Zugriff auf Variablen ist immer serialisiert, es ist also keine explizite Synchronisation durch den Benutzer erforderlich, sofern eine Variable des entsprechenden Typs für die Situation verwendet wird. Jeder Variablentyp bestimmt die Nebenläufigkeitssemantik in einer bestimmten Situation. Wenn zum Beispiel eine globale Variable zum Speichern eines Strings verwendet wird, der von zwei verschiedenen Regelsammlungen gelesen und geschrieben wird, sind die Lese- und Schreibvorgänge garantiert unteilbar. Doch der aktuelle Wert wird durch die letzte Regelsammlungsinstanz bestimmt, die in die Variable schreibt.
Wenn einen Regelsammlungsvariable dazu verwendet wird, vorübergehend Informationen in einer langen Regelkette zu speichern, wird der gespeicherte Wert höchstwahrscheinlich nicht mehr der Variable zugewiesen werden, bis diese abgerufen wird. Sie wird höchstwahrscheinlich durch spätere Ausführungen der Regelsammlung überschrieben worden sein. Wenn jedoch eine temporäre Variable verwendet wird, wird der Wert bei Abruf noch immer richtig sein, da jede Ausführung über eine eigene Instanz der Variable verfügen wird.
Die folgende Tabelle fasst die möglichen Typen von Variablen für jede Anwendungsmöglichkeit zusammen:

Anchor
Bookmark152_concept_98EC49FE83064A9ABF6A
Bookmark152_concept_98EC49FE83064A9ABF6A
Anwendungsmöglichkeit

Variablentyp

 

 

 

 

Global

Regelsammlung

Temporär

Isolieren externer Referenzen

Ja

Vielleicht

Nein

Vereinfachen komplexer Ereigniseigenschaftsreferenzen

Nein

Nein

Ja

Aufrechterhalten des verarbeitenden oder Ausführungszustands

Vielleicht

Vielleicht

Ja


Sv translation
languagezh

访问变量始终是串行的,因此只要使用适合场景的变量类型,用户就无需进行显式同步。 每种变量类型都将决定给定场景中的并发语义。 例如,如果使用全局变量来存储由两个不同的规则集读写的字符串,读写将保证自动进行。 但当前值将由写入变量的最后一个规则集实例来决定。
如果使用规则集变量来存储长期运行的规则链中的临时信息,则在检索所存储值时,该值很可能已不再分配给该变量。 而是更有可能被后来执行的规则集改写。 但是,如果使用了临时变量,则在检索时该值将仍是正确的,因为每次执行都有自己的变量实例。
下表总结了每种用途的可能变量类型:

Anchor
Bookmark152_concept_98EC49FE83064A9ABF6A
Bookmark152_concept_98EC49FE83064A9ABF6A
用途

变量类型

 

 

 

全局变量

规则集变量

临时变量

 

隔离外部引用

可能

 

简化复杂事件属性引用

 

保留处理或执行状态

可能

可能

 


Sv translation
languagees

El acceso a las variables siempre se serializa para que el usuario no necesite una sincronización explícita, a condición de que se utilice una variable del tipo adecuado para el caso correspondiente. Cada tipo de variable determina la semántica de simultaneidad de una situación concreta. Por ejemplo, si se utiliza una variable global para almacenar una cadena que leen y escriben dos conjuntos de reglas diferentes, se garantiza que las lecturas y escrituras serán atómicas. Sin embargo, el valor actual viene determinado por la última instancia del conjunto de reglas que se escriba en la variable.
Si se utiliza una variable de conjunto de reglas para almacenar información transitoria en una cadena de reglas larga, es probable que el valor almacenado ya no se asigne a la variable en el momento en que se recupere. Lo más probable es que se haya sobrescrito con las ejecuciones posteriores del conjunto de reglas. Sin embargo, si se utilizara una variable temporal, el valor seguiría siendo correcto cuando se recuperara, ya que cada ejecución tendría su propia instancia de la variable.
En la siguiente tabla se resumen los posibles tipos de variable para cada uso:

Anchor
Bookmark152_concept_98EC49FE83064A9ABF6A
Bookmark152_concept_98EC49FE83064A9ABF6A
Utilización

Tipo de variable

 

 

 

 

Global

Conjunto de reglas

Temporal

Aislar referencias externas

Quizás

No

Simplificar referencias complejas de propiedades de eventos

No

No

Mantener el estado de procesamiento o de ejecución

Quizás

Quizás


Sv translation
languagefr

L'accès aux variables étant toujours successif, l'utilisateur n'a pas à effectuer de synchronisation explicite s'il utilise un type de variable approprié à la situation. Chaque type de variable détermine les conditions de simultanéité pour une situation donnée. Par exemple, si une variable globale est utilisée pour stocker une chaîne qui est lue et écrite par deux jeux de règles, les lectures et les écritures sont obligatoirement atomiques. La valeur actuelle est cependant déterminée par la dernière instance de jeu de règles ayant écrit sur la variable.
Si une variable de jeu de règles est utilisée pour stocker des informations transitoires dans une longue chaîne de règles en exécution, la valeur stockée ne sera sans doute plus affectée à la variable au moment où elle sera récupérée. Elle aura très certainement été remplacée par des exécutions ultérieures du jeu de règles. Cependant, si une variable temporaire a été utilisée, la valeur sera toujours correcte au moment de sa récupération car chaque exécution disposera de sa propre instance de variable.
Le tableau suivant résume les types de variables adaptés à chaque utilisation :

Anchor
Bookmark152_concept_98EC49FE83064A9ABF6A
Bookmark152_concept_98EC49FE83064A9ABF6A
Utilisation

Type de variable

 

 

 

 

Globale

Jeu de règles

Temporaire

Isolation des références externes

Oui

Peut-être

Non

Simplification des références de propriété d'événement complexes

Non

Non

Oui

Conservation de l'état de traitement ou d'exécution

Peut-être

Peut-être

Oui


Sv translation
languageja

変数へのアクセスは常にシリアル化されるので、状況に適したタイプの変数が使用される限り、ユーザーによる明示的な同期は必要ありません。 各変数のタイプによって、特定の状況での並列実行の意味が決まります。 たとえば、2 つの異なるルール セットによって読み取りおよび書き込みが行われる文字列を格納するためにグローバル変数を使用する場合、読み取りおよび書き込みはアトミックであることが保証されます。 しかし、現在の値は、変数に書き込む最後のルール セット インスタンスによって決定されます。
長時間実行されるルール チェーン内の一時的な情報を格納するためにルール セット変数を使用する場合、値が取得されるときには格納された値が変数に割り当てられていない可能性が高くなります。 ルール セットの後の実行によって上書きされている可能性が高くなるためです。 しかし、一時変数を使用する場合、各実行で専用の変数のインスタンスが使用されるので、取得時に依然として正しい値が取得されます。
次の表に、各用途で使用できる変数タイプの概要を示します。

Anchor
Bookmark152_concept_98EC49FE83064A9ABF6A
Bookmark152_concept_98EC49FE83064A9ABF6A
用途

変数タイプ

 

 

 

グローバル

ルール セット

テンポラリ

外部参照の分離

対応

状況による

未対応

複雑なイベント プロパティの参照の簡素化

未対応

未対応

対応

処理または実行の状態の永続化

状況による

状況による

対応