Исследование и разработка фреймовой модели структуры документа

Анализ существующих моделей и подходов к моделированию электронных документов. Выделение нерешенных частей проблемы моделирования структуры документа. Задача разработки фреймовой модели структуры документа. Сущность фреймов-прототипов и фреймов-примеров.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 19.06.2018
Размер файла 61,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Исследование и разработка фреймовой модели структуры документа

В.М. Левыкин, М.А. Керносов

Предложена фреймовая модель структуры документа на основе представления фрейма расширенного понятием «интерфейс» с целью реализации средствами объектно-ориентированного программирования и разработана процедура логического вывода, основанная на реализации фреймами интерфейсов.

Ключевые слова: документ, модель, фрейм, интерфейс, структура данных.

Введение

Тенденции развития информационных систем (ИС) и систем электронного документооборота (СЭД) направлены на обеспечение их взаимодействия в информационном пространстве объекта управления (ОУ) [1], что подразумевает их интеграцию не только на уровне функциональных задач или модулей, но и на уровне данных. Во время формирования документов, сопровождающих бизнес-процессы ОУ, в них вносятся данные, которые могут быть востребованы при решении функциональных задач ИС. Поэтому документ является элементом ИС - источником фактографических данных. Вследствие этого в настоящее время актуальными являются задачи моделирования структуры документа и извлечения из документов данных и знаний.

Анализ существующих моделей и подходов к моделированию электронных документов

Существующие модели и подходы к моделированию электронных документов предназначены либо для создания визуального представления документа (объектная модель документа, Document Object Model - DOM), либо для моделирования жизненного цикла документа и динамики изменения его состояний (UML-модели и модели, применяющие теорию автоматов).

В DOM Документ представляется в виде объекта-дерева, обладающего набором вложенных друг в друга атрибутов. Поддержка DOM реализована в большинстве современных языков программирования и браузеров. Данная мо-дель определяет логическую структуру документа и набор методов, с помощью которых программно может быть получен доступ к документу и внесены в него изменения. Также DOM содержит спецификацию API для HTML-документов с допустимой (valid) структурой и корректно сформированных (well-formed) XML-документов. Понятие «документ» в спецификации DOM применяется в широком смысле: язык XML может быть применен как способ представления информации разных видов, которая может храниться в различных ИС, поэтому «документ» означает ещё и «источник данных». Языки XML и HTML применяются для представления данных, а DOM - для манипулирования данными. В первую очередь DOM предполагает стандартизацию интерфейса программирования создания и обработки документов, который позволяет осуществлять навигацию в структуре документа, добавлять, модифицировать и удалять элементы его содержимого.

Несмотря на то, что DOM ориентирована на конкретные языки программирования и сфера её применения связана только с web-документами, на данный момент DOM остается единственной формализованной моделью документа, позволяющей описать любой документ, созданный в поддерживающем её формате [2].

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

В большинстве СЭД, в отличие от web-браузеров, применяющих DOM, автоматическая формализация текстового представления документа затруднена. Как правило, для документа в СЭД создается одновременно два представления: текстовое и формализованное [1]. Таким образом, применение DOM в СЭД, оперирующих документами в различных форматах, ограничено.

В то же время, DOM может быть представлена в виде иерархической фреймовой структуры [2], которая не привязана к технологиям XML и HTML, но сохраняет гибкость при программировании с применением объектно-ориентированного подхода. Реализация формализованного представления документа позволит рассматриваться его как элемент ИС, приемник и источник данных. Вследствие этого актуальной является задача исследования и разработки модели документа, представляющей документ как структуру фактографических данных.

Задача разработки фреймовой модели структуры документа

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

Исследование и разработка фреймовой модели структуры документа

Документ, представленный в виде иерархии элементов, может быть описан структурой вида:

,

где - множество элементов документа;

- множество отношений между элементами документа;

- отношение, которое определяет элемент как родительский элемент по отношению к .

Элемент документа также может быть представлен в виде структуры:

,

электронный документ фреймовый

где - множество свойств или атрибутов элемента, содержащих вносимые в документ фактографические данные;

- множество значений (данных) атрибутов документа.

Применение такого представления документа позволяет провести аналогию между структурой документа и фреймовой моделью представления знаний, а также представлением иерархии классов в технологии объектно-ориентированного программирования (ООП) и схемы данных в объектно-ориентированной модели данных, которые основаны на теории фреймов.

Фреймовая модель подразумевает представление знаний в виде сети фреймов, состоящей из узлов и связей между ними [3,4]. Формально фреймовую модель можно задать в том же виде, что и сетевую:

