Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Метаструктура базы данных и операций
Как уже было сказано, модуль базы данных предназначен для размещения данных, обрабатываемых в процессе, реализуемом ПСМ. Основными параметрами, определяющими организацию конкретной базы данных, являются объем и характер данных, тип операций над ними, а также стратегия управления процессом вывода. База данных состоит из следующих пяти основных частей, из которых две последние являются факультативными: памяти, каркаса, управления, контроля несовместимости, ассоциативной надстройки. Первые две части служат для размещения данных. Управление организует выполнение основных операций над данными, такими как поиск по образцу, добавление и удаление. Контроль несовместимости обеспечивает реализацию многовариантных стратегий управления. Ассоциативная надстройка служит для оптимизации операции " поиск по образцу" и процесса выбора правил, применимых к текущему состоянию базы. Рассмотрим каждую из составных частей более подробно. Характер организации данных Данные в базе организованы в структуру, называемую основной. Элементами этой структуры являются компоненты. Компонента, в общем случае, является структурной единицей произвольной сложности и представляет собой четверку: - имя (идентификатор); - тип — каждому типу сопоставляется характеристика (фиксированный набор переменных) и структура. В характеристику может входить информация о некоторых стандартных для данного типа отношениях с другими компонентами; - описание — определяет конкретные значения для каждой переменной в характеристике данного типа; - тело — информация, конкретизирующая сопоставленную данному типу структуру и определяющая структуру данной компоненты через компоненты-аргументы и отношения между ними. Вид основной структуры может быть самым различным, например, множество, цепочка, дерево, граф. Как уже было сказано, данные хранятся в каркасе и памяти, причем в каркасе, как правило, размещается граф основной структуры данных, вершинами которого являются пары < имя компоненты, тип компоненты>, а остальная часть компонент хранится в памяти, вход в которую осуществляется по имени требуемой компоненты. Операции над базой данных Стандартным способом доступа к данным базы является вход по ассоциативному адресу {образцу), осуществляемый операцией " поиск по образцу". Аргумент операции " поиск по образцу" представляет собой структуру, характер которой может меняться в достаточно широком диапазоне в зависимости от функций, выполняемых базой данных. Результатом этой операции является множество (возможно, пустое — негативный результат) всех референтов образца-аргумента, т.е. фрагментов базы данных, каждый из которых представляет собой ответ на запрос, специфицированный в форме этого образца. Можно выделить несколько типов образцов. Простой образец — это фрагмент структуры того же типа, что и каркас. В вершинах простого образца компоненты могут указываться частично, например, только имя или только тип. Характер процедуры, реализуемой операцией " поиск по образцу", может быть двух видов: - точное совпадение — референты изоморфны образцу с точностью до отсутствующих элементов в образце; - покрытие — может выполняться в тех случаях, когда задается частичный порядок над символами, выступающими в качестве элементов образца. Референтами в этом случае являются фрагменты каркаса, покрываемые образцом, в том смысле, что графы образца и референта изоморфны, а элементы образца либо совпадают с соответствующим символом референта, либо находятся выше его по иерархии. Разрывный образец — это совокупность простых образцов, связанных дугами специального вида, отсутствующими в каркасе. В этом случае графы образца и референта не являются изоморфными, поскольку в последнем отсутствуют специальные дуги. Можно сказать, что при разрывном образце поиск происходит не на самом каркасе, а на его транзитивном замыкании по одному или нескольким типам отношений. В. Образец с отрицательным контекстом представляет собой пару < положительный образец, отрицательный образец >, в которой каждый из образцов простой или разрывный. Процедура поиска для такого образца определяется следующим образом. Выполняется поиск по положительному образцу, найденному референту R определяются имена вершин, общих для положительного и отрицательного образцов. Эти имена подставляются на соответствующие позиции в отрицательный образец, по которому вновь осуществляется поиск. Если множество референтов в этом случае пусто, то R принимается в качестве референта поиска по образцу с отрицательным контекстом. В противном случае поиск не выдает результат. Отсутствие связи между положительным и отрицательным образцами представляет собой частный случай описанной выше процедуры, при которой поиск по обоим образцам осуществляется независимо, а общий результат определяется так же. Сложный образец — представляет собой совокупность видов образцов, перечисленных выше. Результатом поиска по сложному образцу является сочетание процедур поиска по каждому из образцов совокупности. Будем делить операцию " поиск по образцу" на два основных вида: одновариантный и многовариантный поиск. В случае одновариантного поиска в базе данных отыскивается единственный (первый подходящий) референт, в то время как при многовариантном поиске процесс продолжается до тех пор, пока не будут найдены все возможные фрагменты базы данных, которые могут быть референтами для данного образца. Одним из существенных факторов, определяющих результат операции " поиск по образцу" при одновариантном поиске, является то, фиксируется или нет порядок сканирования каркаса при выполнении операции " поиск по образцу". Например, при каркасе-цепочке это может быть просмотр слева направо или справа налево, при дереве — от корня к листьям или в обратном направлении. В тех случаях, когда порядок просмотра является внешней характеристикой базы данных, он может быть фиксированным (встроенным) или изменяемым в процессе работы (настраиваемым). Еще одной операцией над базой данных является добавление. Смысл этой операции — присоединение новых данных к данным, находящимся в базе. Аргумент этой операции состоит из двух частей: первая представляет собой тот фрагмент, который присоединяется к базе данных, и имеет ту же организацию, т.е. состоит из каркаса и набора компонент, сопоставленных его вершинам; вторая часть является, в общем случае, ассоциативным адресом, указывающим, к каким вершинам каркаса будет присоединяться новый фрагмент. Операция исключение удаляет из базы данных фрагменты, которые являются аргументом этой операции. Так же как и при операции " добавление", вершины, входящие в описание аргумента, могут специфицироваться именем или образцом. Таким образом, функции базовых операций управления определяются выбором характера операции " поиск по образцу", поскольку все остальные операции являются стандартными и однозначно определяются выбором каркаса и памяти. С помощью этих операций можно описывать процедуры редактирования базы данных произвольной сложности. Контроль несовместимости Данное средство позволяет объявлять любую пару компонент несовместимой. Это означает, что данные компоненты не могут одновременно входить в структуру, являющуюся результатом поиска по образцу, и, таким образом, все компоненты каждого референта должны быть совместимы между собой. Контроль несовместимости — необходимая составляющая любой многовариантной стратегии вывода (например, стратегии на графах). Контроль несовместимости может осуществляться несколькими способами: - сочетанием структуры каркаса и образца. Так, например, если каркас — ациклический граф, а образец — всегда цепочка, то компоненты базы, не принадлежащие одновременно одному пути в каркасе, не войдут совместно в один результат операции " поиск", т.е. фактически оказываются несовместимыми. Такая схема может использоваться при обработке цепочки, когда в одной базе данных хранятся промежуточные результаты различных вариантов вывода, локально несовместимых друг с другом; - введением отношения несовместимости в каркасе, т.е. добавлением к каркасу дуг с соответствующей пометкой между всеми несовместимыми вершинами. При этом несовместимость всех вершин референта может обеспечиваться либо процедурно операцией " поиск по образцу", либо включением в образец отрицательного контекста, явно требующего отсутствия у референта дуг несовместимости; - введением специального механизма, контролирующего несовместимость с помощью, например, бинарной матрицы, отражающей совместимость и несовместимость всех компонент в базе данных. Ассоциативная надстройка Последней подсистемой базы данных является ассоциативная надстройка, представляющая собой специальную структуру, используемую для повышения эффективности операции " поиск по образцу" и тем самым оптимизирующую процесс поиска правил, применимых к текущему состоянию базы данных. Ассоциативная надстройка отражает текущее состояние базы данных, являясь как бы " рефератом" ее содержания, организованным с ориентацией на указанные задачи оптимизации. Очевидно, что при изменении состояния базы данных (при добавлении и исключении компонент) требуется затрата дополнительных усилий на редактирование ассоциативной надстройки. Таким образом, сокращая затраты, связанные с операцией " поиск по образцу", введение этой подсистемы увеличивает затраты на остальные две операции. Метаструктура модуля правил Модуль правил служит для размещения и исполнения правил. Главными параметрами, определяющими схему и функциональные характеристики конкретной версии такого модуля, являются: число правил, выбор механизма активации, способ реализации ассоциативного выбора правил, процедура разрешения конфликта и внутреннее представление правил. Основные составляющие этого модуля — аппарат активации, база правил (П-база) и интерпретатор. Опишем выделенные составляющие более подробно. Аппарат активации В ПСМ, не включающем аппарата управления активацией, все правила находятся в активированном состоянии в течение всего процесса. Это означает, что условия применимости каждого правила проверяются при каждом изменении состояния базы. Такая организация естественна при небольшом числе правил, отсутствии достаточных оснований для содержательного структурирования правил по их функциям и удовлетворительной эффективности ПСМ. В общем случае возникает необходимость ограничивать совокупность правил, проверяемых на текущем этапе процесса, для чего в ПСМ вводится аппарат управления активацией. Очевидно, что существует множество способов организовать такое ограничение. Механизм активации может быть: - статическим, т.е. определенным заранее и не меняющимся в процессе работы ПСМ; - динамическим, т.е. управляемым ходом процесса; - смешанным, комбинирующим статические и динамические элементы управления активацией. Порядок активации может определяться с помощью явно задаваемой структуры, разделяющей множество правил на группы. При этом возможен выбор разных вариантов внутри- и межгрупповой организации правил. Другим средством управления активацией является включение в оператор правила указания о переходе к одному или нескольким следующим правилам. В случае, если такое указание зависит от условия, проверяемого оператором, оно относится к динамической составляющей аппарата активации. Одним из широко распространенных средств активации правил является использование метаправил (правил над правилами), при котором правила разбиваются на классы и в зависимости от состояния базы данных активируется тот или иной класс [84]. Механизм активации правил может осуществляться с помощью проверки сопоставленных им специальных условий, выполнение которых зависит не от текущего состояния базы данных, а от значений особых переменных, посредством которых процесс управляет активацией. Структура правил Как уже отмечалось, продукция представляет собой тройку: < имя, условие применимости, оператор >, где имя однозначно специфицирует правило. Условие применимости правила может быть разделено на две части: - условия к базе данных, - внешние условия. Результат проверки части а) полностью определяется текущим состоянием базы данных, в то время как проверка б) требует обращения " вовне", т.е. к другим модулям, внешней среде или пользователю. Ниже будем рассматривать только условия а), поскольку содержание и оформление внешних условий определяется функциями данного ПСМ в системе и его проблемной ориентацией. В самом общем виде условия к базе данных представляют собой конъюнкцию двух типов условий, которые называются положительными (+УП) и отрицательными (-УП). Первые специфицируют сочетания компонент, наличие которых в базе означает выполнение соответствующего положительного образца, а вторые — сочетание компонент, наличие которых означает невыполнение данного отрицательного образца. Как +УП, так и -УП представляют собой совокупность условий: - на компоненты, входящие в данное сочетание, взятые в отдельности; - на согласование значений тех или иных характеристик этих компонент в случаях, когда эти значения взаимосвязаны; - на отношения, связывающие соответствующие компоненты в каркасе базы. Оператор правила представляет собой сочетание действий, которые могут быть отнесены к одному из следующих классов: - редактированию базы данных; - воздействию на аппарат активации; - обращению вовне данного ПСМ; - редактированию системы правил. Редактирование базы данных сводится к использованию операций добавления и исключения компонент. Как уже говорилось выше, каждая из этих операций требует спецификации своих аргументов. Для операции " добавление" — это новый фрагмент, добавляемый к базе данных, и адрес его подклейки к вершинам каркаса базы данных. Описание нового фрагмента и его адреса могут быть включены в оператор либо вычисляться на основании информации о компонентах, описанных в условиях применимости. Для операции " исключение" — это фрагмент, который следует удалить из базы. Вместе с удалением фрагмента происходит корректировка каркаса базы. Воздействие на аппарат активации определяется выбором конкретного варианта управления активацией. Это может быть: - явное указание о переходе на определенное правило или группу правил; - изменение значений специальных управляющих переменных, определяющих условия активации. Обращение вовне может заключаться в обращении к другим модулям системы, к внешней среде (например, к операционной систем), а также к пользователю при интерактивном режиме. Перечисленные действия определяют класс статических систем продукций. Переход к динамическим системам требует введения такого класса действий, которые позволяют редактировать систему правил, а именно: исключать, добавлять или изменять правила в системе. 2.5.6.3. Представление правил и интерпретатор Вопрос о внутреннем представлении правил в П-модуле может решаться по-разному. В частности, существенным является выделение и использование локальной и глобальной информации, служащей для оптимизации работы ПСМ за счет возможно большего сокращения неудачных проверок условий применимости активированных правил. На основании этой информации строится ассоциативная надстройка П-модуля, которая позволяет эффективно реализовывать поиск по образцу среди активированных правил. Уровень внутреннего представления может быть самым разным, например: - язык типа специализированного автокода. В этом случае интерпретатор представляет собой программную машину с автокодом в качестве языка команд; - правила написаны на том же языке, на котором реализуется весь ПСМ, при этом интерпретатор становится излишним. Очевидно, что здесь перечислены лишь самые общие точки спецификации П-модуля, которые в значительной степени взаимообусловлены. Например, существует тесная связь между аппаратом активации и ассоциативной надстройкой. Популярное:
|
Последнее изменение этой страницы: 2016-03-17; Просмотров: 1183; Нарушение авторского права страницы