As expressões no Rational Focal Point são avaliadas assincronamente usando uma fila de expressões. Qualquer nó pode utilizar expressões a partir da fila e avaliá-las.
Nota: Para visualizar a fila de expressões, é necessário ser um administrador global ou ter a permissão global Regras de Negócios.
As expressões podem atender as mudanças em determinados atributos, para que sejam avaliadas sempre que o atributo for alterado. Quando uma expressão for avaliada, o valor será configurado normalmente no atributo no qual a expressão está inserida. Algumas regras de negócios também podem alterar os valores de outros atributos. Poderá haver uma cadeia de dependências entre expressões.
Exemplo 1: Neste exemplo, o atributo C depende do B e o atributo B depende do A. Uma mudança no atributo A para o valor 2, acionará uma avaliação da expressão no atributo B. A expressão do atributo B é colocada na fila de expressões. Eventualmente, quando a expressão
A+1 for avaliada e o valor 3 for inserido no valor do atributo B, a expressão do atributo C será acionada e colocada na fila. A cadeia será concluída quando a expressão do atributo C for avaliada e inserida.
| Atributo |
Expressão |
Valor |
| A |
(nenhum) |
1 |
| B |
A+1 |
2 |
| C |
B+1 |
3 |
Exemplo 2: Uma mudança no valor do atributo A colocará em uma operação 10.000 expressões na fila de expressões.
Isto pode ter um impacto significativo no desempenho do
Rational Focal Point com base na complexidade das expressões.
Nota: Se as expressões forem incluídas na fila em uma taxa superior do que elas forem avaliadas, a fila aumentará indefinidamente. Isto poderá levar a um longo tempo de espera até que as mudanças sejam propagadas.
| Atributo |
Expressão |
Valor |
| A |
(nenhum) |
1 |
| B1 |
A+1 |
2 |
| B2 |
A+1 |
2 |
| B3 |
A+1 |
2 |
| - |
A+1 |
2 |
| - |
A+1 |
2 |
| B10000 |
A+1 |
2 |