Выражения в
Rational Focal Point
обрабатываются в асинхронном режиме с помощью очереди выражений. Любой узел может получить
выражения из очереди и обработать их.
Прим.: Для просмотра очереди выражений пользователь должен быть глобальным администратором или иметь глобальное право Бизнес-правила.
Выражения могут вычисляться каждый раз при изменении связанных атрибутов. В ходе вычисления
выражения полученное значение присваивается атрибуту, для которого оно было
указано. Отдельные бизнес-правила могут дополнительно изменять значения других атрибутов. Выражения
могут быть связаны цепочкой зависимости.
Пример 1: В этом примере атрибут C зависит от
атрибута B, который в свою очередь зависит от атрибута A. Присвоение атрибуту A значения 2 вызывает
вычисление выражения, указанного для атрибута B. Выражение атрибута B добавляется в очередь. При
вычислении выражения
A+1 атрибуту B присваивается значение
3; при этом активируется и добавляется в очередь выражение, указанное для атрибута
C. Цепочка завершается после вычисления выражения атрибута C.
| Атрибут |
Выражение |
Значение |
| A |
(нет) |
1 |
| B |
A+1 |
2 |
| C |
B+1 |
3 |
Пример 2: Изменение значения атрибута A
вызывает добавление 10000 выражений в очередь выражений.
Это может привести к значительному снижению производительности
Rational Focal Point
в зависимости от сложности выражений.
Прим.: Добавление выражений в очередь со скоростью,
превышающей скорость их обработки, может привести к бесконечному росту очереди. В результате может
значительно увеличиться время ожидания применения изменений.
| Атрибут |
Выражение |
Значение |
| A |
(нет) |
1 |
| B1 |
A+1 |
2 |
| B2 |
A+1 |
2 |
| B3 |
A+1 |
2 |
| - |
A+1 |
2 |
| - |
A+1 |
2 |
| B10000 |
A+1 |
2 |