Como construir
frases |
É possível utilizar os operadores a seguir para combinar
frases simples e criar uma definição abrangente de frases de regras.
Utilize o botão de operador E para ligar duas frases. Os dados acessados devem corresponder
a ambas as condições. Escolha o botão E depois de inserir a primeira frase e antes
de inserir a segunda frase. No exemplo a seguir, a utilização do operador E
especifica as alterações com um status concluído e uma data de evento anterior a 31 de março de 1999:
Change:Status_ID=completed AND Change_History:Event_Date < 03/31/99
Utilize o botão de operador Ou para ligar duas frases. Os dados podem corresponder a cada frase.
Escolha Ou depois de inserir a primeira frase e antes de inserir a segunda frase. No
exemplo a seguir, a utilização do operador Ou especifica as alterações com um status concluído ou
com uma data de evento anterior a 31 de março de 1999:
Change:Status_ID=completed OR Change_History:Event_Date < 03/31/99
Utilize o botão de operador Não antes de inserir uma frase para reverter o status de
verdadeiro ou falso da frase. Por exemplo, a utilização do operador Não na frase a seguir
especifica todas as alterações exceto aquelas com um status concluído:
NOT Change:Status_ID=Completed
que seria equivalente à frase:
Change_Status_ID<>completed
Você pode utilizar o operador Não com os operadores E e Ou. O exemplo a seguir
especifica todas as alterações com um status concluído e uma data de evento maior ou igual
a 31 de março de 1999:
Change:Status_ID=completed AND NOT Change:Event_Date<03/31/99
- Como Utilizar os Parênteses
Utilize os botões de parênteses para inserir parênteses antes, depois ou entre frases e
operadores na lista. Da mesma forma que você utiliza parênteses em expressões matemáticas para controlar
a ordem de cálculo, você utiliza parênteses aqui para controlar a ordem em que as frases
são interpretadas.
No exemplo a seguir, os parênteses são utilizados para definir uma regra que se aplica a dois
grupos de alterações (alterações concluídas com uma data de evento anterior a 31 de março de 1999 e
alterações salvas com uma data de evento posterior a 31 de março de 1999):
(Change:Status_ID=completed AND Change_History:Event_Date<03/31/99) OU
(Change:Status_ID=saved AND Change_History:Event_Date>03/31/99)
|
|
Quando o Tivoli Change Management avalia uma frase
no tempo de execução, ele utiliza a lógica a seguir:
- Se todas as conjunções forem E (não houver conjunções Ou), a rotina de avaliação sairá
e retornará falso como a condição geral assim que a primeira condição for resolvida para
falso. As condições são avaliadas da esquerda para a direita.
- Se todas as conjunções forem Ou (isto é, não houver conjunções E), a rotina de avaliação
sairá e retornará verdadeiro como a condição geral assim que a primeira condição
for resolvida para verdadeiro. As condições são avaliadas da esquerda para a direita.
- Se as conjunções E e Ou forem utilizadas em uma frase, a frase inteira deverá ser
avaliada para determinar a resolução verdadeiro/falso geral.
Ao utilizar essa lógica de avaliação, você pode otimizar a definição de frases de regras que tenham
um impacto direto no desempenho do tempo de execução. Se você tiver uma frase que tenha múltiplas condições
com todas as conjunções E, então, definindo a condição que tem a probabilidade mais alta
de avaliação para falso no lado esquerdo da definição de frases, você salva o tempo de
processamento que seria, ao contrário, utilizado para avaliar as condições adicionais.
Por exemplo, suponha que:
- Uma frase de regra é definida para detectar que um Change:Status_ID está concluído, o Change:Cost é
maior que 100 e o Change:Category é software.
Para otimizar o desempenho desta frase, a avaliação do Status_ID é definida
primeiro porque apenas um número relativamente pequeno de avaliações (comparado a todas
as transações de alteração) tem um Status_ID de concluído.
- Dependendo das condições na sua localização, as duas condições restantes poderiam ser
definidas em qualquer ordem, mas suponha que a maioria dos custos de alteração são menores que
100 e que a maioria das alterações são para o software de categoria. Com base nestas
suposições, a definição de regra ótima é:
Change:Status_ID = completed AND Change:Cost > 100 AND Change: Category = software
No entanto, se a frase de regra for definida para detectar qualquer uma das condições acima, então,
o pedido das condições será revertido. Ao definir, primeiro na frase de regra, a condição que
tem a maior semelhança de avaliação para verdadeiro, você tira vantagem da lógica de
saída anterior.
Change:Category = software OR Change:Cost > 100 OR Change:Status_ID = completed
|