Análise de completude

O mecanismo de análise de integridade analisa a parte da condição de cada regra em um conjunto de regras e detecta se há casos em que nenhuma regra se aplica.

A análise de completude é um mecanismo para verificar se há regras em falta a partir de um conjunto de regras.

Uma ruleset é considerada completa se para qualquer caso possível pelo menos uma regra se aplica.

Você executa análise de completude para os seguintes propósitos:
  • Verifique se uma ruleset está completa.
  • Obtenha um relatório das regras em falta.
  • Acrescente as regras que faltam para a régua.

Para obter mais informações, consulte Analisando um projeto de regra

Mecanismo de completude

O mecanismo de completude analisa a parte da condição de cada regra em uma ruleset e detecta se há casos em que nenhuma regra se aplica.

Para verificar se uma ruleset está completa, o mecanismo de completude procede da seguinte forma para identificar os casos que estão ausentes:

  • Se o projeto de regra contém um fluxo de regra, o mecanismo de completude analisa a tarefa de regra de regra por tarefa, para verificar se cada tarefa de regra está completa.

    Por exemplo, se uma regra está ausente em várias tarefas de regras, o relatório lista as tarefas de regra onde a regra está ausente.

  • Se o projeto de regra não contiver nenhum fluxo de regra, o mecanismo de completude leva em conta todas as regras do projeto.

    Nota:

    Um ruleflow deve conter pelo menos uma tarefa de regra.

Exemplo de análise de completude

No exemplo a seguir, a ruleset é composta por cinco regras que definem the customer e que configuram a categoria de the customer a Silver, Platinum ou Gold.

Regra 1

se 
	o valor do cliente é pelo menos 500 e o valor do cliente é menor que 1000
então
	set the category of the customer to "Silver";

Regra 2

se 
	a idade do cliente é pelo menos 65 e o valor do cliente é menor que 500
então 
	set the category of the customer to "Platinum";

Regra 3

se 
	o valor do cliente é pelo menos 1000 e o valor do cliente é menor que 1500
então
	set the category of the customer to "Gold";

Regra 4

se 
	o valor do cliente é pelo menos 1500
então
	set the category of the customer to "Platinum";

Regra 5

se 
	o valor do cliente é menor que 500 e a idade do cliente é menor que 50
então
	set the category of the customer to "Platinum";

Análise de completude da ruleset detecta que nenhuma regra aplicada no caso em que o cliente esteja entre 50 e 65 e tenha um valor inferior a 500.

Esse caso ausente é apresentado como um esqueleto de regras que você pode usar para criar a regra ausente:

definições 
     set  'Customer1'  to  a customer  ; 
 se 
     o valor de Customer1 é menor que 500  
    e a idade de Customer1 é menor que 65  
    e a idade de Customer1 é de pelo menos 50  
 então 

<action>

Regras em falta

Se a análise de completude mostrar que sua ruleset não está completa, ele propõe regras adicionais para completar a ruleset. Essas novas regras são regras de esqueleto. É preciso editar a regra ausente para definir a ação a ser feita.

O mecanismo de completude analisa as condições de cada regra na régua para definir o conjunto de condições para a regra proposta. Se as regras corresponderam a um objeto Customer mas testem atributos diferentes, por exemplo age, valuee shopping cart, o conjunto de condições na regra proposta leva em consideração os atributos testados nas regras analisadas. Portanto, a parte de condição na regra sugerida pode parecer complexa e incluir muitas instruções de condição. Ela pode ser simplificada para refletir uma forma mais natural de expressar as condições de regra. A análise é baseada nos objetos utilizados nas regras existentes e que combinam com a memória de trabalho. Para obter mais informações, consulte Ferramentas de depuração Ruelset.

Observação: Se você quiser que a análise continue depois que o limite de regras ausentes for atingido, clique em Continuar análise de regras no relatório.

No exemplo a seguir, a regra sugerida testa os atributos value e age . Você pode simplificar a regra removendo qualquer condição.

Exemplo

Se a análise de integralidade propõe a seguinte regra:

definições 
     set  'Customer1'  to  a customer  ; 
 se 
     o valor de Customer1 é menor que 500  
    e a idade de Customer1 é menor que 65  
    e a idade de Customer1 é de pelo menos 50  
 então 

<action>

você pode remover a condição na idade do cliente, e manter apenas a condição no valor:

definições 
     set  'Customer1'  to  a customer  ; 
 se 
     o valor de Customer1 é menor que 500  
 então 

<action>

Se a ruleset contém apenas regras de ação, as regras de falta propostas são verbalizadas. No entanto, se a ruleset incluir regras técnicas ou tabelas de decisão, ou se houver pouca informação sobre verbalização, as regras em falta são apresentadas em IRL.

Nota:

O mecanismo de completude pode gerar regras que se sobrepõem. Você pode modificar as condições dessas regras.

Desempenho

O desempenho da análise de completude depende de vários fatores como o número de regras no conjunto de regras, o número de tarefas de regras e o mais importante o número de regras em falta.

Para melhorar o desempenho e reduzir o tempo de execução da análise de completude, defina um limite para o número de regras em falta para propor. Por exemplo, limite os resultados a dez regras em falta. Uma vez que você integrou as dez primeiras regras faltas, execute a análise de completude novamente para identificar outras regras que faltam.