,

где - множество информационных единиц, фреймов;

- множество типов связей и отношений между информацион-ными единицами (иерархические, ссылочные и т.п.);

- отображение, которое задает связи (из заданного множества ) между информационными единицами, входящими в [5].

Аналогично фреймовой модели, применительно к ООП, в виде сети можно представить иерархию классов (диаграмма классов в UML) в которой классы-родители определяют набор полей (свойств) и функциональности, свойственный всем классам-потомкам. Также в виде сети может быть представлена схема данных в случае применения объектно-ориентированной модели данных (в теории баз данных под моделью данных понимают формализм, предназначенный для описания структур данных, зависимостей между ними, а также ограничений целостности, т.е. тех условий, которым должны удовлетворять допустимые схемы данных [5]).

Согласно определению, «фрейм является структурой данных для представления стереотипной ситуации. С каждым фреймом ассоциирована информация разных видов. Одна ее часть указывает, каким образом следует использовать данный фрейм, другая - что предположительно может повлечь за собой его выполнение, третья - что следует предпринять, если эти ожидания не подтвердятся. «Верхние уровни» фрейма четко определены, поскольку образованы такими понятиями, которые всегда справедливы по отношению к предполагаемой ситуации. На более низких уровнях имеется много особых вершин-терминалов или «ячеек», которые должны быть заполнены характерными примерами или данными» [5].

Во фреймах значением терминала может быть «… указатель на субфрейм определенного типа. (Субфреймы, фреймы и суперфреймы - это иерархически упорядоченные элементы, образующие системы фреймов)» [4]. В технологии ООП полями класса также могут быть ссылки на экземпляры других классов, а понятия «субфрейм» и «суперфрейм» имеют аналоги в виде субклассов (классов-потомков) и суперклассов (классов-родителей).

Фреймы подразделяются на два типа: фреймы-прототипы (им соответ-ствуют классы в ООП) и фреймы-примеры (им соответствуют экземпляры классов, поля которых заполнены конкретными данными, или объекты) [4].

Следует отметить, что понятие «фрейм» применяется для описания знаний и выполнения процедур логического вывода - на теории фреймов также базируются языки представления знаний, такие как LISP, Smalltalk и др.

Поскольку теория фреймов является более гибкой и универсальной за счет большей степени абстракции, чем концепция ООП, предоставляет математическое, а не только визуальное, описание базовых понятий, а сети фреймов могут быть реализованы в виде иерархии классов, то для описания элемента структуры документа целесообразно применить понятие фрейма.

Фрейм представляется структурой вида:

,

где - имя фрейма;

- имя слота;

- значение слота;

- имя присоединенной процедуры [5].

Множества , и образуются совокупностями имен, значений слотов и присоединенных процедур соответственно.

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

В упрощенном виде структура фрейма принимает вид, аналогичный структуре элемента документа, приведенной в выражении (2):

,

где - фрейм;

- имя слота;

- значение слота. В качестве значений слотов могут выступать имена других фреймов, что обеспечивает связь между фреймами [4].

Описание фрейма (5) полностью соответствует предложенной структуре элемента документа в выражении (2), а описание структуры документа (1), соответствует частному случаю фреймовой модели (3) при фиксированном множестве типов связей и отношений (элементы документа определены как дочерние или родительские по отношению к другим элементам).

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

Поскольку объектно-ориентированное представление данных поддерживается ведущими СУБД, логический вывод с применением фреймов может быть реализован не только на уровне программного обеспечения (ПО), но и на уровне информационного обеспечения (ИО) СЭД, что значительно упрощает разработку экспертных модулей таких систем за счет применения стандартных инструментальных средств и системного ПО.

Вариант реализации процедуры логического вывода на фреймовых структурах в специализированных средах, использующих языки представления знаний (LISP, Smalltalk, KRL, CONCUL, GUS и др.), обладает рядом недостатков:

требуется дополнительное описание иерархии фреймов на специальном языке;

среды разработки, применяемые при работе со специальными языками для программирования логического вывода на основе различных моделей знаний, в значительной степени уступают средам ООП в плане надежности, функциональности и удобства;

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

необходимость организации обмена данными между ПО, ИО ИС или СЭД и модулем логического вывода, написанным на специализированном языке (например, через dll-библиотеки).

Поэтому с целью повышения уровня надежности ПО ИС, снижения времени на разработку системы, устранения необходимости привлечения дополнительных специалистов, целесообразна реализация логического вывода на фреймовых структурах с применением технологии ООП.

