Spec-Zone.ru › Ada 2022
Руководство по Ada (Ada 2022)

М.1 Конкретные требования к документации

В дополнение к характеристикам, определённым реализацией, каждая реализация Ada должна документировать различные свойства реализации:
  • Поведение реализации в ситуациях, определяемых реализацией, должно быть задокументировано — см. М.2 для списка. См. 1.1.3(19).
  • Множество значений, которые процедура пользовательского выделения памяти (Allocate) должна принимать для параметра Выравнивание (Alignment). Как выбирается стандартный пул памяти и как память выделяется стандартными пулами памяти. См. 13.11(22/5).
  • Алгоритм, используемый для генерации случайных чисел, включая описание его периода. См. A.5.2(44).
  • Минимальный интервал времени между вызовами процедуры Reset, зависящей от времени, который гарантированно инициирует различные последовательности случайных чисел. См. A.5.2(45).
  • Условия, при которых Io_Exceptions.Name_Error, Io_Exceptions.Use_Error и Io_Exceptions.Device_Error распространяются. См. A.13(15).
  • Поведение пакета Environment_Variables при изменении переменных окружения внешними механизмами. См. A.17(30/2).
  • Накладные расходы на вызов подпрограмм на машинном коде или встроенных подпрограмм. См. C.1(6).
  • Типы и атрибуты, используемые в вставках машинного кода. См. C.1(7).
  • Конвенции вызова подпрограмм для всех поддерживаемых идентификаторов конвенций. См. C.1(8/3).
  • Сопоставление между Link_Name или указателем Ada и внешним именем ссылки. См. C.1(9).
  • Обработка прерываний. См. C.3(22).
  • Метрики для обработчиков прерываний. См. C.3.1(16).
  • Если политика Ceiling_Locking активна, то значение по умолчанию приоритета потолка для защищённого объекта, который указывает аспект обработчика прерываний. См. C.3.2(24/5).
  • Любые обстоятельства, при которых выполнение предварительно обработанного пакета приводит к выполнению кода. См. C.4(12).
  • Возможно ли перезапустить партицию без перезагрузки. См. C.4(13).
  • Эффект вызова Current_Task из тела входа или обработчика прерываний. См. C.7.1(19).
  • Для пакета Task_Attributes, ограничения на количество и размер атрибутов задач и как настроить любые ограничения. См. C.7.2(19).
  • Метрики для пакета Task_Attributes. См. C.7.2(27).
  • Подробности конфигурации, используемой для генерации значений всех метрик. См. D(2).
  • Максимальное обратное инвертирование приоритета задачи пользователя, которое может быть вызвано реализацией. См. D.2.3(12/2).
  • Время, в течение которого задача может быть прервана для обработки от имени задач с более низким приоритетом. См. D.2.3(13/2).
  • Поддерживаемые значения кванта для планирования по принципу круговой очереди. См. D.2.5(16/2).
  • Точность определения исчерпания бюджета задачи при планировании по принципу круговой очереди. См. D.2.5(17/2).
  • Любые условия, которые приводят к задержке завершения установления срока выполнения задачи на многопроцессорной системе. См. D.2.6(32/2).
  • Любые условия, которые приводят к задержке завершения установки приоритета задачи на многопроцессорной системе. См. D.5.1(12.1/2).
  • Метрики для Set_Priority. См. D.5.1(14).
  • Метрики для установки приоритета защищённого объекта. См. D.5.2(10).
  • На многопроцессорной системе любые условия, которые приводят к задержке завершения прерванного конструкта позже, чем указано для однопроцессорной системы. См. D.6(3).
  • Метрики для прерываний. См. D.6(8).
  • Значения Time_First, Time_Last, Time_Span_First, Time_Span_Last, Time_Span_Unit и Tick для пакета Real_Time. См. D.8(33).
  • Свойства базового временного масштаба, используемого в пакете Real_Time. См. D.8(34).
  • Любая синхронизация пакета Real_Time со внешними временными ссылками. См. D.8(35).
  • Любые аспекты внешней среды, которые могут вмешиваться в работу пакета Real_Time. См. D.8(36/5).
  • Метрики для пакета Real_Time. См. D.8(45).
  • Минимальное значение выражения задержки delay_relative_statement, которое приводит к фактической блокировке задачи. См. D.9(7).
  • Минимальное различие между значением выражения задержки delay_until_statement и значением Real_Time.Clock, которое приводит к фактической блокировке задачи. См. D.9(8).
  • Метрики для инструкций задержки. См. D.9(13).
  • Верхняя граница длительности блокировки прерываний, вызванной реализацией. См. D.12(5).
  • Метрики для защищённых объектов без входов. См. D.12(12).
  • Значения CPU_Time_First, CPU_Time_Last, CPU_Time_Unit и CPU_Tick пакета Execution_Time. См. D.14(21/2).
  • Свойства механизма, используемого для реализации пакета Execution_Time, включая значения констант, определённых в пакете. См. D.14(22/2).
  • Метрики для времени выполнения. См. D.14(27).
  • Метрики для событий времени. См. D.15(24).
  • Процессор(ы), на котором обрабатывается прерывание таймера; процессоры, на которых можно обработать каждый Interrupt_Id. См. D.16.1(32).
  • Вызывается ли RPC-приёмник из конкурирующих задач и, если да, то количество таких задач. См. E.5(25).
  • Любые методы, используемые для уменьшения ошибок отмены в Numerics.Generic_Real_Arrays, должны быть задокументированы. См. G.3.1(86/2).
  • Любые методы, используемые для уменьшения ошибок отмены в Numerics.Generic_Complex_Arrays, должны быть задокументированы. См. G.3.2(155/2).
  • Если применяется pragma Normalize_Scalars, то неявные начальные значения скалярных подтипов должны быть задокументированы. Такое значение должно быть недопустимым представлением, когда это возможно; любые случаи, когда это не так, должны быть задокументированы. См. H.1(5/2).
  • Диапазон эффектов для каждой ограниченной ошибки и каждого неопределённого эффекта. Если эффекты данного ошибочного конструкта ограничены, то ограничения должны быть задокументированы. См. H.2(1/5).
  • Для каждой точки проверки должна быть предоставлена карта соответствия между каждым проверяемым объектом и машинными ресурсами, где можно получить значение объекта. См. H.3.2(8).
  • Если указан pragma Restrictions(No_Exceptions), то эффекты всех конструкций, где выполняются проверку, определённые языком, должны быть задокументированы. См. H.4(25).
  • Прерывания, к которым может быть прикреплён ввод задачи. См. J.7.1(12).
  • Тип вызова ввода, вызванный для ввода прерывания. См. J.7.1(13).


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API