Откройте актуальную версию документа прямо сейчас
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение Д
(справочное)
Подходы на основе бинарных отношений
Д.1 Суть подходов
Общее во всех подходах к бинарной модели - это представление "элементов" информации посредством реализаций бинарных ассоциаций, т.е. предложений, в которых участвуют только два терма.
Общая особенность подходов бинарных отношений - это использование графической системы записей для иллюстрации частей концептуальной схемы и информационной базы.
Информационная база - это описание части проблемной области. Проблемная область в каждый момент времени представляет собой множество реализаций бинарных ассоциаций и реализаций сущностей. Состав и семантика проблемной области должны моделироваться способом, согласующимся с существующими высказываниями об этих реализациях.
Процесс моделирования проходит в две фазы: с одной стороны, имеется проблемная область, с другой стороны - информационная база и концептуальная схема.
Разработчик модели или аналитик выполняет три задачи: он дает имя или устанавливает соглашения об именовании для сущности, которую он наблюдает в проблемной области; он квалифицирует ее (что также является своего рода именованием) и готовит концептуальную схему, которая будет описывать эту квалификацию, а также позволит заполнить ее именем или ссылкой на наблюдаемую сущность.
В подходах на основе бинарных отношений отправным моментом является то, что основной функцией концептуальной схемы является введение классификации и порядка в описание проблемной области, а не просто исчерпывающее описание на уровне реализаций. Моделирование проблемной области на уровне реализаций может считаться достаточным для некоторых других подходов, так как оно может, в принципе, достичь любой требуемой степени полноты. Но этому методу моделирования не достает многих прагматических и практически полезных свойств, которые, например, являются следствием понятия типа.
Подходы на основе бинарных отношений, как они здесь представлены, полностью реализуют различие между лексическими и нелексическими объектами, как способ избежать смешения объектов и их имен, что часто имеет место при описании информации и при обменах информацией.
Эти подходы сами по себе не рассматривают язык, на котором описывается проблемная область, но подчеркивают его существование и необходимость в нем. Предполагается как постулат, что существует семантическая эквивалентность между:
- высказываниями о проблемной области;
- предложениями, описывающими их в концептуальной схеме и информационной базе (не обязательно в соответствии один к одному).
Реализуя цели концептуальной схемы, можно сделать к ним следующие замечания.
Подходы на основе бинарных отношений учитывают использование формального языка для полного описания концептуальной схемы, а также графического формализма или системы обозначений, охватывающей основные аспекты концептуальной схемы. Использование основных понятий, таких как сущность, имя-сущности, бинарное отношение и ограничение, дают возможность полного описания как статических, так и динамических правил и ограничений концептуальной схемы и информационной базы. Фундаментальное различие между объектами и их именами намного облегчает понимание и обучение. Это замечание следует учитывать при обеспечении общей основы для понимания общего поведения проблемной области.
В подходах на основе бинарных отношений основные понятия являются атомарными. Вследствие этого любое данное ограничение формулируется явно. Поэтому изменения в проблемной области можно отразить посредством добавления или удаления (но не изменения) типов бинарных отношений, сущностей или имен сущностей, или посредством изменения ограничений. Это приводит к большей стабильности по сравнению с подходами, где некоторые ограничения "упаковываются" в "базовые" понятия. Это замечание следует учитывать при манипулировании информацией о проблемной области и определении допустимых изменений в ней.
Концептуальная схема должна содержать возможно более глубокую структуру описания проблемной области с помощью семантически несводимых элементов. Различие между объектами и их именами, приводимое в подходах на основе бинарных отношений, обеспечивает глубокий структурный аспект, тогда как бинарные отношения и аппарат подтипов обеспечивают семантическую несводимость. Это замечание следует учитывать при обеспечении основы для интерпретации внешних и внутренних синтаксических форм, представляющих информацию о проблемной области.
В подходах на основе бинарных отношений максимальная степень стабильности достигается при использовании семантически несводимых конструкций и конструкций, свободных от дополнительных ограничений. Это имеет место в подходах на основе бинарных отношений. Это замечание следует учитывать при обеспечении основы для взаимного отображения внешних и внутренних схем.
Д.2 Фундаментальные понятия
Признавая различия между лексическими и нелексическими объектами и их разное назначение, необходимо ввести понятие типа. Действительно, один или несколько лексических объектов определяют один или несколько объектов, соответствующих сущностям в проблемной области.
Формально имеем:
а) лингвистические объекты;
1) лексические, соответствующие отдельным "произносимым" сущностям,
2) нелексические, соответствующие "непроизносимым" сущностям. Нелексические объекты определяют сущности посредством лексических объектов;
б) реализация таких бинарных отношений между двумя лингвистическими объектами:
1) идея - между двумя нелексическими объектами,
2) мостик - между лексическим и нелексическим объектами,
3) фраза - между двумя лексическими объектами;
в) типы лингвистических объектов;
1) лексические (LOT),
2) нелексические (NOLOT).
Такая классификация на типы - существенная часть процесса моделирования. Она зависит обычно от синтаксиса и семантики перевода высказываний о проблемной области на язык информационной системы. Она зависит также от понимания разработчиками модели слабых мест, абстракций, интерпретаций и соглашений об именовании, появляющихся в процессе этого перевода.
Этим типам лингвистических объектов соответствуют типы идей, мостиков и фраз;
г) типы бинарных отношений:
1) идея - передающие "реальную" информацию между нелексическими объектами,
2) мостик - связывающие именующие лексические объекты с именуемыми нелексическими объектами,
3) фраз - обозначающие связи только между лексическими объектами.
При наличии типов лингвистических объектов целесообразно классифицировать их далее на подтипы, основываясь на различиях между разделяемыми и неразделяемыми типами бинарных отношений на типах лингвистических объектов с одной стороны и на чисто "концептуальной" классификации (будущего) множества реализаций этих типов лингвистических объектов с другой. Между лексическим и нелексическим типами объектов отношение подтипа по очевидным причинам не разрешается. Подтипы могут быть пересекающимися;
д) подтипы:
1) нелексические - которые порождают подмножества нелексических типов объектов,
2) лексические - которые порождают подмножества лексических типов объектов.
Принимая во внимание, что некоторые высказывания проблемной области или, более точно, некоторые необходимые высказывания несут информацию о самих высказываниях и поэтому переводятся в предикаты о лингвистических объектах и экземпляры бинарных отношений, мы должны выразить их в статических и динамических ограничениях (на уровне типов). Так как существование этих высказываний, возможно, повлияло на форму проблемной области, такие ограничения также будут воздействовать на процесс моделирования;
е) ограничения - статические и динамические.
Все операторы, с точки зрения концептуальной схемы, действуют на уровне "реализации" или "экземпляра". Аксиомой, вводимой для того, чтобы эти операторы имели смысл, является следующее утверждение:
- в каждом состоянии информационной базы каждый экземпляр лингвистического объекта должен быть реализацией какого-либо типа лингвистического объекта, каждый экземпляр бинарного отношения является реализацией некоторого типа бинарного отношения, и для каждого лингвистического объекта существует способ уникальной ссылки на него посредством одного или нескольких лексических объектов.
Операторами, определенными для этого примера подходов на основе бинарных отношений, являются:
ж) операторы:
1) list (вывести) (...экземпляр бинарного отношения),
2) add (добавить) (...экземпляр бинарного отношения),
з) delete (удалить) (...экземпляр бинарного отношения),
4) qualify (квалифицировать) (...лингвистический объект, как относящийся к некоторому подтипу),
5) unqualify (деквалифицировать) (...лингвистический объект из подтипа),
6) equate (приравнять) (...идентифицировать, что два различных лингвистических объекта означают или ссылаются на один и тот же объект),
7) together do (совместно выполнить) (...выполнять последовательность операторов, но принимать решение о недопустимости на основе всей последовательности в целом).
Семантику этих элементарных операторов можно непосредственно интерпретировать в терминах "выборка", "вставка", "удаление" и "допустимое действие". То же или подобные им операторы существуют в большинстве подходов. Но операторы qualify, unqualify и equate типичны именно для нашего примера подходов на основе бинарных отношений. Операторы qualify и unqualify появляются в связи с понятием подтипов.
Оператор qualify принимает ссылку на лингвистический объект и преобразует ее в ссылку на лингвистический объект в одном из подтипов типа лингвистического объекта, содержащего данный лингвистический объект.
Оператор unqualify делает противоположное; он исключает возможность использования ссылки для лингвистических объектов соответствующего подтипа.
Оператор "equate" - особый, так как он является следствием реализации различия между именами и объектами.
Оператор equate устанавливает, что два различных терма ссылаются на одну и ту же сущность в проблемной области и требуют "нелексической" идентификации, сохраняя при этом все существующие соглашения о ее именовании.
Д.3 Грамматика и семантика
Д.3.1 Язык и его связь с проблемной областью
Существуют некоторые общие фундаментальные понятия, характеризующие грамматику любого языка. К ним относятся:
ТЕРМ
Лингвистический объект, ссылающийся на сущность.
ПРЕДЛОЖЕНИЕ
Лингвистический объект, представляющий определенное высказывание.
ФУНКТОР
Лингвистический объект, который определяет функцию от других лингвистических объектов, имеющую в качестве аргументов (вход) список лингвистических объектов и выдающую в качестве значения (выход) единственный уникально определенный лингвистический объект.
Функторы, используемые в подходах на основе бинарных отношений, - это такие, как предикат, оператор, квантор и т.д.
Можно дать следующую интерпретацию этих понятий на языке, используемом для определения концептуальной схемы в подходах на основе бинарных отношений.
ТЕРМЫ
ЭЛЕМЕНТАРНЫЕ ТЕРМЫ - имена типов лингвистических объектов, имена типов бинарных отношений, имена ролей, индивидуальные имена.
ОПИСАТЕЛЬНЫЕ ТЕРМЫ - ссылки, связывающие один или более лексических объектов (элементарных термов) с нелексическим объектом,
ПРЕДЛОЖЕНИЯ
ЭЛЕМЕНТАРНЫЕ ПРЕДЛОЖЕНИЯ - объявления типов лингвистических объектов, типов бинарных отношений.
ФУНКТОРНЫЕ ПРЕДЛОЖЕНИЯ - предложения, полученные посредством применения функторов (главным образом, предикатов) к ТЕРМАМ и ЭЛЕМЕНТАРНЫМ ПРЕДЛОЖЕНИЯМ и используемые для определения ограничений.
Элементарные предложения (объявления) строятся, главным образом, при помощи примитивного предиката "является" в некоторой эквивалентной форме (а именно - "добавить" экземпляр "мостика"). Этот предикат связывает терм на уровне концептуальной схемы с термом на метаконцептуальном уровне, содержащем такие имена, как "ТИП ОБЪЕКТА" и "ТИП ИДЕИ". Другими примитивными предикатами в модели являются "является-подмножеством", "имеет-роли" и "связывает-с", которые используются в объявлении ролей для типов идеи, мостика и фразы.
На практике можно еще найти полезные примитивные (или полупримитивные) предопределенные предикаты, описывающие логическое представление для типов лексических объектов, но здесь они не рассматриваются, чтобы не отвлекаться от существенных вопросов.
Д.3.2 Формальный синтаксис
(R1) концептуальная схема |
= "begin" "CONCEPTUAL-SCHEMA called" имя-схемы ";" объявление-nolot {объявление-nolot} объявление-lot {объявление-lot} {объявление-подтипа} {объявление-идеи} объявление-мостика {объявление-мостика} {объявление-фразы} {объявление-ограничения} "end". |
|
(R2) объявление-nolot |
= "NOLOT called" (имя-nolot | список-имен-nolot). |
|
(R3) объявление-lot |
= "LOT called" (имя-lot | список-имен-lot). |
|
(R4) объявление-подтипа |
= подтип-nolot | подтип-lot. |
|
(R5) подтип-nolot |
= "NOLOT called" |
|
|
(имя-nolot-1 | список-имен-nolot-1) |
|
|
"is subtype-of NOLOT called" |
|
|
имя-nolot-2 ";". |
|
(R6) подтип-lot |
= "LOT called" |
|
|
(имя-lot-1 | список-имен-lot-1) |
|
|
"is subtype-of LOT called" имя-lot-2 ";". |
|
(R7) объявление-идеи |
= "IDEA (with-first ROLE (called" |
|
|
имя-роли-1 |
|
|
"and on NOLOT called" |
|
|
имя-nolot-2 ")" |
|
|
"and with-second ROLE (called" |
|
|
имя-роли-2 |
|
|
"and on NOLOT called" |
|
|
имя-nolot-2"))" |
|
|
"in called" имя-идеи ";". |
|
(R8) объявление-мостика |
= "BRIDGE (with-first ROLE (called" |
|
|
имя-роли-1 |
|
|
"and on NOLOT called" |
|
|
имя-nolot-2")" |
|
|
"and with-second ROLE (called" |
|
|
имя-роли-2 |
|
|
"and on LOT called" |
|
|
имя-lot-2"))" |
|
|
"is called" имя-мостика " ; ". |
|
(R9) объявление-фразы |
= "PHRASE (with-first ROLE (called" |
|
|
имя-роли-1 |
|
|
"and on LOT called" |
|
|
имя-lot-2 " ) " |
|
|
"and with-second ROLE (called" |
|
|
имя-роли-2 |
|
|
"and on LOT called" |
|
|
имя-lot-2"))" |
|
|
"is called" имя-фразы " ; ". |
|
(R10) объявление-ограничения |
= "CONSTRAINT called" имя-ограничения |
|
|
"is declared as" предложение " ; ". |
|
(R11) список-имен-nolot |
= "{" имя-nolot {имя-nolot} "}" " ; ". |
|
(R12) список-имен-lot |
= "{" имя-lot {имя-lot} "}" " ; ". |
|
Примечание - Список-имен-nolot-1 и список-имен-lot-1 имеют тот же синтаксис.
| ||
(R13) имя-схемы |
= идентифицирующее-имя. |
|
(R14) имя-nolot |
= идентифицирующее-имя. |
|
(R15) имя-lot |
= идентифицирующее-имя. |
|
(R16) имя-роли |
= идентифицирующее-имя. |
|
Примечание - Имя-nolot-1 и т.д. имеют тот же синтаксис.
| ||
(R17) имя-идеи |
= идентифицирующее-имя. |
|
(R18) имя-мостика |
= идентифицирующее-имя. |
|
(R19) имя-фразы |
= идентифицирующее-имя. |
|
(R20) идентифицирующее-имя |
= " ' ' " буква {буква | символ | дефис}" ' ' ". |
Примечание - Синтаксис предложений в определении ограничений, а также синтаксис букв, цифр и т.п. здесь не уточняется.
Определение концептуальной схемы можно "запомнить", если считать, что каждое "объявление" является предложением, которое нужно добавить командой add. "Удалить", "вывести" и т.д, имеют в данном контексте обычный смысл.
Пример:
add CONCEPTUAL-SCHEMA called "РЕГИСТРАЦИЯ-АВТОМОБИЛЕЙ";
add NOLOT called {'МОДЕЛЬ-АВТОМОБИЛЯ' 'ДАТА' 'ПЕРЕДАЧА'
'ВЛАДЕЛЕЦ'};
add LOT called {'РЕГИСТРАЦИОННЫЙ-НОМЕР' 'СЕРИЙНЫЙ-НОМЕР'};
add NOLOT called 'ИЗГОТОВИТЕЛЬ' is subtype-of NOLOT called
'ВЛАДЕЛЕЦ';
Д.3.3 Семантика | ||
Правило |
Семантика |
Описание |
(R2) |
(S1) |
Экземпляры NOLOT с однозначно идентифицирующими именами "имя-nolot" добавляются к концептуальной схеме |
(R3) |
(S2) |
То же, что и (S1) для экземпляров LOT с именами имя-lot LOT и NOLOT |
|
(S3) |
- непересекающиеся подтипы типа метаобъектов "ТИП-ОБЪЕКТА", другими словами, "имя-lot" не должно уже существовать как "имя-nolot" |
(R5) |
(S4) |
Упомянутые NOLOT должны уже существовать |
|
(S5) |
Так как деление на подтипы - транзитивное свойство, не должно быть замкнутого "цикла" при определении подтипов |
(R6) |
(S6) |
То же, что и (S4) с соответствующими изменениями |
|
(S7) |
То же, что и (S5) |
(R7) |
(S8) |
Добавляются экземпляры ролей с "именем-роли"; два "имени-роли" должны быть различными, если они определены "на" том же NOLOT |
|
(S9) |
То же, что и (S4) |
|
(S10) |
Добавляется экземпляр ИДЕИ с однозначно идентифицирующим именем "имя-идеи" |
(R8) |
(S11) |
То же, что и (S8) |
|
(S12) |
Должны уже существовать упомянутые LOT и NOLOT |
|
(S13) |
То же, что и (S10) с соответствующими изменениями |
|
(S14) |
Упомянутый LOT не должен появиться в другом объявлении МОСТИКА |
(R9) |
(S15) |
То же, что и (S8) с соответствующими изменениями |
|
(S16) |
То же, что и (S6) |
|
(S17) |
То же, что и (S10) с соответствующими изменениями |
(R10) |
(S18) |
Экземпляр ОГРАНИЧЕНИЯ добавляется с однозначно идентифицирующим именем "имя-ограничения" |
|
(S19) |
"Предложение" должно синтаксически правильно описывать предикат (функтор), который должен сохраняться истинным всегда (для всех состояний информационной базы) |
|
(S20) |
Никакие два ограничения не могут противоречить друг другу (это приводит к невозможности заполнения информационной базы) |
|
(S21) |
Набор всех ограничений считается исчерпывающим списком всех существующих правил или ограничений для всех состояний информационной базы, т.е, экземпляр бинарного отношения вводится в информационную базу только при условии, если ни одно ограничение не нарушается |
|
(S22) |
Множество ограничений подразумевает, что допустимы любые изменения в информационной базе, которые не нарушают объявленных ограничений |
(R20) |
(S23) |
Идентифицирующие имена должны быть уникальными в пределах концептуальной схемы, за исключением имен-ролей, которые имеют более ограниченную область уникальности (S10, S11, S15) |
Общие замечания по семантике:
- существует сходство между приведенным выше способом описания семантических свойств, связанных с синтаксическими единицами, и атрибутами Кнута;
- отдельно от этой "атрибутной" семантики существует семантика, присущая примитивным конструкциям, и способ ее использования в модели. Отчасти она уже более или менее неформально рассмотрена в предыдущих разделах и дальше будет только упоминаться. К ней относится понятие имени, например, "имя-notol" или "имя-роли". Например, "имя" - терм, ссылающийся на отдельную сущность в проблемной области и использующийся для обозначения единичной сущности. Он является лексическим по существу, т.е. существует соответствие один к одному с какой-либо строкой данного алфавита. Тем не менее следует подчеркнуть, что подходы на основе бинарных отношений полностью поддерживают как синонимы, так и омонимы;
- терминальные элементы, такие как NOTOL или IDEA (которые называют "ключевыми словами"), также являются экземплярами имен (или примитивных понятий), но на метаконцептуальном уровне. Во избежание путаницы в синтаксисе и соответствующем языке эти имена не берутся в кавычки;
- описание семантики (S1 - S23) можно рассматривать как множество статических и динамических ограничений, действующих на этом метаконцептуальном уровне.
Ничто не препятствует рассматривать в этих подходах сами концептуальные схемы или любой другой "абстрактный" язык как проблемную область. Этим путем можно ввести несколько уровней описания. Но на каждом уровне описания и в каждом состоянии концептуальной схемы и информационной базы концептуальная схема и та часть проблемной области, которую она описывает, различимы средой. Причина очевидна, так как концептуальная схема должна быть известна для того, чтобы служить единственным "посредником", под контролем которого возможно манипулирование и доступ к информационной базе.
Д.4 Моделирование
Не существует единственного алгоритма разработки концептуальной схемы.
Один из способов проектирования концептуальной схемы в подходах на основе бинарных отношений - взять в качестве отправного пункта неформальное восприятие проблемной области. Нужно выбрать необходимые высказывания о проблемной области и идентифицировать свободные переменные. Интуитивно это термы (имена типов), ссылающиеся на классы в проблемной области, которые можно заменить определенными экземплярами имен в экземплярах предложения о сущностях, принадлежащих к выбранным классам.
Можно использовать строки, представляющие свободные переменные в качестве возможных имен для типов в концептуальной схеме. Нужно идентифицировать предложения, которые сообщают нечто о других предложениях. Некоторые из них дадут в результате дополнительные типы лингвистических объектов и типы бинарных отношений, а другие будут иметь своим результатом ограничения. Некоторые, возможно, приведут и к тому, и к другому. Первые обычно встречаются там, где дается дополнительная информация об определенном типе предложения, которая может быть добавлена командой add, а другие ограничивают совокупность существующих экземпляров предложений.
После этого можно использовать реализации предложений, выражающие дополнительные высказывания о пространстве сущностей, для контроля экземпляров, выведенных из концептуальной схемы. Если встречаются противоречия, то концептуальную схему нужно модифицировать, чтобы исключить эти противоречия, предполагая, как всегда, что все высказывания выполняются для данной проблемной области.
Возможно, нужно расширить множество реализаций предложений о проблемной области. Это расширение должно генерироваться пользователем совместно с разработчиком информационной системы. Такой этап необходим в тех случаях, когда концептуальная схема и информационная база оказываются недостаточно полным представлением проблемной области.
Необходимо повторять описанные этапы, пока не будет достигнут приемлемый уровень качества.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.