Правила синхронизации проектов в пакете проектов
При расчете проекты будут синхронизироваться между собой в соответствии со следующими
правилами:
- Обмен данными между расчетным ядром проекта и его графической оболочкой, а также базой данных, общей для всех проектов, осуществляется на каждом шаге синхронизации.
- Шаги интегрирования и синхронизации задаются отдельно для каждого проекта и никак не влияют друг на друга. Каждый проект может сделать произвольное количество расчетных шагов между шагами синхронизации, но обязан выйти на заданный шаг синхронизации. В общем случае каждый проект производит синхронизацию в свой момент модельного времени.
- На каждом шаге синхронизации вычисляется текущее время пакета как наименьшее значение из всех текущих модельных времен проектов. Если модельное время проекта меньше или равно текущему времени пакета, то проект начинает очередной цикл расчета, если больше – пропускает цикл и ожидает проекты с меньшим модельным временем. Если проект пропускал цикл расчета, ожидая проекты с меньшим модельным временем, то на этом шаге синхронизации его модельное время не учитывается при вычислении текущего времени пакета.
- Каждый проект, не пропускающий цикл расчета, совершает расчет до своего будущего (целевого) времени синхронизации проекта, которое равно сумме текущего времени пакета и шага синхронизации данного проекта.
- Расчет пакета завершается, когда хотя бы один из проектов достигает своего конечного времени расчета и завершает свой расчет.