Технология разработки решателя на основе расширяемого редактора инфоресурсов

В документе Модель представления информационных ресурсов описаны: В данном документе приведено описание функциональности расширяемого редактора информационных ресурсов  — Extensible Improved Web Editor (далее ExIWE) в процессе формирования и модификации информационных ресурсов, представляющих как метаинформацию, так и объектную информацию. Необходимо отметить, что использование термина "информационный ресурс" подразумевает, что речь идёт о представлении информационного ресурса в виде семантической сети.
Процесс редактирования информационных ресурсов, представляющих метаинформацию, является исключительно контекстно-свободным, в то время как процесс редактирования информационных ресурсов, представляющих объектную информацию, может быть как контекстно-свободным, так и контекстно-зависимым.

Содержание

Основные понятия

Активное понятие
Понятие информационного ресурса, выбранное пользователем для выполнения некоторой операции над ним (редактирование значений его атрибутов, удаления отношения к нему от понятия предка или выбор его в качестве текущего понятия), с целью просмотра (путём навигации по подсети его понятий-потомков) и/или формирования (путём порождения новых понятий — прямых потомков и отношений к ним или создания ссылок на уже существующие понятия) его содержания.
Зависимое клонирование понятия
Создание нового понятия, такого что:
Зависимое клонирование множества понятий
Создание множества новых понятий (количество которых совпадает с количеством понятий в клонируемом множестве), такого что каждое его понятие является результатом зависимого клонирования соответствующего понятия клонируемого множества понятий. После создания зависимого клона множества:
Примечание. Свойства (ограничения для) операций (изменение, удаление, добавление) над исходным и множеством клонированых понятий (множеств понятий) введены по аналогии со свойствами таких же операций над содержимым информационного ресурса, представляющего метаинформацию, и содержимым множества информационных ресурсов, представляющих (объектную) информацию — < Si,Mi={I1,...,Ik}> .
В данном случае исходное понятие (множество понятий) есть аналог Si, а множество клонированных понятий (множеств понятий) — аналог Mi .
Контекстно-зависимые информационные ресурсы
Множество информационных ресурсов будем называть контекстно-зависимым, если значения и/или содержание некоторых понятий этих информационных ресурсов должны находиться в соответствии со значениями и/или содержанием других понятий тех же или других информационных ресурсов, в том числе и, принадлежащих множествам с другой метаинформацией.
Независимое клонирование понятия
Создание нового понятия, такого что:
Независимое клонирование множества понятий
Создание множества новых понятий (количество которых совпадает с количеством понятий в клонируемом множестве), такого что каждое его понятие является результатом независимого клонирования соответствующего понятия клонируемого множества понятий.
Примечание. Клонирование информационного ресурса, не содержащего ссылки на другие информационные ресурсы, можно рассматривать как независимое клонирование множества понятий. Клонирование информационного ресурса, содержащего ссылки на другие информационные ресурсы, может рассматриваться в трёх вариантах:
Редактирование информационных ресурсов
Процесс их интерактивного создания или изменения.
Текущее понятие
Активное нетерминальное понятие, являющееся источником для некоторой подсети понятий информационного ресурса. Каждому текущему понятию соответствует одно или более состояний процесса редактирования. Состояние характеризуется тем, что для навигации/редактирования доступна только подсеть с текущим понятием в качестве источника. В процессе редактирования ExIWE может накапливать историю состояний (представленную списком).

Общие сведения

ExIWE предназначен для:

Цикл работы расширяемого редактора структурированной информации

Цикл работы ExIWE при формировании некоторого информационного ресурса состоит в общем случае из следующих этапов:
  1. Автоматическое формирование фрагмента информационного ресурса.
  2. Отображение порождённого фрагмента информационного ресурса, при котором пользователю предоставляются следующие возможности (активируемые им через соответствующие интерфейсные элементы):
  3. Выполнение выбранного пользователем действия — одного из перечисленных в п. 2:

Способы формирования и изменения содержимого редактируемого информационного ресурса

