<На страницу назад | На страницу вперед>

А.5.6 Использование переменных разных видов
Обратите внимание: сам язык детального описания IDEF3 совершенно не типизирован; в частности, существует только один вид переменных. Однако, в неформальных примерах, приведенных в разделе A.4 и в разделе 3, используются различные переменные разных видов, возможные значения которых ограничиваются разными семантическими категориями, например, UOB, ситуации, инфоны и др. Эту практику можно рассматривать просто как удобный способ использования альтернативного обозначения, поскольку любое предложение на так называемом многовидовом языке с с использованием множества разных видов ограниченных переменных можно преобразовать непосредственно в предложение на одновидовом языке, например, на языке детального описания. Вся хитрость заключается в том, чтобы использовать термы одновидового языка для обозначения семантических категорий, которыми ограничиваются разделенные по видам переменные в многовидовом языке. Предположим, например, что "?sit" представляет переменную определенного вида, используемую только для ситуаций, а "?ind" представляет переменную определенного вида, используемую только для индивидов. Тогда в предложении "(forall (?sit ?ind : (FOO ?sit)) (BAR ?ind ?sit)))" говорится о том, что для любой ситуации s и индивида b, если s представляет FOO, то b переносит BAR в s. Однако, ясно, что это можно выразить при использовании точного одновидового языка детального описания следующим образом: "(forall (?x ?y : (situation ?x) (individual ?y) (FOO ?x)) (BAR ?y ?x))". Следовательно, использование переменных, разделенных по видам, совершенно безвредно и может только приветствоваться, поскольку их применение, как правило, существенно сокращает предложение, написанное при использовании обозначения одного вида. Точная оценка связи между многовидовыми и одновидовыми языками приводится в работе (Enderton, 1972), глава 4, ╖ 4.3. В любом случае, какой бы язык ни использовался (одновидовой или многовидовой), практически целесообразно выбирать переменные, отражающие соответствующие целевые семантические категории, например, "?ind", "?rel", "?f", "?sit", "?inf", "?uob", "?coe" и т.д. ( Хотя в данном документе мы придерживаемся этой практики в неформальных обсуждениях, это правило не всегда соблюдается в приведенном выше определении формализации, чтобы убедить читателя в том, что сам язык детального описания является одновидовым и что разграничение типов вводится и используется аксиоматически).

<На страницу назад | На страницу вперед>