Spec-Zone.ru › Ada 2005
Справочник Ada 2005

E.2 Категоризация блоков библиотек

Блоки библиотек могут быть классифицированы в соответствии с ролью, которую они играют в распределенной программе. Определённые ограничения связаны с каждой категорией, чтобы обеспечить, что семантика распределённой программы остаётся близкой к семантике нераспределённой программы.
Директива категоризации – это директива блока библиотеки (см. 10.1.5), которая ограничивает объявления, дочерние блоки или семантические зависимости блока библиотеки, к которому она применяется. Категоризированный блок библиотеки – это блок библиотеки, к которому применяется директива категоризации.
Директивы Shared_Passive, Remote_Types и Remote_Call_Interface являются директивами категоризации. Кроме того, для целей этого приложения директива Pure (см. 10.2.1) рассматривается как директива категоризации.
Пакет или обобщённый пакет библиотеки называется пассивным общим блоком библиотеки, если к нему применяется директива Shared_Passive. Пакет или обобщённый пакет библиотеки называется блоком библиотеки удалённых типов, если к нему применяется директива Remote_Types. Блок библиотеки называется интерфейсом удалённого вызова, если к нему применяется директива Remote_Call_Interface. Обычный блок библиотеки – это блок, к которому не применяется ни одна директива категоризации.
Различные категории блоков библиотек и связанные с ними ограничения описаны в этом пункте и его подпунктах. Категории взаимосвязаны иерархически, так что блоки библиотеки одной категории могут семантически зависеть только от блоков той же категории или более ранней категории, за исключением того, что тело блока библиотеки удалённых типов или удалённого интерфейса вызова не ограничено.
Общая иерархия (включая объявленный чистый):
Объявленный Чистый

Может зависеть только от других объявленных чистых блоков библиотек;
Пассивный Общий

Может зависеть только от других пассивных общих или объявленных чистых блоков библиотек;
Удалённые Типы
Объявление блока библиотеки может зависеть только от других блоков библиотек удалённых типов или от одного из вышеперечисленных; тело блока библиотеки не ограничено;
Интерфейс Удалённого Вызова

Объявление блока библиотеки может зависеть только от других интерфейсов удалённого вызова или от одного из вышеперечисленных; тело блока библиотеки не ограничено;
Обычный
Без ограничений.
Объявленные чистые и пассивные общие блоки библиотек предварительно обрабатываются. Объявление блока библиотеки удалённых типов или удалённого интерфейса вызова должно быть предварительно обрабатываемым.

Требования к реализации

Этот абзац был удалён.

Разрешения на реализацию

Реализации разрешается определять другие директивы категоризации.


Spec-Zone.ru

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