Способы формирования и изменения содержимого редактируемого информационного ресурса, состоящие в формировании и изменении значений и содержания понятий редактируемой сети, предполагают как использование непосредственно встроенной в ExIWE функциональности, так и обращения из ExIWE к агентам платформы (посредством посылки им сообщений по заданному шаблону), которые самостоятельно модифицируют редактируемый информационный ресурс (при этом должно сохраняться соответствие редактируемого информационного ресурса его метаинформации). Стоит отметить, что можно выделить множество операций по формированию и изменению содержимого информационных ресурсов, которые применимы только при редактировании сетей, представляющих объектную информацию, либо, наоборот — сетей, представляющих метаинформацию, однако совокупность условий применимости отдельно описывается в предусловиях к соответствующей функции (возможности).

Таблица соответствий

Таблица соответствий Ti в паре Pi = < Si,Ti > сопоставляет понятиям сети Si обращения к агентам платформы для формирования или изменения в процессе редактирования сети Ij ∈ Mi = {Ij | j=1,k;} фрагментов последней. При порождении по отношению-прототипу, концом которого является понятие V ∈ Si, если V ∈ Ti (т.е. на V есть ссылка из Ti), то в Iij под соответствующим понятием достраивается/модифицируется подсеть, сформированная указанным в Ti агентом Agent посредством посылки этому агенту сообщения с заданными в Ti параметрами. Среди прочих параметров в посылаемом агенту Agent сообщении должна содержаться ссылка на понятие v редактируемого информационного ресурса Iij, содержание (подсеть) которого создаётся или модифицируется агентом Agent. Данный параметр является неявным: он не задаётся в таблице соответствий Ti, но помещается в сообщение редактором ExIWE.
Структура (метаинформация) таблицы соответствий ST, которая является входным формальным параметром Расширяемого редактора инфоресурсов ExIWE, имеет следующий вид:
1
(открыть в полном размере)

Использование Таблицы соответствий можно посмотреть на примерах агентов "Присваивание" и "Выбор" — агентов для поддержки контекстно-зависимого редактирования объектных информационных ресурсов, а также агента "АИСТ" — агента, поддерживающего ввод и отображение фрагментов объектных информационных ресурсов в виде текстов.

Представление структурных сортов расширяемой библиотеки сортов платформы

Каждый структурный (библиотечный) сорт есть агент платформы, помещенный в специальный раздел Проблемно-независимой предметной области. Такой агент должен содержать методы (блоки продукций) для:
  1. создания значений (объектов) данного сорта;
  2. получения значений (объектов) данного сорта;
  3. модификации значений (объектов) данного сорта;
  4. отображения значений (объектов) данного сорта в интерфейсе.
Агент может содержать также другие методы (блоки продукций) для работы со значениями (объектами) соответствующего сорта.
В информационном ресурсе нетерминалы-значения и терминалы-значения структурного сорта представляются понятиями, описывающими значение типа BLOB, в котором содержится байт-код значения (объекта) соответствующего сорта (экземпляра соответствующего класса).
Схема взаимодействия редактора ExIWE с агентами платформы, представляющими структурные сорта расширяемой библиотеки сортов, выглядит следующими образом.
Среди прочих параметров в посылаемом агенту платформы сообщении должна содержаться ссылка на понятие v обрабатываемого информационного ресурса Ij
(кроме случая п. 1 — создания значений (объектов) данного сорта):

Контекст информационного ресурса

Для информационного ресурса I* должна быть возможность указывать (задавать) его контекст — [K1,...,Kn] — (полные) названия (или ссылки) тех информационных ресурсов, от которых он зависит I*[K1,...,Kn] (фрагменты которых используются при формировании информационного ресурса I*).
Пример (дополнительно см. раздел "Агенты для поддержки контекстно-зависимого редактирования объектных информационных ресурсов").

Повторная используемость значений понятий

