Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах Синица Сергей Геннадьевич

Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах
<
Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Синица Сергей Геннадьевич. Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах : диссертация ... кандидата технических наук : 05.13.17 / Синица Сергей Геннадьевич; [Место защиты: Юж. федер. ун-т].- Краснодар, 2008.- 150 с.: ил. РГБ ОД, 61 09-5/191

Содержание к диссертации

Введение

1 Разработка метода формализации схем коллективной работы над информационными ресурсами 23

1.1 Формализация понятий информационного ресурса и семантической операции 23

1.2 Анализ методов формализации схем коллективной работы . 27

1.3 Разработка метода формализации схем коллективной работы с помощью сетей Петри 29

1.4 Разработка специальной графической нотации сетей Петри высокого уровня 36

1.5 Сравнение с другими работами 43

1.6 Выводы 48

2 Исследование свойств информационных ресурсов и классов семантических операций 50

2.1 Классы атрибутов информационных ресурсов 50

2.1.1 Значения полей 51

2.1.2 Связи 52

2.1.3 Разметка текста 53

2.2 Атрибуты контроля доступа и содержимого 53

2.3 Характеристики информационных ресурсов 54

2.4 Элементарные операции 58

2.5 Целостность и эффективность состояний информационного пространства 59

2.6 Анализ классов и свойств семантических операций. 62

2.6.1 Внешние семантические операции наполнения 64

2.6.2 Внутренние семантические операции наполнения . 70

2.6.3 Семантические операции движения 77

2.7 Выводы 85

3. Построение и анализ формальной модели коллективного информационного пространства 88

3.1 Формальная модель коллективного информационного пространства 88

3.2 Графовая модель навигационной структуры информационного пространства 93

3.3 Трансформация графа сети Петри высокого уровня схемы коллективной работы в модель коллективного информационного пространства 95

3.4. Сравнение с другими теоретическими моделями 107

3.5 Выводы 109

4. Разработка архитектурного шаблона коллективных информационных сред с системами интерпретируемых операций над ресурсами 111

4.1 Предпосылки использования интерпретируемых объектов операций 111

4.2 Моделирование адаптивных объектов, объекты команд и отмена операций 114

4.3 Адаптация представления и адаптивные потоки работ 118

4.4 Применение архитектурного стиля REST для представления семантических операций в виде ресурсов 119

4.5 Реализация шаблона приложения на основе REST 127

4.6 Реализация конструктора семантических операций и сравнение с аналогами 129

4.7 Выводы 131

Заключение 134

Литература 141

Введение к работе

Актуальность темы. Системы управления контентом (CMS), Wiki-системы и блоги являются современным средством организации интеллектуальной работы территориально распределённых коллективов специалистов коммерческих организаций, сообществ практики, образовательных учреждений, некоммерческих организаций. Эти системы требуют дополнительного исследования и разработки необходимых в конкретном коллективе операций над информационными ресурсами (ИР) для случаев, когда функциональности становится недостаточно для поддержки требуемого потока работ, внедрение соответствующих коммерческих продуктов затруднено, предъявляются особые требования к удобству использования системы и её интероперабель-ности.

Успешности внедрения систем поддержки коллективной работы способствует применение гибкой методологии разработки программного обеспечения (известна как Agile software development), основными чертами которой являются доступность прототипа заказчику на ранних стадиях проектирования, обозримость содержания спецификации в форме, пригодной для удалённого согласования с заказчиком без привлечения ИТ-специалистов с его стороны и специальных средств проектирования, готовность к изменениям требований функциональности на всех этапах жизненного цикла системы, как неизбежным и желательным аспектам внедрения.

Известные подходы к составлению спецификации операций над ИР затрудняют применение гибкой методологии разработки, потому что они не позволяют представить структуру потока работ, типы ИР и права доступа в лаконичной форме, понятной заказчику без специальной подготовки и программного обеспечения. Распространённые системы управления контентом не содержат средств конструирования операций и не поддерживают необходимые уровни абстракции кода приложения для их реализации, что затрудняет применение гибкой методологии разработки, так как добавление новых и изменение реализованных операций связано со значительными усилиями. Поэтому разработка согласованных с гибкой методологией и адекватных рассматриваемым задачам моделей информационных сред, методов анализа и формализации требований и принципов построения инструментариев конструирования систем операций над ИР с помощью веб-технологий является актуальной. Работа выполнена при поддержке РФФИ (06-07-96618).

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