Объектно-ориентированная иерархия классов включает дополнительные элементы, отсутствующие во фреймовой модели. Поэтому с целью применения в СЭД для формализованного описания структуры электронного документа и внесенных в него данных, а также для упрощения реализации процедуры логического вывода в среде ООП, предлагается модификация представления фрейма и дополнение фреймовой модели представления знаний таким понятием, как «интерфейс фрейма», соответствующим понятию «интерфейс класса», заимствованным из объектно-ориентированной модели.

Интерфейс класса представляет собой объявление базовой функциональности, которую должен реализовать поддерживающий его класс. Путем реализации методов GetPropertyName и SetPropertyName, осуществляющих доступ к полям класса, с помощью интерфейса фактически возможно определение свойств (полей), которые должен содержать класс, реализующий данный интерфейс. В некоторых языках, например, Object Pascal, данная возможность определения свойств в интерфейсах поддерживается, в других (Java, C++ и т.п.) она может быть реализована описанным выше способом. Поэтому в дальнейшем под интерфейсом класса будет пониматься структура, описывающая набор методов (функциональность, бизнес-логика) и свойств класса. Кроме того, интерфейсы, аналогично классам или фреймам, могут между собой образовывать иерархии и содержать ссылочные свойства, т.е. между интерфейсами также могут существовать связи и отношения.

Помимо ввода понятия «интерфейс фрейма», фреймовую модель следует дополнить понятием совокупности всех методов (присоединенных процедур), связанных с фреймом в целом (не только с конкретными слотами) - .

Согласно данному выше определению интерфейс класса или фрейма () представляет собой структуру вида:

,

где - глобально уникальный идентификатор (GUID);

- множество методов, объявленных в интерфейсе, осуществля-ющих изменение значений экземпляра класса или других объектов, вызов других методов, вычисление значений и т.п., - т.е. реализующих бизнес-логику;

- множество свойств (полей, слотов), объявленных в интерфейсе фрейма.

В общем случае свойство будет представлено следующим образом:

где - имя свойства (слота);

- метод, возвращающий значение свойства (слота);

- метод, устанавливающий значение свойства (слота).

Тогда структура фрейма, описанная в выражении (4) примет вид:

,

где - имя фрейма;

- множество реализуемых фреймом интерфейсов (может быть пустым);

- имя слота;

- значение слота;

- имя присоединенной процедуры;

- множество методов (присоединенных процедур), связанных с фреймом.

В этом случае фреймовая модель (3), описывающая сеть фреймов и интерфейсов будет модифицирована следующим образом:

,

где - множество информационных единиц, фреймов () и интерфейсов (): ;

- множество типов связей и отношений между информационными единицами модели (между фреймами, между интерфейсами, между фреймами и интерфейсами);

- отображение, которое задает связи и отношения (из заданного множества ) между информационными единицами, входящими в .

Расширение фреймовой модели представления знаний путем введения понятия «интерфейс фрейма» позволяет реализовать процедуру логического вывода, основанную на реализации фреймами интерфейсов (). Предполага-ется применение данной процедуры для фреймов, не состоящих друг с другом в отношениях «быть субфреймом» или «быть суперфреймом». Это позволит выделить в исходном множестве подмножество всех фреймов , реализующих функциональность, заданную в виде набора интерфейсов , что невозможно путем классического логического вывода на сети фреймов.

Функция будет иметь следующий вид:

,

где - исходное множество фреймов (например, множество классов программы, используемых для описания структурных элементов документов);

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

- подмножество , содержащее фреймы, удовлетворяющие условию реализации всех интерфейсов множества .

Тогда выражение (10) представляется следующим образом:

Проверка реализации фреймом интерфейса () осуществляется функцией , имеющей вид:

,

где - множество имен слотов фрейма;

- свойство, объявленное в интерфейсе класса;

- множество методов, объявленных в интерфейсе;

- множество методов (присоединенных процедур), связанных с фреймом.

Данные функции применимы для разработки технологий динамического формирования интерфейса пользователя СЭД и актуализации данных в ИС. В качестве универсального множества задается множество классов, используе-мых для описания структурных элементов документов. Каждому из множества интерфейсов, которые могут быть реализованы классами, ставится в соответ-ствие множество панелей, применяемых в пользовательском интерфейсе для отображения и ввода данных, вносимых в элементы документов (отношение «много к одному» - одна панель может соответствовать нескольким интерфейсам), и набор процедур по актуализации данных в ИС.

