Le espressioni in Rational Focal Point sono valutate in maniera asincrona mediante una coda di espressioni. Qualsiasi nodo può utilizzare le espressioni dalla coda e valutarle.
Nota: per visualizzare la coda di espressioni, è necessario essere un amministratore globale o disporre
dell'autorizzazione globale Regole di business.
Le espressioni possono essere modificate su determinati attributi in modo che vengano valutate ogni volta che l'attributo cambia. Quando viene valutata un'espressione, il valore viene di solito impostato sull'attributo su cui viene immessa l'espressione. Alcune regole di business possono modificare i valori di altri attributi. Pertanto, è possibile avere una catena di dipendenza tra le espressioni.
Esempio 1: in questo esempio, l'attributo C dipende da
B e l'attributo B dipende da A. Una modifica all'attributo A nel valore
2 avvia una valutazione dell'espressione sull'attributo B. L'espressione dell'attributo B è inserita sulla coda dell'espressione. Alla fine, quando l'espressione
A+1 viene valutata e il valore
3 viene immesso nel valore dell'attributo B, l'espressione per l'attributo
C viene richiamata ed inserita sulla coda. La catena sarà completa quando l'espressione dell'attributo C viene valutato ed immesso.
| Attributo |
Espressione |
Valore |
| A |
(nessuno) |
1 |
| B |
A+1 |
2 |
| C |
B+1 |
3 |
Esempio 2: una modifica al valore dell'attributo A inserirà, in una sola operazione, 10000 espressioni sulla coda di espressioni.
Ciò può avere un impatto significativo sulle prestazioni di
Rational Focal Point a seconda della complessità delle espressioni.
Nota: se le espressioni sono aggiunte alla coda a una velocità maggiore di quella con cui sono valutate, la coda crescerà indefinitamente. Ciò può portare a lunghi tempi di attesa per la propagazione delle modifiche.
| Attributo |
Espressione |
Valore |
| A |
(nessuno) |
1 |
| B1 |
A+1 |
2 |
| B2 |
A+1 |
2 |
| B3 |
A+1 |
2 |
| - |
A+1 |
2 |
| - |
A+1 |
2 |
| B10000 |
A+1 |
2 |