дель информационных ресурсов и операций и архитектурный шаблон веб-приложения.

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

Для достижения поставленной цели исследования были решены следующие основные задачи:

  1. Формализовано понятие информационного ресурса и семантической операции в виде совокупности атрибутов и функции изменения их значений. Уточнены и проанализированы классы семантических операций на основе системы характеристик информационных ресурсов и свойств их атрибутов.

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

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

  4. Разработан и апробирован на практике архитектурный шаблон (architectural pattern) интероперабельного веб-приложения для построенной модели, использующий архитектурный стиль REST и открытые протоколы.

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

Основные положения, выносимые на защиту. В работе получены следующие новые теоретические результаты:

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

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

  2. Принцип создания и связанный с ним архитектурный шаблон интероперабельных веб-приложений на основе архитектурного стиля REST и интерпретируемых командных объектов для гибкой реализации рассматриваемых систем в соответствии с разработанной автором моделью.

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

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

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

Практическая ценность работы. Практическая ценность работы заключается в завершённости разработанных методов и моделей, позволяющих применять гибкую методологию проектирования и реализации операций, упростить структуру приложения, сократить объем кода и при реализации интероперабельности операций отказаться от принципов RPC в пользу органично вписывающейся в архитектуру глобальной сети (WWW) организации взаимодействия информационных ресурсов на основе принципов REST.

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

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

Внедрение и использование результатов работы. Метод формализации требований был применён для проектирования веб-портала , интегрирующего информационные ресурсы некоммерческих общественных организаций Юга России.

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

Теоретические результаты исследования использованы для построения REST-интерфейса к RPC-системам и демонстрации ресурсно-ориентированного подхода при обучении студентов по курсу веб-программирования, прочитанного автором на кафедре информационных технологий факультета прикладной математики КубГУ в 2006-2007 году.

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

Структура и объём работы. Диссертация состоит из введения, четырёх разделов и заключения. Текст диссертации представлен на 150-и страницах, содержит 3 таблицы и 22 рисунка.

Анализ методов формализации схем коллективной работы

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

Как правило, на практике для презентаций и задач обсуждения с заказчиком используются диаграммы UML UseCase, в которых графические представления пользователей с определёнными ролями соединены стрелками с манипулируемыми ими объектами. Также для этих целей применяются графы состояний ИР, в которых вершины соответствуют состояниям ИР, а дуги — допустимым изменениям состояний. Будучи легко воспринимаемыми, такие диаграммы применимы лишь для описания системы в общих чертах, а обсуждение и фиксирование деталей с заказчиком ведётся на естественном языке и в зависимости от масштаба проекта либо нигде не фиксируется, либо формализуется с помощью некоторых языков описания потоков работ.

Такие известные средства описания потоков работ, как диаграммы состояний UML, BPEL1 и YAWL2 сложны для восприятия не специалистами и поэтому их использование в первичной постановке задачи затруднено. Формальное описание потока работ становится некоторым промежуточным этапом, результат которого непонятен непосредственно заказчику, что приводит к усложнению применения гибкой методологии разработки: при изменении требований к системе переработанными должны быть схемы нескольких уровней формализации.

Одним из способов формализации требований, демонстрации и проверки заказчиками моделей потоков работ является применение сети Петри [23] [24]. Их преимуществом по сравнению с соответствующими средствами UML-моделирования является простота восприятия технически не подготовленными пользователями и заказчиками, возможность моделирования поведения с помощью формальных правил запуска переходов [25].

Сети Петри применяются для описания и анализа дискретных параллельных систем с недетерминированным поведением, в которых отдельные компоненты функционируют, в основном, независимо, взаимодействуя друг с другом время от времени [16]. Сеть Петри представляет собой два непересекающихся множества мест и переходов, соединённых ориентированными дугами так, что дуги обязательно соединяют элементы разных множеств. Места, соединённые с некоторым переходом входящими из них дугами, называют входными местами этого перехода, а исходящими — выходными. В местах находятся фишки, переходящие из входных мест в выходные по соответствующим дугам при срабатьюании переходов. Фишки задают некоторые объекты, а их принадлежность месту обозначает выполнение некоторого условия для соответствующего объекта. Переходы соответствуют некоторым событиям, в результате которых изменяется состояние объектов-фишек. В обычных сетях Петри событие может произойти (переход может сработать), если во всех входных местах перехода есть хотя бы одна фишка. При срабатывании перехода фишки убираются из входных мест и добавляются в выходные места в соответствии с разметкой дуг. Подробно сети Петри описаны в [16].

