LRM Ada 2005 заявляет, что «реальное время определяется как физическое время, наблюдаемое во внешней среде . [ выделение добавлено - MC]
«В языке не указано, синхронизируются ли значения времени с каким-либо эталоном времени. Например, E может соответствовать времени инициализации системы или может соответствовать эпохе некоторого стандарта времени». (* 1 007 * Г.8 [18-19])
Как говорится, Ada не требует, чтобы "E", начало эпохи , служащее "нулевым временем" для значений времени реального времени, соответствовало какой-либо конкретной начальной точке; это оставлено на усмотрение разработчика компилятора.
Какие бы конкретные числовые значения вы не наблюдали для экземпляров Time, которые вы видите, будь то вблизи или далеко от нуля, положительного или отрицательного, зависят исключительно от выбора E компилятором, как он представляет значения времени и как он соответственно реализует возможности в реальном времени.
Поэтому вам следует избегать написания кода, который зависит от конкретных, узнаваемых значений времени, а также кода, который требует, чтобы значения времени были тесно управляемыми.
Значения Real_Time.Time следует считать абстрактными величинами.