Так как документом является совокупность множеств элементов и отношений между ними (1), то элементы документа могут быть представлены в виде фреймов, слоты которых содержат фактографические данные. Таким образом, набор фреймов, связанных отношениями подчиненности образуют структуру документа:

,

где - множество экземпляров фреймов, являющихся элементами документа;

- множество отношений между элементами документа.

Таким образом, согласно выражению (6), набор фактографических данных, регламентируемых интерфейсом фрейма равен множеству его свойств , а совокупность фактографических данных, содержащихся в слотах фрейма и во всем документе, можно описать следующими выражениями:

,

Выводы

Расширено представление фрейма понятием «интерфейс фрейма», заимствованным из технологии ООП, что позволяет упростить реализацию фреймов в средах ООП и разработана процедура логического вывода, основанная на реализации фреймами интерфейсов. С применением расширенного представления фрейма предложена фреймовая модель представления структуры документа, которая расширяет возможности динамического формирования пользовательского интерфейса, актуализации фактографических данных в ИС на основе документов и может быть применена для обеспечения гибкой настройки и адаптации модулей СЭД к требованиям пользователей и изменениям бизнес-процессов ОУ.

Литература

1. Керносов М.А., Левыкин В.М. Система электронного документооборота как элемент информационной системы// Сборник трудов второй международной студенческой научно-технической конференции. - Донецк: ДонНТУ, 2006. - С. 353-354.

2. Керносов М.А. Представление объектной модели документа в виде иерархической фреймовой структуры// Управління розвитком. - 2007. - № 7- С. 27-28.

3. Осуга С. Обработка знаний. - М.: Мир, 1989. - 283 с.

4. Минский М. Фреймы для представления знаний. - М.: Энергия, 1979. -152 с.

5. Искусственный интеллект. - В 3-х кн. Кн. 2. Модели и методы: Справочник/ Под ред. Д.А. Поспелова - М.: Радио и связь, 1990. - 304 с.

Размещено на Allbest.ru


Подобные документы

  • Фреймовые модели представления знаний. Разработка структуры фреймов для реализации экспертной системы. Разработка экспертной системы с фреймовой моделью представления знаний. Редактирование базы фактов кандидатов и описание режима консультации.

    курсовая работа [1,3 M], добавлен 13.10.2012

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

    контрольная работа [350,2 K], добавлен 27.04.2011

  • Создание сложных текстовых документов с помощью шаблонов и мастеров Word. Разработка собственных шаблонов. Разоаботка общей структуры документа, настройка параметров страницы, перемещение по тексту с помощьюпанели схемы документа. Внешний вид текста.

    методичка [30,1 K], добавлен 14.02.2009

  • Рассмотрение порядка создания объектного документа в Delphi7. Создание стандартного приложения. Выбор свойств компонента. Вызов редактора определения полей. Описание структуры документа. Создание DataSet для компонента ClientDataSet. Представление данных.

    реферат [2,0 M], добавлен 22.07.2014

  • Цель и место размещения документа Web. Язык гипертекстовой разметки. Сценарий и структура Web-документа. Основные редакторы гипертекста. Создание документов в стандарте HTML. Создание заголовков, форматирование и изменение стиля, нумерация списков.

    реферат [34,4 K], добавлен 22.11.2009

  • Подача заявления на разработку электронного документа. Свойства элементов документа. Методы устранения недостатков технологических процессов. Изменение формата хранения данных. Установление контрольных точек в операционных технологических процессах.

    курсовая работа [137,8 K], добавлен 15.10.2012

  • Понятие электронного документа, отличие от иных видов документов. Юридическая сила и правовой режим электронного документа и документооборота. Процедуры разрешения конфликтов. Основные типы текстовых электронных документов и выбор средств их оформления.

    реферат [24,5 K], добавлен 22.08.2010

  • Hyper Text Markup Language (html) как стандартный язык для создания гипертекстовых документов в среде web. Тэги списков, гипертекстовые ссылки, графика внутри документа, специальные тэги html и таблицы. Планирование фреймов. Этапы создания сайтов.

    контрольная работа [126,9 K], добавлен 18.11.2010

  • Сущность автоматизации управления документооборотом. Понятие электронного документа и функции традиционного документа. Системы электронного документопроизводства. Новый подход к созданию документов и использование корпоративных информационных порталов.

    реферат [26,2 K], добавлен 27.02.2009

  • Сложность построения модели "черный ящик" структуры OSI, описание входов и выходов. Графическое изображение модели структуры системы "OSI", уровни средств взаимодействия: физический, канальный, транспортный и сетевой, представительный и прикладной.

    курсовая работа [1,0 M], добавлен 11.01.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.