В обычных сетях Петри фишки являются неотличимыми, что не позволяет наглядно представлять с их помощью изменение состояний разнотипных объектов, таких как ИР некоторых КИП. Основные операции жизненного цикла ИР в КИС могут быть заданы с помощью раскрашенных сетей Петри [29] — сетей Петри высокого уровня, с дополнительной разметкой отдельных переходов и фишек в местах, а также модифицированными правилами срабатывания переходов, позволяющее манипулировать разнотипными структурированными объектами [30] [31] [16] [32].

Возможность представления фишками структурированных объектов и проверки условий от атрибутов этих объектов при определении допустимости срабатывания перехода и снятия фишки из входного места по дуге позволили автору разработать метод формализации требований доступа и структуры потока работ системы операций над ИР в КИП с помощью единственного ГСПВУ. Операции в процессе работы пользователей представляются переходами, а состояния ресурсов — местами сети Петри. Рассмотрим подробнее.

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

Пусть в некотором КИП задано конечное множество типов ИР, имеющих конечное количество атрибутов в соответствии с некоторой фиксированной онтологией, конечное множество ролей пользователей и конечное множество семантических операций. Будем считать, что каждому пользователю назначено подмножество ролей из некоторого множества допустимых в КИП ролей пользователей. Понятие роли пользователя здесь аналогично группе пользователей при контроля доступа в базах данных или операционных системах. Пусть политика безопасности состоит из ролевого контроля доступа к просмотру, созданию, изменению атрибутов и удалению ИР каждого типа и правил доступа к семантическим операциям и просмотру ИР в виде булевыхувыражений от атрибутов ИР, параметров операции и профиля пользователя. 1. Для каждой роли пользователей добавим место сети Петри. 2. Для каждого профиля пользователя поместим по одной фишке за каждую роль пользователя в соответствующее роли место. 3. Для каждой семантической операции добавим переход сети Петри. 4. Каждый переход соединим дугами с соответствующие ролям местами так, чтобы допустимые в соответствии с политикой безопасности роли пользователей были входными местами. Для каждого входного места ролей пользователей присоединим к переходу выходное место, соответствующее изменению роли пользователя в результате выполнения операции. Если в результате выполнения соответствующей переходу операции роли пользователей не меняются, то входные места ролей будут совпадать с выходными местами. Если операция может быть выполнена пользователем с хотя бы одной из нескольких ролей, то входные дуги из мест этих ролей объединим OR-соединением4 [23]. 5. Для каждого правила доступа к операции добавим соответствующее правило срабатывания перехода. 6. Для каждого типа ИР добавим место сети Петри. Фишки этого места будут соответствовать ИР в некотором начальном состоянии своих ат-рибутов, когда над ними еще не производились операции пользователями, кроме первоначального добавления. Такие места будем называть пулом ИР соответствующего типа. Будем считать, что каждому пулу существует операция, для которой этот пул является выходным местом, а эта операция не имеет входных мест, кроме соответствующих ролям пользователей. Такие операции необходимы для создания новых ИР пользователями и внесения внешних данных в КИС. Будем называть их операциями создания ИР.

Целостность и эффективность состояний информационного пространства

Множество ИР КИП с определёнными значениями своих атрибутов в некоторый момент времени назовём состоянием КИП. Будем считать, что состояние изменяется только при выполнении элементарных операций в составе семантических операций.

КИС с целостным текущим состоянием КИП предоставляет удобную для использования навигационную структуру, удовлетворяющую І правилам формирования гипертекста, корректный поиск, актуальные значения мета-данных ИР. Нарушение целостности КИП в результате выполнения операций пользователями запускает механизмы КИС, направленные на восстановление целостного состояния сообществом пользователей и/или администраторами

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

