SWMM - Reglas de control - Formato de las reglas


Cada regla de control es una serie de declaraciones de forma:

 RULE  ID_regla
 IF  condición_1
 AND  condición_2
 OR  condición_3
 AND  condición_4
etc.
 THEN  acción_1
 AND  acción_2
etc.
 ELSE  acción_3
 AND  acción_4
etc.
 PRIORITY valor

Donde las palabras clave se muestran en negrita y rule_id es una etiqueta ID asignada a la regla, condition_n es una cláusula de condición, action_n es una cláusula de acción y value es un valor de prioridad (por ejemplo, un número del 1 al 5).

Cada cláusula de regla debe comenzar con una de las palabras clave en negrita mostradas anteriormente y sólo se permite una cláusula por línea.

Sólo las partes RULE, IF y THEN de una regla son necesarias; las partes ELSE y PRIORITY son opcionales.

Se permiten líneas en blanco entre cláusulas y cualquier texto a la derecha de un punto y coma se considera un comentario.

Cuando se mezclan cláusulas AND y OR, el operador OR tiene prioridad sobre AND, es decir

IF A OR B AND C

es equivalente a:

IF (A OR B) IF C

Si la interpretación debe ser:

SI A O (B Y C)

Así que esto se puede expresar utilizando dos reglas como en:

 RULE A1 
 IF  A
 THEN ...

 RULE A2 
 IF  B Y  C
 THEN ...

El valor de PRIORIDAD se utiliza para determinar qué regla se aplica cuando dos o más reglas requieren que se realicen acciones conflictivas en un enlace. Una regla en conflicto con un valor de prioridad superior tiene prioridad sobre otra con un valor inferior (por ejemplo, PRIORIDAD 5 supera a PRIORIDAD 1). Una regla sin valor de prioridad siempre tiene menor prioridad que otra con valor. Para dos reglas con el mismo valor de prioridad, la regla que aparece primero recibe la prioridad más alta.

Algunas observaciones sobre el editor de cláusulas SOLIDOS:


Véase también: Normas de control SWMM