Архитектура Базы Знаний БРАВО.
Введение.
Раздел 1.
Текст раздела 1.
Раздел 2.
Текст раздела 2.
Раздел 3.
Текст раздела 3.
Проблемы построения информационных систем привели к необходимости создания нового инструмента для их решения. Такой инструмент должен представлять собой некоторую "среду решения задачи", которая обеспечивала бы решение задачи в терминах самой задачи.
"Среда решения задачи", содержащая средства представления и хранения информации, средства разработки, принципы построения и решения задач - является технологией, которая получила название "БРАВО".
При разработке технологии основное внимание было уделено принципам отображения Предметной Области (ПО) в формальную систему. Именно способ отображения информации, точность и полнота отображения, отличают одну технологию от другой. Достижение качественного отображения информации с возможностью передачи различных смысловых оттенков невозможно без хорошего понимания законов образования знаний и законов выражения их смыслового содержания в конкретном языке. Кроме этого важное значение имеет внутренняя организация знаний в формализованной системе, принципы хранения и обработки знаний, которые обеспечивали бы гибкость организации знаний и эффективную работу с ними различных прикладных алгоритмов.
Законы отображения сущностей ПО в ее знаковой (семиотической) модели, а также правила построения и интерпретации в ПО различных языковых конструкций являются Формальной Семантикой. Создание теории формальной семантики, являющейся непротиворечивой и обеспечивающей строгость представления знаний и их интерпритацию, сделало возможным разработку языка описания знаний "DSL", который обладает выразительными возможностями адекватными естественному языку.
Любая информация, составляющая знания о Предметной Области, может быть отнесена к одной из Семантических Категорий:
"Признак", "Объект", "Логическое Объединение", "Семантическая Координата (Параметр)",
"Взаимосвязь", "Ситуация", "Событие", "Процесс".
Причем одни семантические категории могут включать в себя другие. Принципиально возможно выделение новых категорий
при решении специфических задач (например, для решения математических задач возможно выделение категорий, соответствующих
математическим категориям). Каждой категории соответствуют свои правила отображения и интерпритации. В DSL категории отображаются соответствующими
синтаксическими конструкциями. Любая конструкция является "лексемой" и может быть использована для построения новых конструкций.
Формирование модели Предметной Области состоит из двух частей: формирование лексики, составляющей ПО, и формирование ситуаций, описывающих состояние и изменение ПО.
В соответствии с этим в Модели ПО выделены две части: Лексическая Модель (ЛМ) и Информационная Модель (ИМ).
Основу Лексической Модели составляют Признаки, задающие набор значений для дифференцации сущностей, Объекты, составляющие "точки пересечения" информации и
Взаимосвязи, обеспечивающие соотнесение сущностей. Все сущности ПО вне зависимости от Семантической Категории могут образовывать различные иерархии:
Общее-Частное, Часть-Целое и др. Лексическая Модель не описывает Предметную Область, а только задает "элементы", необходимые для
построения описаний. Сами описания формируется по следующей схеме:
1. Формируются предложения, отображающие некоторые факты ПО. Количество и вид используемых предложений определяются ЛМ и могут быть в
любой момент расширены (это касается и любых других элементов ЛМ).
2. Полученные предложения группируются с использованием различных Логических Объединений ("И", "ИЛИ", "ИСКЛ.ИЛИ" и т.п.) в Ситуации.
3. Отнесение ситуаций ко времени и месту образует События.
4. Все события составляют Процессы, причем одно и тоже событие может входить в различные процессы.
Все описания, составляют Информационную Модель. Пользователю предоставляется возможность группировать описания в некоторые
множества и задавать их физическое расположение. Поскольку ВСЯ информация выражена на DSL, то множества не зависят от содержания информации и
в любой момент описание может быть перенесено между множествами. Такая гибкость позволяет оптимизировать ИМ для решения конкретных задач.
Лексическая Модель и Информационная Модель образуют единую Модель Предметной Области. Для решения конкретной задачи строится своя Модель, но при
ее построении широко используются существующие фрагменты моделей, описывающие типовые решения. Модель может наращиваться и изменяться в любой
момент времени. Уже на первых шагах построения модели можно оценить правильность принятых решений.
Для работы пользователя с Моделью создаются прикладные интерфейсы, обеспечивающие формирование соответствующих описаний. Такие интерфейсы
являются внешними по отношению к Модели и могут быть просто изменены.
Для решения задач, пользователю предоставляются следующие компоненты технологии:
- Ядро системы (База Знаний)
-
Ядром системы является система управления знаниями с языком представления знаний "DSL". Основными задачами ядра
является формирование Модели ПО и ее эксплуатация. Система обеспечивает эффективное хранение, извлечение и обработку информации в Модели.
Пользователю предоставляются различные интерфейсы доступа к Модели и программные средства для ее создания и обслуживания.
Все ядро системы написано на языке программирования С++, что обеспечивает его высокую эффективность и возможность перенесения на различные операционные платформы. - Интерфейс прикладного программирования
-
В качестве языка прикладного программирования используется "Java". Для критичных к скорости выполнения пользовательских
процедур используется C++. Принципиально возможна реализация интерфейса и с другими языками программирования.
Интерфейс к ядру системы реализован в виде набора классов, основными из которых являются:
Dis - обеспечивает построение "DSL" описаний. Этот класс соответствует понятию "лексема" и является "кирпичиком" для построения любых описаний. Пользовательская процедура составляет необходимое описание при помощи Dis, причем при построении описаний широко используются различные шаблоны, и передает его на вход класса Model. Результат также получается в виде соответствующей Dis.
Model - обеспечивает сохранение, извлечение, поиск и удаление Dis из Модели. В этом классе также предоставляется интерфейс по созданию Модели и интерфейс к "службе имен", обеспечивающей формирование уникальных идентификаторов для сущностей.
Остальные классы соответствуют различным вспомогательным объектам: Дата/Время, обработчик исключений, трассировка и др.
В Java также вынесен интерфейс к "Библиотеке управляющих элементов", позволяющий использовать их точно так же, как и стандартные элементы, предоставлямые в Java. - Библиотека управляющих элементов
-
Для организации интерфейса с пользователем реализована библиотека интерфейсных элементов, которая обеспечивает
представление в удобном для пользователя виде сущностей, хранящихся в Модели
(см Пример экранной формы интерфейса).
В библиотеке можно выделить несколько классов элементов:
- отображение простых характеристик (дата, строка, число, деньги, и др);
- отображение структурных характеристик (дерево характеристик, списки объектов, иерархические списки объектов, таблица);
- отображение описаний (древовидное отображение, отображение с закладками, отображение на основании пользовательских элементов);
- средства комбинирования (позволяют любой элемент сделать в виде выпадающего элемента);
- средства поддержки диалогов (базовый класс пользовательских диалогов, закладки);
- вспомогательные элементы (библиотечные кнопки, командный элемент, шрифты, подсказки, шаблоны);
- доступ к универсальному клиенту;
Список существующих элементов постоянно расширяется. - Конструктор модели и Транслятор DSL
-
Разработка Модели может осуществлятся как непосредственно на языке "DSL" в текстовых файлах, так и при
помощи Конструктора модели. Для преобразования текстовых файлов в Модель, а также выгрузки Модели в текстовые файлы
используется Транслятор DSL. Текстовый режим удобен для формирования больших массивов информации (например, для конвертирования
существующих данных). Конструктор обеспечивает отображение в наглядной форме структуры модели
(см Пример структуры модели: Общее-Честное,
Часть-Целое) и
ее модификацию. Модификация осуществляется путем переноса мышью управляющего элемента на соответствующий элемент модели
(в качестве управляющего элемента может выступать и другой элемент модели). Результатом воздействия может быть как непосредственное
выполнение команды, так и диалог с пользователем для получения или изменения информации. При этом Конструктор отслеживает все необходимые
изменения и не позволяет вводить семантически неправильную информацию. Такой подход обеспечивает интуитивно-понятный
интерфейс и существенно облегчает построение модели.
Транслятор и Конструктор удачно дополняют друг друга и позволяют более эффективно формировать и заполнять Модель. - Универсальный клиент (Bis)
- Работа с Моделью пользователем осуществляется при помощи универсально клиента Bis (см Пример экранной формы универсально клиента). Bis обеспечивает отображение и редактирование любой сущности Модели в электронной карточке, при этом пользователь может открыть любое количество необходимых ему карточек. Между карточками возможен переход по объектам (гипер-объект). Cit также обеспечивает построение запросов, вызов операций пользователя, вызов отчетов, печать, работу со справочниками и обслуживание модели. Cit может быть сконфигурирован на решение любой задачи. Для этого пользователю предоставляется возможность настройки навигационной панели объектов, списка операций, отчетов, типовых запросов. Настраиваются также панель инструментов и меню системы.
- Типовые компоненты
- В процессе решения задачи пользователю предоставляется возможность оформления своих решений в виде некоторых компонентов. Компонент является независимым интерфейсным элементом и может быть использован повторно, при этом работа с компонентом осуществляется так же, как и с любым другим элементом интерфейса. Использование компонентов упрощает разработку и дальнейшее сопровождение программы. Наличие существующих типовых компонентов обеспечивает быструю разработку и адаптацию программы для нужд пользователя.
- Типовые решения
- Технология "БРАВО" не только предоставляет инструмент для решения задачи, но и упорядочивает, структурирует само решение. Это позволяет решать задачу более универсально, т.е. решение, использованное в одной задаче, может быть применено и для решения другой. Существующие средства абстрагирования, также делают решения более универсальными. Решение, которое обладает достаточной универсальностью и может быть адаптировано при помощи изменения модели, называют механизмом. Разработчиками системы уже созданы некоторые механизмы, которые могут быть успешно использованы для решения различных задач.
Разрешается любое использование этого материала при условии обязательного явного указания адреса вэб-сайта http://www.bryl.ru/