Соответствующие вспомогательные механизмы заключаются в привлечении внимания пользователей к ИР с некорректными значениями метаданных с помощью уведомлений, технологий отслеживания изменений и адаптивной навигации. Определенные выше характеристики ИР позволяют формально определить понятия целостности и эффективности состояний КИП. Определение. Состояние N КИП называется целостным, если для него выполняются следующие свойства: 1. Ненулевой размер содержимого всех ИР: Vn є N(Size(n) 0) (1); 2. Нет дублирования: Va, b Є N(Duplicate(a, b) ф 1) (2); 3. Нет гиперссылок ИР на себя: Vn Є N(n Adjoin(n)) (3); 4. Нет гиперссылок на запрещенные ИР: Va, Ъ Є N(Deprecated(a) — а ф Adjoin(b)) (4); 5. Ко всем незапрещенным ведет путь с главной страницы, назначены классы и ключевые слова: Vn Є N(- Deprecated(n) — (Path(n) т 0Л Classes{n) 0Л Keywords{n) 0)) (5); 6. Все запрещенные ИР отсутствуют в результатах поиска: Vn е N (Deprecated(n) —» Search{n) = 0) (6).

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

Пусть в результате каждого выполнения семантической операции значения поступают из какого-то одного из шести обозначенных выше источников. Отметим, что согласно данному в начале 1-го раздела определению семантической операции, её выполнение изменяет только атрибуты ИР, но не меняет онтологию КИП. Предлагаемая в работе схема классификации семантических операций [57] изображена на рисунке 2.1.

Изучаемые в работе операции, в первую очередь, разделены на группы операций наполнения, и движения. Операции группы наполнения, в отличие от операций группы движения, не могут изменять атрибуты доступа существующих на момент выполнения операции ИР. Таким образом, движение существующих ИР в некотором потоке работ, связанное с изменением атрибутов доступа, осуществляется семантическими операциями из группы движения.

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

Пусть N = \Ji=1 дг{ г} — множество ИР некоторого КИП, a N = Ui=i..ijV {ni} — множество ИР этого КИП после выполнения семантической операции. Определим приведённые на рисунке 2.1 классы операций.

К внешним семантическим операциям относятся те семантические операции, результатом которых является новые ИР или новые версии существующих ИР п, где содержимое включает информацию, полученную в результате извлечения знаний из эксперта или из внешних по отношению к КИП источников. Внешние семантические операции не изменяют атрибуты доступа. Новые значения атрибутов при выполнении операций данной группы поступают из источников І, Ш, IV. Свойства семантических операций данной группы связаны с требованиями непротиворечивости и максимально возможной интеграции приобретённых знаний в КИП. Класс операций приобретения

Определение. Операция приобретения заключается в добавлении одного или более новых ИР пі, ...,nr, содержимое которых поступает из внешних по отношению к КИП источников в результате описания автором или передачи из другой системы. При выполнении операций этого класса могут изменяться атрибуты существующих незапрещённых ИР. Такие атрибуты должны относиться к содержимому (не являются атрибутами доступа), могут иметь вид поля или связи (но не разметки), значения могут поступать из источников Ш и V, и для изменяемых ИР не должна меняться характеристика Deprecated ), PathQ, ClassesQ, Keywords ) и SimilarQ. Приобретение выполняется с использованием поиска сходных ИР, просмотра вертикальной навигации с целью определения подходящего раздела/класса для нового ИР и элементарной операции добавления нового ИР.

Различные подклассы класса операций дополнения изображаются на схеме аналогично рисунку 2.3 и отличаются характером изменения атрибутов ИР с текстом на естественном языке. Например, ревизия характеризуется исправлением неточностей в тексте, удалением устаревших сведений и ссылок. Используя определённые в работе характеристики можно сформулировать необходимое условие ревизии например так: 0 Duplicate(n,n ) 1 Л Size(n ) Є (Q,Size(n)) Л Adjoin(n ) С Adjoin(n ).

Пополнение связано с добавлением новых сведений в ИР без изменения его тематики, что через введённые характеристики выражается увеличением размера содержимого, количества гиперссылок и сохранением множества важных слов: Adjoin(n) С Adjoin(n ) Л Size(n) Size(n ) Л Focus(n) = Focus(n ). Раскрытие темы представляет собой добавление фактов в ИР с расширением охвата предметной области, что через введённые характеристики можно выразить, например, так: Keywords(n) С Keywords(n ) Л Search(n) С Search(n ) Л Size(ri) Size(n ) Л Focus(n) Focus{n ). В результате связывания появляются новые ссылки на некоторые ИР: Adjoin(n) С Adjoin(n ) Л Size{n) Size{n!) Л Focus(n) = Focus(n ). Комментирование ИР может изменять его характеристики следующим образом: Adjoin(n) С Adjoin(n ) Л Size(n) Size{n ) Л Focus(n) Focus(n ). Связывание заключается в добавлении связи с другим ИР, т.е. выполняется Adjoin(n) С Adjoin(n ). Приведённые условия являются примером возможности использования введённых в работе характеристик для уточнения семантики операции, что на практике можно использовать, например, для автоматической классифи 70 кации операций и создания интеллектуальных механизмов отслеживания изменений и модерации.

