Исследование и разработка фреймовой модели структуры документа
Анализ существующих моделей и подходов к моделированию электронных документов. Выделение нерешенных частей проблемы моделирования структуры документа. Задача разработки фреймовой модели структуры документа. Сущность фреймов-прототипов и фреймов-примеров.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 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.2010Hyper 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