Наряду с возможностью повторной используемости фрагментов информационных ресурсов (реализуемой ссылками) предлагается предусмотреть возможность делать связанными значения понятий информационных ресурсов. Это означает, что некоторое заданное значение Value* во всех информационных ресурсах, в которые оно входит, означает одно и то же (выражает одну сущность), но содержание у всех понятий {v1,...,vn}, имеющих значение Value*, может быть различным.
Таким образом, понятия v1,...,vn находятся между собой в отношении зависимого клонирования, а это означает то, что изменение значения Value* на Value** у исходного понятия из множества понятий v1,...,vn(например, v1), ведёт к тому что значение Value* должно измениться на Value** у всех остальных понятий ( v2,...,vn, в данном случае).
Пример. При формировании базы знаний База знаний* необходимо, чтобы множество признаков (A) совпадало с множеством признаков (B), описанных в базе наблюдений База наблюдений*. Для этого выполняется зависимое клонирование множества B, результатом которого является множество A. Таким образом, множества A и B должны состоять в отношении зависимого клонирования (A ≂ B).
Множество нормальных значений (C) заданного признака p' в База знаний* должно быть непустым подмножеством множества всех возможных значений (D) признака p', заданных в База наблюдений*. Для этого выполняется зависимое клонирование элементов выбранного пользователем подмножетсва (D') множества D' (D'⊂D), результатом которого является множество C. Таким образом, элементы множеств C и D' должны состоять в отношении зависимого клонирования (C ≂ D').
TODO: подумать над тем, как и на каком уровне (API, Cache) это реализовать!

Автоматическое формирование фрагмента объектного информационного ресурса

Выполняется построение фрагмента сети I, который однозначно определяется сетью S. Данный фрагмент есть результат автоматически запускаемого процесса применения правила порождения 4.

Отображение и навигация по информационному ресурсу

Навигация по сети понятий, представляющей информационный ресурс, с целью просмотра и/или редактирования последнего начинается с понятия-источника сети, которое на начальном этапе является единственным активным, а также текущим понятием. Понятия сети визуально представляются следующим образом: При навигации пользователю доступны следующие возможности:

Активация понятия

Деактивация понятия

Просмотр комментария (активного или неактивного) понятия

Возврат к предыдущему состоянию

Раскрытие содержимого информационного ресурса

Скрытие содержимого информационного ресурса

Операции над активным понятием

Все описанные в данном разделе операции над активным понятием выполняются с использованием встроенной в ExIWE функциональности (которая совпадает с функциональностью IWE) — без обращения к агентам платформы.

Редактирование значений атрибутов понятия

Для всех видов понятий (включая понятие-источник сети) определена операция: Остальные операции по изменению значений атрибутов понятия различаются в зависимости от вида последнего.

Понятие, описывающее сорт

Для нетерминальных и терминальных понятий, описывающих сорт, и принадлежащих, таким образом, только множеству понятий семантической сети, представляющей метаинформацию, определены следующие операции:
  1. Изменение имени понятия.
  2. Изменение сорта понятия.

Понятие, описывающее значение

Для нетерминальных и терминальных понятий, описывающих значение, определена операция:

Модификация содержания понятия

Удаление отношения к понятию

Изменение спецификатора входящего в понятие отношения

Таблица совместимости спецификаторов
Факультативный вариант для каждого спецификатора в таблице опущен ввиду действия двух основных правил:
  1. любой спецификатор всегда может быть изменён на свой факультативный вариант, равно как и наоборот;
  2. в остальных случаях нефакультативные и факультативные варианты других спецификаторов неразличимы, поскольку считается, что во множестве M = {I1,...,Ik} существует отношение relation*, у которого отношение-прототип есть proto_relation* (в противном случае изменение спецификатора отношения proto_relation* выполняется без анализа правил таблицы совместимости спецификаторов).
= ! + ~
=
! [5]
+ [6] [7]
~
Пояснение.

Изменение порядкового номера исходящего из понятия отношения

Выбор понятия в качестве текущего

Генерация содержания активного понятия

Все описанные в данном разделе операции по генерации содержания активного понятия выполняются с использованием встроенной в ExIWE функциональности (которая совпадает с функциональностью IWE) — без обращения к агентам платформы.

Генерация в метаинформации (с использованием конструктивных элементов Языка ИРУО)

Создание нетерминального или терминального понятия, описывающего сорт

Создание нетерминального или терминального понятия, описывающего значение

Создание ссылки на понятие


Примечание. Генерация содержания активного понятия v с использованием примитива описать вариант альтернативы отличается от использования примитива описать элемент цепи тем, что в первом случае (тип набора исходящих дуг = альтернатива) прямые потомки понятия v — w1,...,wn представляют собой множество альтернативных понятий, т.е. при генерации объектного инфоресурса Iij и использовании для порождения одного (любого) из этих понятий-потомков и отношения к нему (v → wi , i=1,n ) в качестве прототипов для создания понятий и/или отношений в объектном инфоресурсе Iij, остальные n-1 понятий и отношений исключаются из множества доступных для порождения по ним в Iij (см. также п. 3 раздела Общие правила порождения содержания понятий).

Генерация в объектной информации (на основе прототипов отношений и понятий из метаинформации)

Порождение нетерминального или терминального понятия, описывающего сорт

  1. В соответствии с правилом порождения 1.
  2. В соответствии с правилом порождения 2.
  3. В соответствии с правилом порождения 3.

Порождение нетерминального или терминального понятия, описывающего значение

  1. В соответствии с правилом порождения 4.

Порождение ссылки на понятие

Переход к формированию фрагмента метаинформации

Примеры агентов

Агенты для поддержки контекстно-зависимого редактирования объектных информационных ресурсов

В данном разделе приведены примеры агентов, обеспечивающих контекстно-зависимое редактирование информационных ресурсов, представляющих объектную информацию.
Пусть
2
(открыть в полном размере)

3
(открыть в полном размере)

Описание задачи

Рассматривается следующая задача:
С помощью редактора ExIWE порождается информационный ресурс I*, метаинформацией которого является информационный ресурс S*, с использованием в качестве контекста информационного ресурса I**, метаинформацией которого является информационный ресурс S**.
При этом требуется, чтобы: Для решения этой задачи в таблице соответствий T* ("Таблица соответствий для БЗ") используются обращения к агентам "Присваивание" и "Выбор" (см. рис. выше).

Агент "Присваивание"

Данный агент на этапе автоматического формирования фрагмента сети Ij клонирует в него содержание другого нетерминального понятия  — того же (Ij) или другого ( Ip|j ≠ p ) информационного ресурса, в том числе и с другой метаинформацией (I'i).
Сообщение к агенту "Присваивание" содержит следующую информацию[9]: Условие применимости этого агента:
У вершины W в информационном ресурсе S** существует единственное входящее отношение, началом которого является понятие W0, а в информационном ресурсе I** существует единственная вершина w0, для которой вершиной-прототипом в метаинформации S** является вершина W0.
При обработке сообщения выполняются следующие действия:

Агент "Выбор"

Данный агент предоставляет возможность при формировании сети Ij в интерактивном режиме выбрать подмножество из множества понятий, являющегося содержанием другого понятия — из того же (Ij) или другого (Ii| j ≠ i) информационного ресурса, в том числе и с другой метаинформацией (I'i). Элементы выбранного подмножества понятий клонируются (зависимо), и множество этих зависимых клонов становится содержанием активного нетерминального понятия.
Сообщение к агенту "Выбор" содержит следующую информацию: Условие применимости этого агента:
Для вершины v в информационном ресурсе I* существует единственная вершина (совпадающая с v или являющаяся её предком) — v0, для которой вершиной-прототипом в метаинформации S* является V0.
При обработке сообщения выполняются следующие действия:

Текстовый ввод и вывод по грамматике (агент "АИСТ")

В данном разделе приведён пример агента, поддерживающего ввод и отображение фрагментов объектных информационных ресурсов { Mi = { I1,...,Ik } |i=1,∞ } в виде текстов — агента "АИСТ". Данный агент решает две задачи:
Первая задача может быть сформулирована следующим образом:
Дано: Найти: Вторая задача может быть сформулирована следующим образом:
Дано: Найти: Структура (метаинформация) грамматики — SG имеет следующий вид.
4
открыть в полном размере

Сеть Si, описывающая структуру языка пропозициональной логики, имеет следующий вид:
5
открыть в полном размере

Сеть Gi, описывающая грамматику языка представления множества пропозициональных формул, имеет следующий вид:
6
открыть в полном размере

Правило грамматики, правая часть которого представляет собой альтернативу синтаксических конструкций, являющихся, в данном случае, нетерминальными понятиями сети Si, выглядит следующим образом:
7
открыть в полном размере

Правило грамматики, правая часть которого представляет собой конкатенацию синтаксических конструкций — двух нетерминальных понятий сети Si и элемента конкретного синтаксиса, выглядит следующим образом:
8
открыть в полном размере

Правило грамматики, правая часть которого представляет собой перечисление (итерацию, повторение) синтаксической конструкции — нетерминального понятия сети Si через символ-разделитель, являющийся элементом конкретного синтаксиса, который, вместе с тем, не должен быть завершающим (т.е. он не должен стоять после последней повторяющейся конструкции):
9
открыть в полном размере

Правило грамматики, правая часть которого представляет собой конкатенацию синтаксических конструкций — нетерминального понятия сети Si и двух элементов конкретного синтаксиса, выглядит следующим образом:
10
открыть в полном размере

Фрагменты сети Gi, описывающие остальные правила грамматики языка представления множества пропозициональных формул, даны здесь: 2, 3, 4, 5, 7, 8, 10, 11.
Таблица соответствий Ti в паре Pi = < Si,Ti > имеет следующий вид:
11
открыть в полном размере

Сообщение к агенту "АИСТ" содержит следующую информацию: При обработке сообщения выполняются следующие действия:

Агенты для для представления структурных сортов

В данном разделе приведены примеры агентов, представляющих структурные сорта расширяемой библиотеки сортов платформы — "Дата" и "Прямоугольная целочисленная таблица" с именованными строками и столбцами.

Агент "Дата"

Сообщение к агенту "Дата" содержит следующую информацию: При этом: При обработке сообщения с задание ∈ { "создать дату", "изменить дату", "отобразить дату" } агент "Дата" должен сформировать интерфейс, отображающий поле(-я) для ввода даты: Также агент должен содержать блоки продукций или продукции для получения даты, а также по отдельности — числа, месяца и года.

Агент "Прямоугольная целочисленная таблица"

Сообщение к агенту "Прямоугольная целочисленная таблица" содержит следующую информацию: При этом: Обработка сообщения: Примечание. При отображении таблицы в интерфейсе могут быть реализованы возможности, облегчающие просмотр и навигацию по таблице. Например, можно указывать количество одновременно отображаемых строк и т.п.
Также агент должен содержать блоки продукций или продукции для получения строки, столбца и конкретного элемента таблицы на основе полученных в сообщении названия (номера) или координат элемента.

Примечания

  1. Редакторы IWE и ExIWE представляют собой два различных решателя. Если для редактирования информационного ресурса достаточно функциональности IWE, то можно использовать его. Если же в процессе редактирования необходима функциональность, не поддерживаемая редактором IWE, то её можно реализовать в отдельных агентах, а затем использовать редактор ExIWE с возможностью обращения к реализованным агентам платформы
  2. При этом открывается вторая панель, в которой отображается интерфейс агента, а в первой панели фрагмент редактируемого информационного ресурса становится недоступным для редактирования (другими словами, ExIWE принудительно переводится в режим просмотра). По окончании работы пользователя с интерфейсом агента вторая панель закрывается, а фрагмент редактируемого информационного ресурса снова становится доступным для редактирования (ExIWE снова переводится в режим редактирования).
  3. Такие понятия могут появляться в следующих случаях:
  4. Это приводит к появлению несвязных подсетей, к корневым понятиям которых затем в режиме ссылки можно будет устанавливать отношения от вновь порождаемых (на основе v ) во множестве объектных информационных ресурсов M = { I1,...,Ik } понятий {conceptj} .
  5. Если понятие-конец данного отношения vимеет значение базового сорта Целое и значения всех понятий из множества понятий M = { I1,...,Ik }, для которых v является понятием-прототипом, равны 1.
  6. Если во множестве объектных информационных ресурсов M = { I1,...,Ik }, !∃Ii | i=1,k, такой что в нём существует больше одного отношения, у которых отношение-прототип есть proto_relation*.
  7. Если понятие-конец данного отношения v имеет значение базового сорта Целое и ∀Ii ∈ M={I1,...,Ik }значения всех понятий, для которых v является понятием-прототипом, образуют монотонно возрастающую последовательность натуральных чисел.
  8. Для читателей, знакомых с текстовым представлением информационных ресурсов (ТПИР).
  9. Серым цветом указаны параметры, присущие сообщениям, посылаемым ExIWE всем агентам, формирующим или изменяющим редактируемый информационный ресурс.