Графовая модель навигационной структуры информационного пространства

Состояние КИП в определённый момент времени представляет собой совокупности ИР, которые могут быть по разному отображены различным пользователям в соответствии с правилами доступа и адаптации. Какова бы ни была абстрактная модель КИП, в реализации КИС на основе веб-технологий каждое состояние КИП можно представить в виде набора графов, задающих переходы по гиперссылкам между страницами, доступными соответствующим пользователям. Определение. Множество ИР Nu Є Nt называется персональным информационным пространством пользователя и в КИП W = (Т, M,N,D, А), где Ni АГ, если выполняется: Vn Є Nu(Representation(n,u) ф false) Определение. Ориентированный граф G(u) — (Р, Q) называется персональным навигационным пространством, пользователя и в КИП W = (Г, М, N,D,A), если множество вершин Р можно поставить во взаимнооднозначное соответствие с Nu, а множество рёбер Q — с \ {{{щ} х Adjoin(rij)), где щ є Nu. При этом вершина, соответствующая ИР главной страницы, называется главной вершиной персонального навигационного пространства.

Определение. Персональным навигационное пространство G(u) пользователя и назьшается простым если оно целостное и главную вершину с любой другой вершиной соединяет единственный путь.

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

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

Рассуждения в ходе данного доказательства представляют собой формальный метод, позволяющий по произвольной ГСПВУ построить КИП, движение ИР по выборкам которого в результате выполнения операций соответствует перемещениям фишек данной ГСПВУ при срабатывании соответствующих операциям переходов. При этом, не влияющие на движение ИР параметры КИП произвольны, т.е. могут быть заданы в соответствии с конкретной практической задачей функционирования КИП, параметры которой не отражает ГСПВУ. Например, структура КИП CIS = (Г, М, N, JD, А), порождаемого применением метода трансляции изображённой на рисунке 1.11 ГСПВУ по теореме (3.3), будет инициализирована следующим образом: — Наименования типов ИР пользователей U = {Administrator, Writer, Customer). — Наименования типов ИР операций О = {Apply to work, Order paper, Send payment request, Close payment request, Prepare, Approve, Take order, Complete, Check, Request revision, Rework, Close}. — Наименования типов ИР выборок V = {Work applications, Closed payment requests, Open payment requests, New orders, Prepared orders, In progress orders, Completed orders, Checked orders, Under revision orders, Closed orders, Customers, Administrators, Writers, w-u anonymous users, p-w anonymous users}. — Наименования ИР T = {Order, Work applicaton, Payment request}. — Множество наименований типов ИР T=UUOUVUT . — Атрибут Р перечислимого типа для ИР типов Т с множествами возможных значений {New orders, Prepared orders, In progress orders, Completed orders, Checked orders, Under revision orders, Closed orders}, {Work applications} и {Closed payment requests, Open payment requests} для ИР типа Order, Work applicaton и Payment request соответственно. — Множество предикатов проверки значений атрибутов М = 777,1, 777.2, ..., 77ZT, ГДЄ ГПі = true. — Пустая последовательность экземпляров ИР операций iV0. — Пустая последовательность множеств экземпляров ИР N. — Последовательность экземпляров ИР выборок N? = (vi,v2, ...,v\Nv\), соответствующих наименованиям ИР выборок V. — Функции проверки прав доступа и адаптации ИР соответствующих типов R — (Ri, R2,..., R\T\), где Рц = Representation , и) для ИР операций Take order, Rework и Close возвращает false, когда не выполняются условия в аннотации схемы, true — в ином случае и для всех остальных операций и представление ИР п для просмотра пользователем для ИР остальных типов.

