- •Введение
- •1. Системный анализ проблемы создания специального программного обеспечения информационных систем
- •2. Концептуальные основы построения информационных систем на основе формализма синтаксически вариантных лингвистических систем и метода метауправления
- •V (кдс-прививка)
- •Модели и методики построения типовых систем обработки информации как информационных систем с метауправлением функциональностью, и примеры их применения
- •5. Технологические основы создания специального, по с применением сквозного моделирования, поддержанного синтаксически вариантными средствами
- •Заключение
2. Концептуальные основы построения информационных систем на основе формализма синтаксически вариантных лингвистических систем и метода метауправления
Формальная модель синтаксически вариантной информационной системы
Поскольку в рамках настоящей работы синтаксически вариантные информационные системы и рассматриваю гея как альтернатива синтаксически неизменным ИС без метауправления, построенным по "классической" методологии, перед описанием формальной модели СВИС целесообразно сформировать формальную модель ИС без метауправления.
Используя описания и обозначения, приведенные в п. 1.3 и п. 1.5, синтаксически неизменную ИС без метауправления можно определить как формальную абстрактную систему (но не формально аксиоматическую - см. /205, 296/) ISC вида
lSc = (yA,A,o>,D) (2.1)
где у = уа и Yd - алфавит ИС, образуемый множеством уа идентификаторов алгоритмов содержательной обработки данных уа. а также идентификаторами структур хранения (представления) данных в БД уа (у* есть совокупность идентификаторов информационных сущностей, входящих в структуру БД, идентификаторов атрибутов этих сущностей, и идентификаторов отношений на множество сущностей, отображающих взаимосвязи информационных сущностей в структуре БД - см., например, /169,201,207/);
X ” X,j u X* - множество предложений на языке реализации функциональности (то есть Хе LR(GR), где LR - ЯРФ, Gr - грамматика ЯРФ);
Xd - описание структуры БД, X*- { X | (X е Lr(Gr)) л (X е у/)};
λ- множество алгоритмических описаний процессов обработки данных в интересах решения прикладных задач, реализованное на ЯРФ (можно считать, что каждое описание есть суперпозиция алгоритмов, каждый из которых есть некая функция над данными, идентификаторы единиц хранения которых являются элементами Х^), то есть X» = { а | (а е Lr(Gr)) л (X е {уа* и Vt)) } (Приведенная формальная запись несколько некорректна, ибо не отражает взаимосвязи процедур, операторов, переменных и т. д., составляющих программную реализацию множества алгоритмов, каковой является Хл. Более строгое аннотирование А* при необходимости может быть выполнено с помощью какого-либо подхода из числа известных в теории программирования
например, операторных моделей по /208/, предикатных моделей (/79, 208 - 210/ и др.) и т. д. Однако подобная формализация в данном случае нецелесообразна, так как для дальнейшего рассмотрения важен только факт наличия в ISc некоторого множества программно реализованных алгоритмов, которые могут использовать и изменять содержимое БД и идентификаторы которых входят в алфавит уа);
Л - автоматная модель управляющего алгоритма функциональных приложений (модель типа "воздействие - реакция", где "воздействие" есть событие, обработка которого требует выполнения процесса содержательной обработки данных, а ''реакция'1 - инициация выполнения соответствующего элемента v из числа Ха), которая в рамках данного описания не детализируется;
о) правила выполнения описаний процессов содержательной обработки данных на множестве значений структур хранения данных в БД (на содержимом БД D), то есть правила выполнения машинных кодов, соответствующих программной реализации Я* в вычислительной среде ИС.
Модель А можно рассматривать как автоматную функцию A(t), значением которой является элемент v € Ха, который подлежит выполнению как
реакция на событие, происшедшее в момент времени t (в качестве такого события будем рассматривать только определенные действия пользователя).
Следует отметить, что управляющий алгоритм функциональных приложений обычно стоятся как реализация цикла обработки событий, поэтому его формализация в виде модели А достаточно тривиальна. Имеются примеры формализации таких управляющих алгоритмов в виде специального графа /35/ и конечного автомата /163/, а доминирующим способом его программной реализации в современных технологиях программирования является задание объектно-событийной модели, в которой действия пользователя приводят к формированию сообщения, передаваемого соответствующему объекту для обработки - см., например, /162/.
Еще одной особенностью модели (2.1) является наличие взаимооднозначного соответствия между Ха и у* - различие между этими множествами заключается в том, что первое из них образуют идентификаторы алгоритмов, а второе - программные реализации этих алгоритмов.
Процесс функционировать ИС вида ISC есть совокупность процессов решения прикладных задач (из числа Z), каждый из которых инициируется действиями пользователя, руководствующегося соответствующей методикой Zm, и представляет собой конечную последовательность этапов решения
Щ И л о,)]- d, Ка fill d2...d„, |-[а рЙ d„ . {2.2)
где Do - содержимое БД до начала процесса решения задачи;
Dj = <о( Л (tj), D,-.i) - результат каждого этапа решения задачи как результат выполнения Vj - A(tj) (1< i < n, Vj еА*), конечный результат решения задачи D, с DP;,
п - количество этапов решения задачи;
’(Яй - отношение "этап решения", связывающее состояния БД (определяемые как совокупность хранящихся в них данных) до и после выполнения
этапа решения, инициированного действиями пользователя в момент времени
Таким образом, каждый этап решения в последовательности (2.2) определяется как выполнение элемента v из множества X., выбранного управляющим алгоритмом Л в результате действий пользователя, причем во время выполнения v взаимодействие пользователя с алгоритмом А отсутствует. Иными словами, этапы отделяются друг от друга активными действиями пользователя, приводящими к инициализации выполнения того или иного алгоритма из числа Ха-
Приведенное описание компонентов ИС и процесса ее функционирования в ходе решения прикладных задач несколько идеализировано, так как на практике возможны реализации ИС, в которых:
БД может содержать не только предметные сведения, но и разного рода описания форм отчетов, тексты запросов на SQL и т. д. - то есть сведения самого различного характера, которые могут содержаться, нанример, в отдельных файлах;
пользователь может активизировать не программную реализацию алгоритма v е X*. а се описание (например, скрипт на языке VisualBasic, Tel, Python и им подобных), подлежащее интерпретации соответствующими программными средствами в составе ИС;
процесс решения задачи может выполняться параллельно (квазипараллельно) двумя и более пользователями;
база данных может быть распределенной, что вносит свою специфику в поиск, выборку и запись данных (см., например, /211/) и т. д.
Однако в рамках данной работы такая идеализация, явившаяся следствием стремления к построению максимально наглядной и обобщающей модели, отвечающей целям исследования (а более конкретно - анализу влияния внедрения элементов метауправления в построение ИС на процессы их функ-
ционирования),
вполне допустима, поскольку конкретика реализации ИС с позиций описания и анализа семантической сложности ИС несущественна.
Поскольку в модели (2.1) отсутствуют механизмы синтаксической вариантности и метауправления, в дальнейшем будем называть ИС вида ISC синтаксически неизменными ИС без метауправления (СНИС).
По аналогии с приведенным выше описанием СНИС» а также учитывая изложенное в п. 1.5, синтаксически вариантную информационную систему можно представить как формальную абстрактную систему (состав и взаимосвязи которой схематично показаны на рис. 2.1) вила
ISV=(Lc, Uc, Н, у, U А, (о, Lp, Rp, D) (2.3)
где Lc - язык представления метаинформации (ЯПМИ) (с грамматикой Gc), который можно рассматривать как ЯОФ данной ИС, фиксируемый при ее создании;
Uc - {iici, Uc2, •••* Ucm} - множество описаний на ЯОФ, каждое из которых представляет собой отдельный компонент метаинформации, являющийся предложением на Ц ((ViXl < i < m)(uCi е Ц));
Н = {Hi, Hi, Нз, Ht} и Rp - отображения, описанные ниже; у = Yd О -у* — алфавит СВИС на уровне ЯРФ, в котором у* определяется так же, как и для 1SU в (2.1), а уа представляет собой множество идентификаторов "элементарных" алгоритмов, образующих алгоритмический базис решения прикладных задач я (то есть л - программная реализация алгоритмов, идентификаторы которых имеются в у*);
описание струюуры БД определяемое так же, как и для ISc в (2.1);
А - автоматная модель управляющего алгоритма функциональных приложений, отличающаяся от А в ISe тем, что значением A(t) является идентификатор КМИ, который должен быть выполнен как реакция на некоторые события (определенные действия пользователя) в момент времени t, то есть A(t)
lie u« € U«;
— правила выполнения КМИ, которые можно рассматривать как правила вывода на КМИ, образуемые правилами перевода КМИ сои и правилами интерпретации результатов перевода на содержимом базы данных D -
©D-
Под переводом КМИ понимается процесс его преобразования в некоторую форму» допускающую однозначную интерпретацию этого КМИ на множестве предметных данных. Необходимость такого перевода, его содержание и особенности подробно рассматриваются в главе 3. Для представления результатов перевода необходим некий "промежуточный" язык - язык представления результатов перевода (ЯПРП) Ц, со своей грамматикой Gp.
Помимо правил со важнейшую роль в СВИС играют отображения Н = {Hi, Нг, Нз, Hi} и отображение Rp, которые определяются следующим образом:
Hi: Uc у - отображение содержимого КМИ на алфавит ЯРФ;
- отображение содержимого КМИ на структуру базы Данных;
Нз: у “> Ad - отображение алфавита на структуру БД;
ЬЦ: Xj -> D — отображение структуры БД на содержащиеся в базе данных сведения (такое отображение есть и в 1SC, однако в силу своей статичности и локальности использования оно исключено из модели (2.1));
Rp: Gp -> у - отображение грамматики языка представления результатов перевода на алфавит системы.
В отдельном комментарии нуждается и множество у* идентификаторов "элементарных" процедур обработки данных, составляющих алгоритмический базнс решения прикладных задач в ИС. "Элементарность" в данном случае не отвергает возможности использования одних процедур другими. Языковым конструктам (тем или иным синтаксическим единицам) в КМИ по Hi ставятся в соответствие идентификаторы процедур имеющегося алгоритмического базиса, а во время и после перевода КМИ на ЯПРП это соответствие может быть найдено по отношению Rp.
Описание функционирования СВИС предполагает анализ содержания двух процессов - процесса решения прикладных задач и процесса адаптации СВИС. Описание этих процессов осложняется тем, что их реализации в конкретных СВИС могут достаточно сильно отличаться, поэтому ниже приведено некоторое обобщенное описание, общность которого в некоторых фрагментах достигнута в ущерб его детальности. Более подробное описание конкретных вариантов схем реализации метауправления приведено в п. 2.3 и главе 4.
По аналогии с описанием функционирования ИС без МУ процесс решения прикладных задач в СВИС также может быть представлен как последовательность этапов решения задач вида (2.2), однако организация выполнения действий, приводящих к получению результатов этапов решения задачи, является принципиально иной.
Каждый этап решения прикладной задачи в СВИС представляет собой последовательность действий, выполняемых как три такта.
На первом такте пользователь выполняет действия, воспринимаемые управляющим алгоритмом А как требование инициации выполнения некоторого КМИ Uc ** A(t).
На втором такте по правилам о>и осуществляется перевод компонента и*, представленного на языке Ц, на язык Lp. Результатом перевода является некое предложение w € LP(GP). Данные действия можно рассматривать как вывод
©o(Uc RP) -> w. (2.4)
Следует учитывать, что в общем случае ЯПРП Lp не являегся языком реализации функциональности в том виде, в каком ЯРФ был определен в п. 1.4. Язык Lp - это язык представления неких цепочек \v, получаемых в результате перевода исходных КМИ и представляющих собой последовательность идентификаторов процедур алгоритмического базиса из числа уа с указанием данных (через идентификаторы из уа), для обработки которых эти процедуры должны быть вызваны (выполнены) в дальнейшем. Это, в частности, объясняет необходимость использования отношения Rp в ходе выполнения перевода по правилам 0)и, ибо именно это отношение дает возможность сопоставить синтаксическим единицам в тексте переводимого КМИ идентификаторы из у для реализации вычислительной семантики содержимого этого КМИ. Учитывая вышеизложенное, цепочку w можно рассматривать как конкатенацию цепочек WjW2...yvi (I > 0), для каждой из которых по Rp определяется пара вида (а,Ь), где а € уа, b € ул* (рис. 2.2).
На третьем такте предложение w обрабатывается (интерпретируется) по правилам о)р. Обработка заключается в последовательном выделении цепочек w . \v2,..., W| и выполнении вызовов, задаваемых этими цепочками. Вызываемые процедуры, идентификаторы которых определяются как элементы из уа по
отображению Rp, осуществляют собственно обработку данных в D, получая к ним доступ через описание структуры базы данных ул.
Весь процесс интерпретации цепочки w может быть записаи как
o>d(w,Rp> UD)^D', (2.5)
где D и D' - состояние БД до начала и после завершения интерпретации цепочки w соответственно.
Таким образом, процесс функционирования СВИС, соответствующий выполнению этапа решения задачи» может быть представлен как
[Db] |-[А (ti)]— Dj ] а [со» (©и (A(tj), Rp), Rp, Xd, Du) Dj 1. (2.6)
В приведенном описании функционирования ИС достаточно явно прослеживается влияние применения МУ на процесс решения задач: оно заключается в том» что пользователь путем инициации выполнения КМИ, представленного на дескриптивном ЯОФ, определяег подлежащий выполнению алгоритмический процесс содержательного преобразования данных в интересах решаемой задачи. Изменяя содержание КМИ, пользователь изменяет и потенциальные возможности ИС с позиций возможных последовательностей императивов обработки данных.
Существенно, что приведенное выше описание процесса решения задач нигде не предполагало изменения элементов алфавита ИС, и поэтому оно относится как к СВИС, так и к синтаксически неизменным информационным системам с метауправлением, то есть описанные закономерности характерны для любой ИС с метауправлением ее функциональностью. Таким образом, следует различать:
синтаксически неизменные информационные системы (СНИС), построенные по традиционной методологии и не предполагающие применения мета- управления;
синтаксически неизменные информационные системы с метауправлением (СИМУ);
синтаксически вариантные информационные системы (то есть СВИС), для которых метауправление является необходимым элементом;
информационные системы с метауправлением (ИСМУ) - как объединение СИМУ и СВИС.
С точки зрения формального анализа соотношения ИС с применением и без применения метауправления интерес представляет приведенная далее теорема.
Теорема 2.1. Для любой ИС без метауправления (то есть СНИС) можно построить ИС с метауправлением (то есть ИСМУ), которая при условии идентичности БД будет позволять получать идентичные результаты решения прикладных задач.
Доказательство. Построим ИСМУ следующим образом:
поместим все элементы множества X, СПИС в множество уа (каждый элемент уа будет представлять собой процедуру с уникальным идентификатором);
сформируем множество КМИ так, чтобы выполнение каждого из них приводило к выполнению одной и только одной процедуры из у„, и между множествами Uc и у* было взаимооднозначное соответствие:
(Vk) (1 < k < !y»D (3j) (1< j < Ы) ((<t>i>(wu(uc), Rp) w) л (w = Y«k)).
При таком построении ИСМУ будут выполняться два отношения:
R,: X» -» уа,
R*: Uc ■» У*-
Тем самым можно определить отношение соответствия между алгоритмами Ха в CI1ИС и КМИ Uc в ИСМУ R, вычисляемое как XaR Uc = XaRi Ri'1 Uc.
Тогда, если в СНИС выполнение i-ro этапа решения какой-либо задачи есть выполнение алгоритма v, = A(tj), v,- е X», то в ИСМУ существует КМИ, однозначно определяемый по R, выполнение которого приводит к выполнению этого же алгоритма.
При условии идентичности содержимого БД это приведет к равенству результатов выполнения алгоритма Vi е Хо и КМИ и*, если tic = R(vj), что и требовалось доказать.
Следствием из теоремы 2.1 является следующее утверждение (приводимое без формального доказательства): переход от СНИС к ИСМУ не приводит к потерям функциональных возможностей решения прикладных задач, так как любой алгоритм обработки данных, имеющийся в СНИС, может быть реализован в ИСМУ.
Доказательство теоремы 2.1 также показывает, что является "платой" за применение метауправления: процесс решение задачи в ИС без МУ есть последовательность выполнения машинных кодов, представляющих собой элементы Ха, а в ИС с метауправлением - перевод КМИ на некий промежуточный язык и последующая интерпретация результатов перевода. Даже если результаты перевода представляют собой текст программы на некотором языке программирования, необходимо выполнил» ее трансляцию в машинные коды, а если результаты перевода есть совокупность машинных кодов, то затраты на перевод все равно остаются.
Таким образом, "платой" за использование МУ является снижение оперативности решения задач, которое в некоторых пределах может быть компенсировано увеличение вычислительной мощности средств вычислительной техники. При современной индустрии вычислительной техники и с учетом характера функционирования ИС как системы обработки данных (управление данными - в отличие от систем реального времени, управляемых событиями с жестки временными офаничениями на длительность обработки этих событий) данный факт не яиляется принципиальным препятствием к применению МУ в ИС.
Проблема вычислительной эффективности характерна для любых языков, предполагающих интерпретацию: "Языки сценариев менее эффективны, чем языки программирования систем - именно вследствие использования интерпретаторов вместо компиляторов, а также из-за того, что базовые понятия языка выбираются из соображений выразительной мощности и простоты,
а не в расчете на максимально эффективную проекцию на архитектуру компьютера" (/187/, с. 12), однако интерес к таким языкам в последнее время постоянно возрастает (см., например, /137,187,192, 212/).
Кроме того, степень метауправления (как и степень синтаксической вариантности) может быть различной - она выбирается разработчиками ИС исходя из требований к конкретной создаваемой системе.
Анализ содержания (2.6) позволяет утверждать, что состоятельность ИСМУ (см. определение состоятельности и функциональности в п. 1.3) в решении прикладных задач определяется: данными, содержащимися в БД; содержанием компонентов мегаинформации;
множеством процедур, реализующим формальный смысл метаописаиий, каковыми являются КМИ;
множеством структур хранения данных, определяющими структуру БД. Возможность адаптации ИС за счет варьирования хранимых данных присуща любой ИС (см. п. 1.3).
Для ИС с мстауправлснием появляется возможность адаптации их функциональности путем варьирования содержимого КМИ в рамках неизменных структуры БД и алгоритмического базиса.
Для СВИС к указанным выше возможностям добавляется возможность варьирования синтаксиса ИС - то есть структуры БД и алгоритмическим базисом решения прикладных задач.
Процессы адаптации ИСМУ сводятся к внесению изменений в КМИ, причем только для СВИС эти изменения вызывают изменения и в других компонентах ИС. В силу наличия взаимосвязи компонентов ИС данные процессы приобретают характер цепочек изменений, показанных на рис. 2.3 (за исключением варьирования данных в БД).
Завершая рассмотрение ИС с МУ, следует отметить, что синтаксическая вариантность в модели (2.3) обеспечивается возможностью варьирования алфавита у и механизмом реализации соответствующих изменений в отображении Н|. Более строго, в СВИС при изменениях в КМИ» затрагивающих алфавит системы» поддержание отображения Hi в актуальном состоянии требует внесения соответствующих изменений в множества у*, y<j и в отношение Rp, а возможно -ив отношение Нз, а также содержимое БД.
Таким образом, формальная модель СНИС с МУ отличается от формальной модели СВИС (то есть модели вида (2.3)) отсутствием отображения Нь ибо алфавит в этом случае неизменен, и соответственно - неизменно отображение Rp, используемое в (Ои и <*>d.
Логическая структура информационной системы с метауправлением ее функциональностью
Одно из центральных мест в построении ИС с МУ занимает определение ее логической структуры. Для каждой ИС логическая структура может иметь различные специфические особенности, но можно выделить и ряд общих струюурных свойств для множества ИС, в которых используются компоненты метаинформации и метауправление. Эти общие свойства обусловлены конечностью возможных вычислительных схем, которые могут быть приняты при построении ИС с МУ.
По аналогии с /213/ под вычислительной схемой ИС с МУ будем понимать способ организации процесса функционирования ИС, в котором КМИ участвуют в выполнении этапов решения прикладных задач.
Соответственно, учитывая используемый уровень абстрактного рассмотрения ИС с МУ, под логической структурой ИС с МУ будем понимать типовую вычислительную схему использования КМИ в осуществляемых вычислительных процессах решения прикладных задач.
На организацию вычислительной схемы выполняемого процесса решения задачи с использованием КМИ влияют следующие факторы, определяемые при создании ИС:
возможность варьирования содержимого КМИ (то есть формирования и ведения КVIИ со стороны пользователя во время эксплуатации ИС); способ выполнения перевода выполняемого КМИ на ЯПРП; особенности языка представления результатов перевода с позиций возможности дальнейшего использования переведенных КМИ; организация хранения результатов перевода КМИ; способ интерпретации результатов перевода КМИ.
Перечисленные факторы можно рассматривать как классификационные признаки вычислительных схем использования КМИ в ИС с МУ. Их вочмож- ные значения приведены в табл. 2.1 н описаны ниже.
Значения классификационных признаков вычислительных схем использования КМИ в ИС с мстауправленисм
Таблица 2.1
Наименование и обозначение классификационного признака |
Возможные значения классификационного признака |
возможность изменения содержимого КМИ со стороны пользователя (г.) |
ния содержания существующих |
способ выполнения перевода выполняемого КМИ на ЯПРП (G) - |
|
особенности языка представления результатов перевода (rj) |
высокого уроння
|
организация хранения результатов перевода (г4) |
|
способ интерпретации результатов перевода 1 |
|
В соответствии с первым признаком можно выделить ИС, в которых не предусмотрено формирование и изменение содержимого КМИ со стороны пользователя (то есть множество Uc в модели (2.3) является фиксированным), и ИС, в которых такие изменения допустимы. Очевидно, что СВИС относятся только ко второй группе, хотя сам по себе факт вхождения ИС в эту группу еще не означает ее синтаксической вариантности.
Второй признак определяется способом выполнения первого этапа выполнения КМИ, то есть его перевода. Перевод на ЯПРП может осуществляться кик автоматически, так и автоматизировано. В последнем случае пользователь имеет возможность влиять на содержание результатов перевода непосредственно
в ходе его выполнения, а перевод без такого участия пользователя выполнен быть не может (что означает наличие в исходном КМИ некоторого недетерминизма, неопределенности, многозначности и т. д., которые могут быть устранены только пользователем).
Третий признак зависит от характера языка, используемого для представления результатов перевода, с точки зрения возможности организации процесса дальнейшего использования этих результатов. Это может быть неалгоритмический язык, алгоритмический язык (высокого уровня или машиноориентированный), или машинный язык (язык кодов машинных команд).
Значение четвертого признака зависит от наличия в ИС возможности сохранения результатов перевода для их последующего в общем случае многократного использования. Если такое сохранение не предусмотрено, то это означает, что выполнение правил перевода и интерпретации логически объединено в единый процесс по классической схеме интерпретирующих систем /15, 179, 214/- перевод и немедленная интерпретация, и повторная интерпретация требует и повторного перевода. В противном случае единожды полученные результаты перевода могут быть интерпретированы сколь угодно много раз, что с одной стороны в частных случаях несколько повышает оперативность решения задач, а с другой - порождает опасность использования "устаревших" результатов перевода, если в КМИ вносятся изменения.
Значение пятого признака тесно связано со значение третьего и характеризует способ интерпретации результатов перевода на множестве предметных данных (то есть способ осуществления преобразования предметных данный на основе содержимого результатов перевода). Это может быть интерпретация (в данном контексте - как способ организации выполнения программ), компиляция и последующее выполнение, либо непосредственное выполнение. Последнее возможно только в том случае, если результаты перевода представляют собой совокупность машинных команд.
Использование введенных выше признаков (п - Г5) позволяет поставить в соответствие каждой возможной логической структуре ИСМУ вычислительную схему со своим характеристическим вектором г = < Г|, г*, г*, r.j, Г5>.
Ниже описаны типовые варианты логической структуры ИСМУ, определяемые набором значений характеристического вектора.
Рис.
2.4. Логическая структура ИС со статичными
ннтсриретирусмыми мстаописания.ми
Процесс
выполнения КМИ: со (Л(1).
Rp,
X*, D)
-> D'
ИС
с двухступепчатой схемой интерпретации
статичных метаописаний имеют
характеристический вектор <0,
1,
1,
1,
1
> и отличаются от предыдущих
возможностью сохранения результатов
перевода (рис. 2.5). В этом случае
пользователь инициирует перевод одного
из имеющихся и неизменных КМИ только
тогда, когда интерпретация имеющихся
результатов перевода не позволит
получить требуемые результаты решения.
Результаты перевода могут содержать
и сведения о том, как именно был получен
данный перевод, то есть какие действия
предпринимал пользователь п процессе
перевода для получения
и менно этого результата. Такие сведения позволяют пользователю ориентироваться в накопленном множестве результатов перевода, а также могут влиять на работу интерпретирующей программы.
Для ИС с порождением программ по статичным метаописаниям характерно формирование в качестве результатов перевода либо текста программы на алгоритмическом языке с его последующей компиляцией и выполнением (характеристический вектор <0, 1, 1,2, 2 >), либо программы в виде совокупности машинных команд, которые могут быть непосредственно выполнены (характеристический вектор <0, 1, 1,3,3 >) (рис. 2.6).
ИС с двухступенчатой схемой интерпретации варьируемых метаописаний отличается от ИС с двухступенчатой схемой интерпретации статичных метаописаний наличием средств формирования и ведения (изменения, удаления) КМИ. Поскольку пользователь может достичь изменения процесса решения задачи изменением содержимого выполняемых КМИ, его участие в процессе перевода в данном случае перестает быть обязательным, и характеристический вектор таких ИС может иметь вид <1, I, I, I, 1 > или <1,0, 1, I, I > (рис. 2.7).
А налогично, ИС с порождением программ по варьируемым метаописа- ниям отличаются от ИС с порождением программ по статичным метаописаниям наличием средств формирования и ведения КМИ, то есть имеют характеристический вектор < 1, 1, 1,2,2 >, < 1,1, 1, 3, 3 >, < 1,0, 1,2, 2 > или <1,0, 1,3,3> (рис. 2.8).
Рис.
2.8. Логическая it
рут
ура ИС с порождением программ по
варьируемым мстаописаниям
Более детальное описание логических структур на концептуальном уровне рассмотрения ИСМУ нецелесообразно. В главе 4 приведены примеры конкретных ИСМУ, логическая структура которых соответствует приведенным выше типовым схемам. Роль логической структуры при построении ИСМУ заключается в том, что она определяет конструкцию создаваемой системы с позиций функционального состава компонентов системы и их взаимосвязей в процессе функционирования ИС.
Кроме того, анализ возможных логических структур позволяет выделить вычислительный формализм, обеспечивающий хранение и обработку мстаоиисаний, формально описать его состав и определить множество моделей его компонентов, которые должны входить в методологию построения ИСМУ.
2.3. Концептуальная модель вычислительного формализма информационной системы с метауправлением
Применение метауправления в ИС приводит к тому, что хранению и обработке подлежат как предметные данные, так и метаданные. Последние составляют совокупности метаописаний, функционально и конструктивно объединяемых в компоненты мстаинформации.
Такое деление данных на два взаимосвязанных уровня (из которых первый, согласно парадигме метауправления, является управляющим по отношению ко второму) фактически приводит к тому, что в ИС образуется своеобразная база знаний (по определению базы знаний, приведенному в /202/). Однако по сравнению со структурой базы знаний по С. С. Лаврову /215/, структура базы знаний ИСМУ имеет некоторое расширение в части метаинформации - рис. 2.9.
Рис.
2.9. Структура базы знаний ИС с
метаунравденисм
Расширение заключается в том, что мстаикформация содержит как понятийное знание, отражающее предметную область и выступающее в качестве ее понятийной модели, так и сведения, определяющие вычислительный процесс обработки предметных знаний средствами алгоритмического базиса с целью получения требуемого результата решения прикладной задачи
Следует отметить, что наличие ба ш знаний не является основанием для того, чтобы отнести ИСМУ к интеллекгуальным информационным системам и к экспертным системам, так как в ИСМУ не предусматриваются сстесгасн- но-языковая форма общения с пользователем, механизм логического вызода на знаниях, механизм объяснений получаемых решений и другие неизменные атрибуты интеллектуальных и экспертных систем - /96. 190, 2! 6/ и др..
Сведения, определяющие вычислительный процесс обработки предметных данных можно отнести к прикладным (в узком смысле) знаниям, ибо они и являются следствием применения ИС для решения тех или иных прикладных задач в некоторой предметной области. В частности, в КМИ могут содержаться указания как на содержание подлежащих выполнению преобразований предметных данных, так и ка форму представления результатов этих преобразований - например, описание формы таблицы и правил заполнения ее ячеек. На концептуальном урозне, без рассмотрения вычислительной и денотационной семантики средств пределявления метаинформации, определить прикладные знания более точно не представляется возможным, однако грань между предметными и прикладными знаниями можно провести даже интуитивно ' предметные сведения отображают предметную область, а прикладные
решаемые задачи.
Исходя из вышеизложенного, можно предположить, что в ИСМУ как и системе, обеспечивающей хранение и обработку данных, имеются две составляющих - по отношению к предметным данным и по отношению к метаданным (рис. 2.10).
Д ля предметных данных такая составляющая включает в себя базу данных, систему управления базой данных и приложения, обеспечивающие поддержание базы данных в актуальном состоянии. Подобный набор средств достаточно традииионен для ИС - /91,99,103,118,217/ и др., и в случае ИСМУ к нему необходимо добавить процедуры, составляющие ес алгоритмический базис.
По отношению к метаданным, хранение и обработка которых больше тяготеет к методам хранения и обработки знаний, соответствующую составляющую ИСМУ можно рассматривать как реализацию некоторого вычислительного формализма представления метаинформации.
Целесообразность такого рассмотрения обусловлена тем, что использование модели вычислительного формализма позволяет осуществить переход от эвристического описания процессов хранения и обработки метаданных к
теоретико-множественному и абстрактно-алгебраическому уропням их описания, то есть достичь уровня абстракции описания ИСМУ, в рамках которого возможно построение формальных моделей представления, формирования, перевода и интерпретации метаинформации.
Взаимосвязь указанных выше составляющих осуществляется через алгоритмы интерпретации компонентов метаинформацни, которые осуществляют вызовы процедур алгоритмического базиса, а эти процедуры выполняют собственно обработку (преобразование) предметных данных.
В соответствии с /218/ вычислительный формализм (ВФ) представления знаний определяется как объединение дескриптивного языка представления знаний и обрабатывающей структуры, образованной множеством процедур, способных реализовать формальный смысл (вычислительную семантик)') описания, составленного на дескрип тивном языке (согласно /190/ такой ВФ можно рассматривать как метод представления знаний).
Применительно к ИСМУ можно построить концептуальную модель ВФ представления метаинформации (далее — вычислительного формализма),. Концептуальность модели обусловлена ее собирательным, обобщающим характером, и находит свое отражение в степени детализации как структуры ВФ, так и описания образующих ее элементов и связей.
Учитывая специфику построения, программной реализации и функционирования ИСМУ, приведенное выше определение ВФ следует несколько изменить и расширить:
с точки зрения представления и хранения метаинформации первичным следует считать не язык, а модель представления метаинформации, ибо (и это показано в главе 3) для одной модели представления может быть предложено потенциально бесконечное множество языков представления;
в структуру ВФ следует ввести трехуровневую организацию, позволяющую разделить абстрактное описание процессов хранения и обработки
метаинформации, инвариантное к программной реализации, и собственно программную реализацию, определяющую внешнее и внутреннее представление метаипформации и выполняемые над ней операции.
Учитывая вышеизложенное, состав концептуальной модели ВФ можно определить как совокупность взаимосвязанный моделей представления и обрабатывающей структуры, декомпозируемых но трем уровням: общения, логическому и внутреннему (рис. 2.11) (можно провести аналогию между этими уровнями и внешними, промежуточными н внутренними языками, подробно описанными в/219/для человеко-машинных систем).
Уровень модели общения составляют модель отображения (визуализации) метаинформации и операционный базис модели общения, понятие и компоненты которой в общем виде рассмотрены, например, в /216Л По сути, в первом приближении модель общения определяет, что увидит на экране монитора пользователь при работе с метаинформацией, и какие действия со стороны пользователя могут быть выполнены. Основным средством формализации и реализации операционного базиса модели общения являются типовые элементы диалога, каждый из которых можно рассматривать как единую самостоятельную операцию, существенную для остальных уровней ВФ.
Внутренний уровень (уровень внутреннего представления) образует собственно программная реализация ИС, то есть этот уровень составляют абстрактные структуры хранения метаданных в терминах используемых языков программирования, и процедуры обработки этих данных.
Логический уровень (уровень абстрактного представления) является цетральным (определяющим) уровнем ВФ, образуемым формальными моделями представления метаинформации и процессов ее формирования и ведения, перевода и интерпретации.
Существенно, чю уровень модели общения и внутренний уровень определяются программной реализацией ИС - при неизменном содержании логического уровня внутреннее содержание и внешнее представление ИСМУ может варьироваться в широчайших пределах, и конкретная реализация зависит как от конструктивных требований к ИС, так и профессионального мастерства разработчиков.
Компоненты всех трех уровней ВФ взаимосвязаны, причем межуровне- вые связи обуславливают тождественность данных и операций различных уровней, что может быть описано формально - например, так, как показано на рис. 2.12 и описано ниже.
Рис.
2.12. Схема взаимосвязей компонентов
различных уровней ВФ при выполнен ни
операций
Введем следующие обозначения:
$а — состояние мета информации, под которым понимается структура и значения метаданных в рамках используемой модели представления мстаин- формации, на логическом уровне;
Sr - состояние мегаинформации, под которым понимается совокупность значений абсчрактных структур логической модели данных на внутреннем уровне (очевидно, что между множествами значений Sa и S, имеет место взаимооднозначное соответствие, определяемое выбранным способом представления логической модели данных в используемом языке программирования Х„
S,-Xr ($»)).
• При рассмотрении операций уровня модели общения, логического и внутреннего уровней как множеств функций F0, F, и Fr соответственно, можно записать
где Sa — состояние метаипформации до выполнения функции Г0;
Sa' - состояние метаинформации после выполнения функции f0; fc - одна из функций множества F0 (Гс е F0).
Очевидно, что выполнение f0 над средой S, приводит к выполнению од- ной или нескольких функций fa € F„ а каждой нз последних соответствует выполнение одной или нескольких функций fr е Fr. Тогда имеет место
где f0 - функция, соответствующая выполняемой операции уровня модели общения;
fa(k> — композиция к функций множества Р, (f0(k) с F,+, k > 0, Fa* — транзитивное замыкание множества F»);
fr(,) — композиция I функций множества Fr (fr111 е Fr+, 1 > 0, Fr+ — транзитивное замыкание множества F).
Пусть М0 - отображение элементов множества Fc на композиции (цепочки) элементов множестпа Fn, Мг - отображение цепочек элементов множества Fa на композиции (тючки) элементов множества Fr:
Me: Fo -> Fa+, Mr: Ft+ -► F*, то есть M0 и Mr задают эквивалентное соответствие на множествах операций различных уровней.
Тогда = Mo (f0), fr(l> = Mf (£***) ■ Mr (M0(f0)), и выполнение операции Г0 можно записать как преобразования Sr' = fr(l) (Sf) = fr(l) (Xr(Sr)) на внутреннем уровне, приводящие к изменениям вида Sa 1 = М0 (foX^a)= X/^S,')
на логическом уровне и отображаемые для пользователя как изменения Х0 (Sd) Хо (Sa'), где Хо -способ отображения метаинформации, выбранный в реализованной модели общения.
При условии инвариантности множества F„ (как множества операций логического уровня) построение ИСМУ предполагает:
определение внутреннего уровня - как отображения М, и множества Fr (Fr = M,(F*)) и способа представления данных Х„ обеспечивающего Sf Xf(Sa);
определение уровня модели общения - как отображения Mo'1 и множества F0 (F0 — Mo'^Fa)) и способа визуализации метаинформацня Хп.
Данное положение демонстрирует первичность логического уровня и возможность изменения реализации ИСМУ при неизменном логическом уровне (например, при изменении версии программной реализации, связанной с изменением операционной среды, вычислительной платформы и т. д.), и дает возможность перейти к рассмотрению содержания процесса создания ИСМУ.
Однако перед описанием процесса создания ИСМУ необходимо ввести понятие схемы формализации, в дальнейшем широко используемое в настоящей работе.
По аналогии с понятием формализации на основе типовых математических схем /218, 219/ под схемой формализации будем понимать принятый способ структуризации и формализации сведений, то есть способ формирования описания в виде совокупности спецификаций, определяющий некую нотацию представления спецификаций и правила их соотнесения с объектами, явлениями и процессами описываемой области (системы). Более подробно понятие спецификаций и схемы формализации, а также примеры конкретных схем и их применения приведены в главе 4. Здесь же следует отметить, что каждый КМИ создается на основе некоторой схемы формализации в рамках общей модели представления метаинформации.
Для неформальной демонстрации соотношения схемы формализации и модели представления на рис. 2.13 приведен элементарный пример представления сведений, описывающих неориентированный конечный граф в рамках одной модели представления (в данном случае - с использованием единственного предиката Р), но разных схем формализации. Для первой схемы предикат
P(x,y,z) интерпретируется как наличие дуги z между вершинами х и у, а для второй предикат Р(х,у) интерпретируется как факт инцидентности дуги х вершине у.
.
Рис.
2.13. Пример описания структуры графа с
использованием двух схем формализации
Таким
образом, выбираемая модель представления
должна обеспечивать применение
требуемой схемы формализации, а схема
формализации определяет применение
модели представления для конкретных
приложений (в интересах конкретных
описаний).
Па
концептуальном уровне общая
последовательность создания ИСМУ может
быть представлена в виде совокупности
действий, сгруппированных в три этапа
работ, предполагающих наличие типовых
моделей логического уровня ВФ ИСМУ. В
данном контексте рассматриваемые этапы
не связываются с какими-либо этапами
работ по созданию автоматизированных
работ, предусмотренными ГОСТ или иными
стандартами. Кроме того, в приведенном
ниже перечне работ сознательно опущены
вопросы создания составляющей ИС в
части предметных данных, а также
технологические аспекты процесса
создания, так как главная цель приводимого описания - демонстрация взаимосвязи элементов концептуальных основ построения ИСМУ, описание которых приведено выше в данной главе
На этапе формирования замысла ('концепции') осуществляются: выбор уровня семантической сложности создаваемой системы — синтаксически неизменная или синтаксически вариантная ИС;
определение степени синтаксической вариантности и области функций ИС, реализация которых будет основана на метауправлении;
определение классификационных признаков вычислительной схемы использования метаинформации и логической структуры создаваемой ИСМУ.
На этапе проектирования ИС формирование проектных решений предполагает:
определение номенклатуры и классификации КМИ, которые будут использоваться в создаваемой системе;
выбор (разработку) схем формализации для каждого типа КМИ; адаптацию модели представления метаинформации, обеспечивающую применение выбранных схем формализации, и уточнение ее вычислительной семантики;
адаптацию (уточнение, упрощение или развитие) формальных моделей процессов формирования, перевода и интерпретации КМИ с учетом используемых схем формализации и принятой модели представления метаинформации;
проектирование компонентов модели общения (интерфейса пользователя, типовых элементов диалога и т. д.) и внутреннего уровня как проекции моделей и средств логического уровня на уровень общения и внутренний уровень ВФ соответственно.
На этапе реализации ИС осуществляется собственно создание компонентов уровня модели общения и внутреннего уровня, завершающееся созданием
базы данных, алгоритмического базиса и соответствующих им начального варианта множества КМИ.
Основываясь на приведенном перечне действий, составляющих содержание процесса создания ИСМУ, можно утверждать, что методология построения ИСМУ, с одной стороны, должна включать в себя некие базовые варианты модели представления метаинформации и процессов ее обработки, пригодные к их последующему применению в конкретных проектах ИСМУ путем расширения используемых видов КМИ, схем формализации метаинформации, языков представления метаинформации и использования частных моделей обработки, учитывающих специфику выполненного расширения. С другой стороны, методология не должна ограничивать возможной реализации уровня модели общения и внугрсннего уровня, возможные решения в этой части создания ИСМУ должны носить характер рекомендаций.
Таким образом, в рамках методологии построения ИСМУ необходимо и достаточно разработать формальные модели представления мстаинформации, а также процессов формирования, перевода и интерпретации компонентов метаинформации. Наличие указанных моделей является необходимым атрибутом ВФ любой ИСМУ, а их содержание инвариантно к конкретной реализации.
Вариант указанных выше моделей, разработанных в рамках настоящего исследования, описан в главе 3.
Выводы no второй главе
В рамках разработанной формальной модели информационной системы с метауправлением вычислительный процесс решения прикладных задач предполагает выполнение компонентов метаинформации, которое заключается в переводе компонента в форму, допускающую его детерминирован- ную интерпретацию, и собственно интерпретацию на текущем содержимом базы данных.
Применение метауправления требует осуществления перевода и интерпретации метаинформации, что, по сравнению с "традиционными" ИС ведет к некоторому снижению оперативности решения задач, которое может быть компенсировано увеличением производительности используемых средств вычислительной техники. В то же время наличие синтаксической вариантности позволяет сократить затраты на возможную модернизацию ИС.
Предложена таксономия вычислительных схем использования компонентов метаипформации. позволившая выделить типовые вычислительные схемы и основанные на них логические структуры ИС с метауправлением.
Для формального описания процессов хранения и обработки метаинформации предложено использовать вычислительный формализм представления метаинформации, расширенный в части средств представления и уровней своей структуры. Из введенных уровней (уровень модели общения, логический уровень и уровень внутреннего представления) определяющим является логический уровень, для которого в рамках методологии построения ИС с метауправлением должны быть разработаны модель представления метаинформации и формальные модели процессов формирования, перевода и интерпретации компонентов метаипформации.
Модели и методы построения средств представления, формирования и обработки метаинформации в синтаксически вариантных информационных системах
Базовая модель представления метаинформации на основе иерархической сети фреймов с вариантной структурой
Модель представления метаинформации (МПМИ) является частью логического уровня вычислительного формализма ИСМУ (см. п. 2.3) и играет важнейшую роль, так как выбранные способы и средства представления метаинформации оказывают существенное влияние на остальные компоненты логического уровня, а через них - и на все компоненты остальных уровней.
Поскольку метаинформация (МИ) представляет собой совокупность декларативных описаний, определяющие (отображающие) структуру предметных знаний и (или) процессы обработки предметных данный (см. п. 2.3), для решения задачи представления’ МИ естественно выбрать какую-либо из известных моделей представления знаний и адаптировать ее к требованиям, предъявляемым к представлению МИ в интересах метауправления.
Согласно /191/, существует четыре основных типа моделей представления знаний: лошческне, продукционные, фреймовые и сетевые (семантические сети), а довольно большое множество разработанных моделей составляют те или иные модификации соответствующего типа /190,191, 193,216,220
222/. Выбор конкрегной модели представления знаний определяется спецификой подлежащих хранению и обработке знаний, которая, в свою очередь, зависит от целей создания вычислительного формализма и задач, подлежавших решению с его использованием.
Создание описанной ниже МПМИ происходило во многом эвристически, то есть задача синтеза МПМИ в формальном виде не ставилась. Изначально
были выбраны четыре основополагающих требования к создаваемой МПМИ:
возможность достижения относительно высокой вычислительной эффективности хранения и обработки данных;
широкий диапазон способов определения вычислительной семантики (формального смысла) и выполнения интерпретации МИ;
возможность применения моделей и методов теории синтаксического анализа, перевода и компиляции для построения средств формирования и обработки компонентов метаинформации;
обеспечение вариантности структуры метаописаний.
Если первое и второе требование были продиктованы практикой, а третий - имевшимися знаниями и практическим опытом (см., например, /36, 80, 223, 224/), то четвертое требование специфично для представления МИ в интересах метауправления.
В соответствии с формальной моделью ИСМУ, приведенной в п. 2.1, метаинформация определяет вычислительный процесс обработки предметных данных, и очевидно, что варьирование МИ позволяет получать различные реализации этих процессов обработки. Однако вариаций можно добиться выбором различных КМИ, изменением имеющихся в них значений (что изменяет протекание и конечные результаты порождаемого процесса обработки, но не его реализацию), а также изменением структуры подлежащего выполнению КМИ. Последнее позволяет при наличии одного исходного КМИ получать существенно разные реализации процесса обработки предметных данных, что предпочтительнее, чем использование множества КМИ, каждый из которых порождает один и только один процесс обработки.
Можно провести некую аналогию с И/ИЛИ-графами в продукционных системах, для которых каждый И-остов будет определять одно решение /221, 225/. Пользуясь этим подходом, для достижения вариантности структуры каждый
КМИ также можно строить как некий И/ИЛИ-граф. Тогда перевод КМИ (по п. 2.1 - перевод КМИ в форму, допускающую его однозначную интерпретацию) можно рассматривать как получение И-остова.
Таким образом, неформально вариантность структуры метаописаний означает возможность выбора некоторой части исходного метаонисания для последующей интерпретации. Такая выбираемая часть далее называется кон- кретизованной (что дает возможность говорить о конкретизованном КМИ), а процесс ее получения - конкретизацией.
Исходя из перечисленных выше требований был разработан ряд моделей представления для различных приложений метауправления, что позволило в конечном итоге сформировать базовую модель представления метаинформации.
В основу базовой МПМИ положены основные принципы сетевого и фреймового подходов к представлению знаний /190, 191, 216, 221, 226/, а также понятийной модели автоматизированного специфицирования, приведенной в 19/. По способу представления знаний базовая модель представления метаинформации (БМПМИ) наиболее близка к неоднородным дискретным иерархическим семантическим сетям /216, 227/, весьма широко используемым при создании разного рода понятийных моделей предметных областей /226, 228,229/. Однако специфика использования БМПМИ - отсутствие логического вывода на знаниях и необходимость вариантной структуры метаописания - привела к созданию уникальной модели.
Дескриптивные знания в БМПМИ представляются в виде иерархически организованной сети понятий (дерева понятий). В качестве понятий выступают сущности (объекты), атрибуты, значения атрибутов и отношения.
Каждое простое (неделимое, атомарное) понятие в БМПМИ представимо информационным элементом (ИЭ), а сложное (составное) - информационной секцией (ИиС).
ИЭ является парой вида (N*Zc), где Nc - имя ИЭ, Zc - содержание ИЭ. Имя ИЭ фиксирует отображаемое попятие, а содержание ИЭ может быть константой или ссылкой.
ИнС является тройкой вида (N$,VS,MS), где Ns - имя ИнС (фиксирует отображаемое понятие), Vs - правило конкретизации ИнС (V, е {’’все из", "одно из", "несколько из", "повтор из", "необязательно"}), Ms - множество элементов секции, каждый из которых может быть константой, ссылкой или переходом. Для правил конкретизации (роль и применение которых описаны в п. 3.3) альтернативными обозначениями являются "И", "ИЛИ", "МИЛИ", "ГГ и "Н" соответственно, что позволяет говоршь об информационных секциях типа "И", тина "ИЛИ" и т. д.
В фреймовой нотации каждому ИЭ соответствует фрейм-ИЭ, а каждой ИнС - фрейм-ИнС, структура которых приведена на рис. 3.1. Единственный слот фрейма-ИЭ хранит содержание ИЭ и является слотом-значением. Слоты фрейма-ИнС соответствуют элементам ИнС и могут быть слотами- значениями или слотами-переходами. В свою очередь, слот-значение может быть константой (конкрстизованной или неконкретизованной) или ссылкой. Классификационная схема слотов фреймов приведена на рис. 3.2.
Рисунок 3.1
Рис.
3.2. Классификационная схема слотов
фреймов
Значением конкретизованнот слота-коистанты является цепочка символов (в общем случае - произвольная), которая может быть и пустой (обозначается как"[]").
Поскольку неконкретшованная константа (обозначается как "?") предполагает в последующем присвоение ей некоторого значения, что требует выполнения определенной процедуры действий, она далее также называется вызовом, то есть в фрейме может быть слот-вызов.
Слот-переход служит для отображения иерархической структуры понятий, основанной на использовании отношения "целое - часть целого" (PART- OF) или "это есть" (IS-A) /219/. Значением слота-перехода является указатель на другой фрейм, то есть слоты-переходы позволяют объединять фреймы в иерархическую сеть фреймов (ИСФ).
Древовидная организация сети предполагает, в частности, что в сети есть ровно один корневой фрейм (корень) и, соответственно, один корневой Ю или одна корневая ИнС.
Пример ИСФ в сетевой и в фреймовой нотации приведен на рис. 3.3 и рис. 3.4 соответственно
Ссылка представляет собой указание на наличие отношения, огличнош от отношений иерархического порядка, между двумя компонентами ИСФ, и определяется как "а ссылка Ь" (а ссылается на Ь), где а - владелец ссылки (имя фрейма, содержащего ссылку), b - объект ссылки (имя фрейма или содержимое слота-значения). Если владелец и объект ссылки принадлежат одной ИСФ, то ссылка является внутренней, а если различным - то внешней. В случае, когда объектом ссылки является слот-ссылка, имеет место "ссылка на ссылку" или "вложенная ссылка". Ограничений на длину цепочек вложенных ссылок не накладывается.
Исходя из приведенного выше описании ЬМПМИ, каждый компонент метаинформации в ИСМУ (uci (1 < i < m) в модели (2.3)) формально может быть представлен как
uCi “(Vi, Dj), V, - Va, v Vzj. D, = Dq u DajVj Dn„ Dnj = Dvjvj De„
где Vi - множество вершим сети фреймов;
D, - множество дуг сети фреймов;
Va; - множество вершин, соответствующих именам фреймов;
Vz; - множество вершин, соответствующих слотам-константам;
DCj - связи между именами фреймов и составляющими эти фреймы сло- тами-константам и;
Da, - связи типа "переход" между именем фрейма, содержащего слот- переход, и именем фрейма, указанным в качестве значения слота-перехода;
Diij - связи типа "ссылка" между именем фрейма, содержащего слот- ссылку. и объектом ссылки;
Dvj - внутренние связи типа "ссылка";
Пе, - внешние связи типа "ссылка".
Множества дуг Dc, Da, Dv и De можно рассматривать как отображение бинарных отношений, заданных на соответствующих множествах:
DCj: Va; Vzj,
Пусть Sa; € Va; - имя корневого фрейма (корневое имя). С учетом введенных обозначений можно сформулировать следующие формальные требования к представлению метаинформации с помощью ИСФ:
(VSi)(B v)((v e Vaj) л (v = SaO л ((Vu)(u e Va, л u t- v) u^Sa*))), то есть для любой ИСФ всегда существует одна и только одна корневая вершина.
Пусть и дост v, если (u,v)€ Da; или (u.v)€ l)Cj, тогда (VuX(u € Va,) a (v * Sa,)) (Sa, дост4 v), то есть каждая вершина достижима из корневой вершины посредством дуг множеств Da; и Dcj.
Пусть S’i “ (Va„ Dcj u Da;), тогда S'j - дерево с корнем Sa* е Va'j, то есть при устранении дуг, соответствующих ссылкам, любая ИСФ становится деревом.
Пусть v дост Э|, а| дост а:,.ар дост и, тогда vai ... anu - путь от v к и, обозначаемый как nyTb(u.v), и iiy rb(v)=nyTL(Sj,v).
Поскольку S', - дерево, то fVv) ((v е Va() л (v * Sa,))(3 путь(у) л |{путь(у)}| > 1), то есть в любой ИСФ для любой вершины существует единственный путь, причем ,r;yTb(Sa., Saj)| = 0.
Пусть v внутренняя ссылка и, если (v,u)eDvj. Тогда и г путь(у), то есть объект внутренней ссылки из вершины v не может быть элементом пути к вершине v.
Пусть v внешняя ссылка и , если (v,u)eDe„ v е V|, u е Vj н i Ф j. Тогда v внешне достижима x , если (3u)((v внешняя ссылка x) л (Э путь(и,х)).
11риведенные требования затрагивают только структурные аспекты по- сгросиия ИСФ и не накладывают каких-либо ограничений на семантику и прагматику представления знаний посредством ИСФ.
Операционный базис как множество операций, определенных на описанной выше БМПМИ, подробно описан в п. 3.3 - 3.5.
Базовый характер описанной выше МПМИ обусловлен возможностью ее применения в качестве основы для создания МПМИ в конкретных ИСМУ.
Основными способами адаптации БМПМИ в интересах различных приложений являются:
введение типов фреймов по отображаемым этими фреймами понятиям (например: сущности, атрибуты, отношения, значения);
введение фиксированного множества возможных типов КМИ, формируемых и (или) обрабатываемых (используемых) по различным правилам (например: шаблоны, формы, спецификаторы и т. д.);
использование различных способов определения вычислительной семантики, в том числе для различных типов КМИ;
ограничения на используемые правила конкретизации или использование комбинаций этих правил;
определение видов и способов представлений значений слотов (включая ссылки), а также способа идентификации элементов ИСФ.
Все перечисленные выше способы так или иначе используются в методиках построения типовых систем обработки данных на основе метауправле- ния, описанных в главе 4, что и объясняет высокую степень детальности приведенного выше описания БМПМИ.
Лингвистические средства представления метаипформации
Базовый язык и текстовая нотация представления метаинформации
Для программной реализации процессов хранения и обработки метаинформации ее необходимо представить в некоторой специальной форме, представляющей собой запись ИСФ на некотором языке, позволяющем отобразить структуру и содержание компонентов ИСФ в виде линейной последовательности символов определенного алфавита.
Простейшим языком представления МИ в рамках БМПМИ может служить язык, правила продукции грамматики которого отображают правила композиции элементов ИСФ в сеть. Данный язык также можно считать базовым - по аналогии с базовостыо МПМИ. а также благодаря его инвариантности к визуализации и внутреннему представлению МИ в программных реализациях ИСМУ.
На рис. 3.5 приведены правила продукции базового языка представления метаинформации (далее - базового языка), в которых неконкретизованная константа обозначена символом значение конкретизованной константы - как "[текст]”, а значение ссылки - как терминальный символ "значениессыл- кн". При конкретной реализации диалектов БЯ эти символы могут представлять собой достаточно сложные конструкции - например, неконкретизованная константа может содержать идентификатор процедуры, подлежащей вызову для конкретизации ее значения, а для представления значения ссылки трсбуется определение правил идентификации элементов ИСФ, которые могут зависеть даже от правил записи идентификаторов файлов с КМИ в той или иной операционной среде. Полное описание грамматики базового языка с примером возможного доопределения правил записи ссылок приведено в приложении I.
Разработанный базовый язык (БЯ) весьма примитивен, и его адаптация к конкретным приложениям может потребовать внесения существенных дополнений.
<понятие> -> <инфэлемент> | <инфсекция>
<инфэлсмснт> ( <имя> <содержаиие> )
<имя> <текст>
<текст> [текст]
<содсржание> -> <текст> 1 <ссылка> ! ?
<ссылка> значениессылки
<инфсекция> <одно из> | <все из> | <иесколько из>| <повтор>
| <необязательно>
<одно из> (ИЛИ <имя> «"множество элементов>)
<все из> -> (И <имя> <мЕЮжество злементов> )
<несколько из> (МИЛ VI <"имя> <множество элементов?*)
<повтор из> (П <имя> <элемент>)
<необязательно> (Н <имя> <элемент>)
<множество элемспгов> <элемент>
<элемент> <миожество элементов>
<элемент> ( <понятне>) | <содсржание>
Рис. 3.5. Правила продукции грамматики базового языка
С другой стороны, для БЯ существует грамматика предшествования (см. приложение 1) , что позволяет реализовать однопроходовый лексический и синтаксический анализатор, и в терминах БЯ достаточно наглядно могут быть приставлены описания процедур формирования, перевода и интерпретации КМИ. В относительно простых приложениях БЯ может быть использован непосредственно в том виде, в котором он приведен в приложении 1, а любые его расширения только дополнят приведенные выше правила грамматики.
Запись КМИ непосредственно на БЯ весьма специфична. Так, для примера, приведенного на рис. 3.3 она будет иметь следующий вид:
(И [Пациент) (И [Учетные данные) ([фамилия] [Иванов]) ([имя] [Сергей]) ([отчество) [Петрович])) ([Диагноз] ?) (ИЛИ [Вид обращения] [первичное] (И [вторичное) ([дата первпчного обращения] 7) ))).
Для наглядной визуализации содержимого КМИ целесообразно использовать текстовое (внешнее, документальное) представление, правила которого также приведены в приложении 1. Определяемая ими нотация древовидного представления была использована в верхней части рис. 3.3 и применяется далее практически во всех примерах содержания КМИ.
Компоненты метаинформации как XML-приложения
Поскольку любая модификация БЯ весьма трудоемка, так как требует внесения соответствующих изменений в лексический и синтаксический анализаторы, особый интерес вызывает возможность применения в качестве альтернативы базовому языку языка XML.
Язык XML (extensible Markup Language, "Расширяемый язык разметки1') - это компактное упрощенное подмножество языка SGML, разработанное Консорциумом W3C /230,231/.
Занимая промежуточное место между SGML и HTML, язык XML предназначен для описания других языков - в отличие от HTML, в XML нет ни одного заранее определенного тега с фиксированным значением, перечень тегов и синтаксис задаются в виде специального DTD (Definition Туре Document) применительно к каждому конкретному использованию языка (рис. 3.6).
Будучи метаязыком, XML является средством создания специализированных прикладных (предметных) языков представления информации. Такие прикладные языки, создание которых заключается в формировании DTD в рамках стандарта XML, получили обобщающее название "XML-приложения
и
в настоящее время находят все более
широкое применение в самых различных
областях - /204,232/ и др.
Рис.
3.6. Основные составляющие применения
XML
Несомненными
достоинствами языка также являются:
наличие стандарта W3C;
кросс-платформенность
и поддержка различных таблиц колировки,
включая UNICODE;
разнесение собственно данных и правил их отображения (обработки) (о отличие от, например, ITTML);
наличие стандартов интерфейсов DOM (Document Object Model) и SAX (Simple API for XML), унифицирующих программные прими тивы для хранения и обработки XML-докумснтов;
поддержка XML в различных средах (и в первую очередь - в распространенных браузерах Internet Explorer 5.0 и Netscape Navigator, средах программирования Delphi, C++, Python, Jawa и др.) через интерфейсы DOM и SAX, то есть наличие множества XML-анализаторов, инвариантных к XML- приложениям.
Таким образом, применение XML позволяет создавать языки для конкретных приложений, описывая их синтаксис через DTD, использовать имеющиеся анализаторы для разбора ХМ L -п рк ложей и й (без каких-либо их изменений - анализатору достаточно указать DTD, содержащее описание синтаксиса), и реализовать процедурную семантику этих языков через специально разрабатываемые процедуры, которые ставятся в соответствие тегам (не обязательно всем), описанным в DTD.
Для представления метаинформации в рамках разработанной БМПМИ существенно также, что любой XML-документ имеет древовидную структуру, и достаточно легко сформировать набор тегов и правил их композиции, пригодных для представления ИСФ.
Достоинством применения XML в этом случае является также и то, что язык, соответствующей базовой модели, может быть легко расширен для конкретных приложений путем расширения множества тегов и правил их композиции, то есть DTD XML-приложения будет включать в себя в том числе DTD дня базовой МПМИ. При необходимости можно строить и множественные "цепочки" языков (например, для разных типов КМИ) - путем последовательного "наращивания" DTD.
Вариант синтаксиса XML-нотации для БМПМИ приведен и приложении 2 (включая описание возможного подхода к решению задачи идентификации КМИ и их элементов, а также записи значений ссылок).
С использованием DTD, описанного в приложении 2, ИСФ, приведенная в качестве примера на рис. 3.3 и в п. 3.2.1 на БЯ, может быть записана так (ряд обязательных атрибутов, используемых дня идентификации, опущен):
<?хш! version®" 1.0" encoding="windows-l 23 i" ?>
<IAND пате="Пациент">
<IAND name-''У четные данные">
<1Е пате-"фам и л ин"> <1ех1>Им»ов<Лех[> </1Е>
<1Е патс="имя"> <texl>Ccpn.*r«</lcxl> </1Е>
<1Е ггатс=',отчссгво"> <1схГ>Пстрович<Лсх!> <ЛЕ>
</IAND>
<1П пате="Диагноз"> <call piocm&ne="?" /> <УСЕ>
<IOR паше^"Вид о6р?.щених">
<(сх1>псрвичнос<Лгх!>
<1AND патс="вторичное'">
<10 name-''дата первичного обращения">
<call procmanc«"?" /><ЛВ>
</lAND> '
</IOR>
</IAND>.
Поскольку такое изображение не всегда наглядно, для отображения содержимого XML-файлов далее также широко используется текстовая нотация, аналогично описанной в приложении 1 для БЯ.
Так как XML имеет свою терминологию для обозначения синтаксических единиц XML-приложений, которая существенно различается в различных переводах игандарта XML (см., например, /230, 231/), на рис. 3.7 на примере схематично показан вариат* определений, используемых в дальнейшем в настоящей работе.
Следует отметить, что на логическом уровне принципиальных различий между представлением МИ с помощью БЯ и как XML-приложения нет:
и в том, и в другом случае синтаксис представления описывается контекстно-свободной грамматикой (и это крайне важно для моделей, представленных в п. 3.4 и п.3.5);
для БЯ можно расширить понятие терминального символа "текст", позволяющее осуществлять эквивалентный переход от БЯ к XML-нотации и наоборот.
Рис. 3.7. Пример использования терминов XML
Из вышеизложенного, в частности, следует, что модели и методы, описанные далее н этой главе, справедливы для обоих вариантов языка представления, ибо. как уже отмечалось выше, определяющий характер имеет выбранная модель представления, а не язык.
3.3. Модель и метод перевода метаинформации, управляемого синтаксисом и данными
Из описания формальной модели СВИС (см. п. 2.1) следует, что с позиций пользователя содержание осуществления метауправления составляют:
формирование и ведение (модификация) компонентов метаинформации;
перевод КМИ на язык представления результатов перевода;
предметная интерпретация результатов перевода.
Важнейшей особенностью осуществления перечисленных процессов является то, что первый и второй из них требуют обязательного активного участия пользователя (либо разработчика - если пользователю функция формирования и модификации КМИ недоступна по принятой вычислительной схеме использования КМИ - см. п. 2.2), а третий - нет. Под активным участием в данном случае понимается воздействие на содержание метаинформации, следствием которого является изменение содержания реализуемого вычислительного процесса преобразования предметных данных.
Описанная в п. 3.1 базовая модель представления метаинформации позволяет определить перевод КМИ как процесс его конкретизации, то есть как процесс преобразования исходного, КМИ в форму, допускающую его детерминированную интерпретацию. Результатом конкретизации является конкретизированный КМИ, то есть КМИ, в котором все ИнС имеют тип "И", а не- конкретизованные константы отсутствуют. В общем случае в конкретном КМИ также должны отсутствовать и внешние ссылки, хотя возможны ситуации, когда это правило имеет исключения (например, ссылки на функции, описанные в л. 3.4). Однако подобные исключения носят частный характер, учитываются при реализации и далее не рассматриваются.
Причины нсдетерминизма исходных КМИ и целесообразность его наличия в КМИ также подробно описаны в п. 3.1.
Очевидно, что в частном случае возможны ситуации, когда исходный КМИ изначально конкретизирован - тогда перевод не осуществляется, и такой КМИ сразу может быть интерпретирован.
Конкретизованность определяется по следующим правилам:
слот-константа всегда конкретизован;
слот-вызов является нсконкретизовашшм * его конкретизация требует вызова указанной в нем процедуры и замены данного слота-вызова слотом- константой, содержащей результат выполнения вызванной процедуры;
ИЭ конкретизован, если конкретизован его слот:
слот-переход конкретизован, если конкретизован ИЭ (ИнС), имя которого (которой) указано в качестве значения этого слота;
слот-ссылка конкретизован, если конкретизован объект ссылки;
ИнС конкретизована, если выполнено правило ее конкретизации и слоты, оставшиеся в секции после выполнения этою правила, также конкретизо- ваны.
В общем случае выполнение правила конкретизации ИнС не зависит от состояния конкретизованности элементов, входящих в секцию.
Краткое описание правил конкретизации ИнС различного типа и соответствующие примеры приведены в габл. 3.1.
Конкретизация значения информационной секции с правилом "И" ("все”) требует конкретизации значений всех ее слотов. Выполнения правила конкретизации для такой секции не требуется (то есть для секции "И" правило конкретизации можно считать всегда выполненным).
Выполнение правила "ИЛИ" ("одно из") требует выбора только одного из множества слотов, входящих в состав секции. В этом случае множество слотов можно интерпретировать как множество всех допустимых значений атрибута, являющегося именем секции. Секция с правилом "одно из" будет конкретизована, если выполняются два условия - атрибуту поставлен в соответствие один элемент из множества слотов (выполнена интерпретация атрибута секции на допустимом множестве его значений, то есть выполнено правило конкретизации) и этот элемент является конкретизованным.
ТАБЛИЦА
3.1
Так, например, выполнение правила конкретизации для секции
(Заболевании'.
ИЛИ
(Кори]
(Грипп)
(Паразит)
заключается н ныборе одной из альтернатив ([Корь], [Грипп], [Пара- тит]), в результате чего секция станет конкретизованной (так как любая из альтернатив есть всегда конкретизованный слот-константа) и примет вид
{Заболевание) или [Заболевание] или [Заболевание)
I (Корь] L [Грипп) (Паратит) .
Правило "МИЛИ" ("несколько из") отличается от "ИЛИ" тем, что атрибуту может быть поставлено в соответствие более одного элемента множества
слотов (вплоть до всех). Например, выполнение правила конкретизация для секции с конкрстизованны.ми слотами-констаитами вида
(Тип прививки]
МИЛИ
(БЦЖ)
[Грипп]
| Иммуноглобулин I
[КДС-привнвка]
[Корь]
[Манту]
[Паротит]
[Трианатоксин]
при выборе второго, четвертого и питого элементов превращает ее в конкретизованную секцию вида
(Тип прививки]
I-[Грипп]