— Функция действия семантической операции А = (Лі, Л2,..., А\о\) добавляет ИР типа Writer, Customer, Order и Payment Request при выполнении операций Approve, Order paper и Add payment request и изменяет значение атрибута Р ИР для прочих операций в название состояния, в которое переходит соответствующая ИР фишка при срабатывании перехода, так что этот ИР попадает в одноименное со значением поля Р состояние КИП из V.

Моделирование адаптивных объектов, объекты команд и отмена операций

Идея использования атрибутов для представления бизнес-объектов, правил и процессов вместо жестко заданных в коде статических методов не нова — соответствующий архитектурный стиль известен специалистам, как моделирование адаптивных объектов4 [62]. Его применение делает приложения более гибкими для потребностей пользователей/клиентов и требует поддержания описаний некоторых фактов предметной области в виде атрибутов, значения которых поступают от пользователей и могут быть изменены в любой момент. Model Driven Architecture (MDA) некоторых ERP-систем является примером такой архитектуры. Однако, такой подход практически не встречается при создании веб-приложений и не применяется в известных автору инструментальных средствах, ориентированных на разработку веб-систем поддержки коллективной работы.

Современные инструментальные средства разработки веб приложений используют паттерн (шаблон структуры приложения) [63] MVC5 для разделения структур хранения данных, внешнего представления и бизнес-логики. В правильно спроектированном MVC-приложении носителем бизнес-логики является Контроллер. Во многих приложениях контроллеры структурируют с использованием так называемых командных объектов, инкапсулирующих действия над прочими объектами системы [64]. Соответствующая парадигма программирования распространена под названием паттерна команд [65] [66] [67]. Командные объекты используются для представления элементарных действий в настольных приложениях и программирования отмены. Известен паттерн распределенных команд [68] для передачи объектов-команд в рас-тпределенной среде. С использованием объектов-команд реализуется функция отмены в коллективных текстовых процессорах [69] [70]. Паттерн команд используется в некоторых инструментальных средствах создания веб-приложений для работы с запросами к базе данных, например Ruby on Rails. На UML-диаграмме 4.1 изображена классическая схема паттерна команд [71]. Client инстанциирует объект конкретной команды ConcreteCommand, представляющий собой запрос к Receiver. Объект класса Command передается Invoker, выполняющему команду вызовом метода Execute ), как объект базового типа. Для каждой команды создается свой объект класса ConcreteCommand, но так как он наследуются от одного класса Command, то может передаваться как объект базового класса и, например, храниться в едином списке, истории команд, используя полиморфизм. Для реализации отмены необходимо добавить в Command метод UndoQ и реализовать его для всех классов ConcreteCommand.

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

Одним из способов реализации интерпретируемых операций является объединение двух упомянутых подходов — использование адаптивных объектов операций. С точки зрения архитектуры приложения и структур данных реализацию рассматриваемой модели можно построить используя паттерн MVC, где Контроллер вызывает отдельные MVC-объекты, представляющие типы доступных операций. Для реализации централизованной обработки вьшолнения и отмены операций целесообразно использовать паттерн Фасада команд [72].

Вид (View) объекта-операции представляет собой форму для ввода параметров операции пользователем или просто кнопку активации операции при отсутствии параметров. Модель объекта-операции хранит параметры операции, вводимые пользователем при её выполнении, и данные, необходимые для отмены операции. Контроллер объекта-операции должен содержать процедуру на некотором интерпретируемом языке, вызываемую при выполнении операции и получающую параметры операции, задаваемые пользователем, а также профиль самого пользователя в качестве фактических параметров. Такая процедура передаёт свои фактические параметры предопере-ленным элементарным процедурам манипулирования ИР, не зависящим от предметной области и не содержащим бизнес-логики. Контроллер может также содержать функцию на интерпретируемом языке, вызов которой предшествует выполнению операции и проверяет корректность параметров и права доступа пользователя. Экземпляр адаптивного командного объекта должен быть сериализуем. Фасад команд должен автоматически заботится о сохранении экземпляров командных объектов при выполнении команд и формирования истории операций, предоставлять централизованный механизм отмены.

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

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

Построенная в предыдущих разделах диссертации модель КИП обобщает адаптивные объекты операций с прочими информационными ресурсами, что дает возможность использовать архитектурный стиль REST для реализации всех аспектов рассматриваемых систем.

Похожие диссертации на Разработка и исследование методов и моделей операций над ресурсами в коллективных информационных средах