Содержание к диссертации
Введение
1 Обзор технологий моделирования потоков работ 13
1.1 Графические языки моделирования потоков работ 14
1.1.1 Structured Analysis and Design Technique 14
1.1.2 Data Flow Diagrams 15
1.1.3 Диаграммы деятельности UML 16
1.1.4 Business Process Modeling Notation 17
1.2 XML-языки моделирования потоков работ 20
1.2.1 XML Process Definition Language 20
1.2.2 Business Process Modeling Language 21
2 Онтологический подход к проблеме моделирования потоков работ 23
2.1 Онтологическая модель информационной системы 23
2.2 Онтологическая оценка выразительности 26
2.3 Онтологическая модель потока работ 28
2.3.1 События 29
2.3.2 Состояния 30
2.3.3 Действия 31
2.3.4 Поток работ и вложенный поток работ 32
3 Алгебраическая и графическая запись онтологической модели потока работ 34
3.1 Формальный язык описания потоков работ 34
3.1.1 Структура описания 34
3.1.2 Составные действия 35
3.1.3 Простые действия 36
3.1.4 Пример описания потока работ 37
3.2 Оценка выразительности языка описания потоков работ 38
3.2.1 Шаблоны потоков работ 38
3.2.2 Шаблон 1 «Последовательность» 39
3.2.3 Шаблон 2 «Параллельное выполнение» 39
3.2.4 Шаблон 3 «Синхронизация» 39
3.2.5 Шаблон 4 «Исключающий выбор» 39
3.2.6 Шаблон 5 «Простое слияние» 40
3.2.7 Шаблон 6 «Множественный выбор» 40
3.2.8 Шаблон 7 «Синхронизирующее слияние» 40
3.2.9 Шаблон 8 «Множественное слияние» 40
3.2.10 Шаблон 9 «Дискриминатор» 41
3.2.11 Шаблон 10 «Произвольные циклы» 42
3.2.12 Шаблон 11 «Подразумеваемое завершение» 42
3.2.13 Шаблон 12 «Множественные экземпляры без синхронизации» 42
3.2.14 Шаблон 13 «Множественные экземпляры с синхронизацией и известным на момент моделирования количеством экземтяров» 42
3.2.15 Шаблон 14 «Множественные экземпляры с синхронизацией и известным на момент исполнения количеством экземтяров» 42
3.2.16 Шаблон 15 «Множественные экземпляры с синхронизацией с неизвестным заранее количеством экземпляров» 43
3.3 Графическое представление потока работ 43
4 Метод получения исполняемого описания потока работ но его модели 48
4.1 Использование Web-сервисной архитектуры как среды функционирования потока работ 49
4.2 Языки описания композиций Web-сервисов 51
4.2.1 Web Services Flow Language 51
4.2.2 Business Process Execution Language for Web Services 53
4.2.3 Web Services Choreography Interface 55
4.3 Метод трансляции формального описания потока работ в язык BPEL 56
5 Разработка средств моделирования потоков работ 59
5.1 Разработка описаний потоков работ на формальном языке 59
5.2 Трансляция формальных описаний в язык BPEL 67
5.3 Разработка описаний потоков работ на языке BPEL 68
6 Реализация предложенных моделей и алгоритмов в виде комплекса программ по управлению потоками работ 76
6.1 Архитектура системы управления потоками работ 76
6.2 Проект «Автоматизация гидроакустических исследований и мониторинга» 80
6.3 Проект «Информационный портал поддержки использования результатов фундаментальных исследований» 81
6.4 Проект «Электронная Земля: научные информационные ресурсы и информационно-коммуникационные технологии» 83
6.5 Проект «Разработка среды электронного взаимодействия федеральных органов исполнительной власти и хозяйствующих субъектов» 84
Заключение 86
Приложение. UML-диаграммы классов онтологической модели потока работ 88
Список использованных источников 94
Список иллюстраций
- Structured Analysis and Design Technique
- Онтологическая оценка выразительности
- Оценка выразительности языка описания потоков работ
- «Множественные экземпляры с синхронизацией и известным на момент исполнения количеством экземтяров»
Введение к работе
Актуальность темы. Процесс выполнения тех или иных видов работ по управлению и обработке информационных ресурсов представляет собой регламентированный набор действий, которые необходимо выполнить для достижения необходимого результата. При этом в процессе подготовки входных и выходных данных каждого этапа потока работ исполнители используют обширный набор инструментальных программных продуктов для частичной автоматизации своего участка работ. Такая частичная автоматизация «ручной деятельности», конечно, имеет ряд преимуществ, но задача упрощения координации процесса по обработке информационных ресурсов в целом данным подходом не решается. Следующие ресурсоемкие задачи не могут быть решены путем простой автоматизации деятельности сотрудников на местах:
автоматизированная подготовка входных и выходных данных каждого этапа процесса;
координация потока управления и потока данных;
полная автоматизация отдельных участков потока работ (способность взаимодействия с «программными» исполнителями заданий в рамках некоторого унифицированного интерфейса);
возможность быстрого, с минимальными трудозатратами создания нового описания потока работ, с возможной модульностью (декомпозицией на подпроцессы) для повторного использования описаний, с поддержкой быстрой и безболезненной для участников процесса модификацией имеющихся описаний;
эффективная реакция потока работ на возникновение непредвиденных обстоятельств на пути его выполнения (например, недоступность в данный момент тех или иных ресурсов), в том числе четко регламентированные действия по устранению последствий некорректно выполненного этапа процесса;
хорошая управляемость процессом с доступом к данным любого активного этапа;
четкое ролевое разделение участников процесса (в том числе поддержка динамической взаимозаменяемости исполнителей в случае недоступности нужных ресурсов);
возможность сбора статистики выполнения процесса для последующей оптимизации.
Для эффективного решения перечисленных выше задач большая часть усилий разработчиков программного обеспечения на текущий момент сконцентрирована вокруг теории автоматизированных потоков работ (Workflow[6]) и систем управлении потоками работ (Workflow Management Systems[6]), способных эффективно решать задачи их исполнения и
координации. Количество подобных информационных систем, в основу которых на формальном уровне заложена базовая концепция интеграции распределенных ресурсов (как программных систем, так и человеческих ресурсов) для выполнения некоторой общей задачи, увеличивается очень быстрыми темпами. При этом новые решения приводят к появлению новых задач, адресованных системам управления потоками работ. К основным из них можно отнести следующие:
построение автономных систем управления потоками работ (вне контекста конкретного варианта их использования) требует строгой формализации описаний потоков работ на некотором языке;
поскольку основной контингент пользователей подобных систем составляют исполнители на местах, аналитики, менеджеры (т.е. люди неискушенные в программировании маршрута потока работ с использованием некоторых формальных языков), система разработки потоков работ должна предоставлять развитые средства по созданию и модификации описаний потоков работ. При этом должен использоваться наиболее интуитивно понятный обычному пользователю способ формирования потоков работ - визуальные диаграммы (так как практически каждый управляющий процессом человек привык использовать для таких целей некоторое прикладное средство, такое как, например, диаграммы деятельности UML[33]). Итого, помимо эффективного «языка программирования» потоков работ пользователям должна быть представлена удобная графическая нотация для их описания с достаточным уровнем абстракции;
система управления потоками работ должна предоставлять создателям описаний потоков работ полный набор средств для проверки их работоспособности до начала опытной эксплуатации. Такие средства должны включать как простые статические верификаторы корректности созданных описаний потоков работ, так и динамические отладчики;
интерактивные средства взаимодействия с пользователями являются особо важной составляющей частью системы, поскольку именно пользователи управляют ходом выполнения потока работ;
большую важность имеют задачи обеспечения безопасности данных и поддержки транзакционности автоматизированных потоков работ.
По данным направлениям организациями-законодателями теоретических основ систем управления потоками работ выполняется большая работа по стандартизации универсальных решений и технологий. Но на данный момент на рынке программных продуктов сложилась непростая ситуация со стандартизацией процесса построения систем управления потоками работ. Существует несколько конкурирующих спецификаций языков описания процессов
произвольной сложности и типов. Между тем следование каноническим спецификациям и стандартам дает ряд очевидных преимуществ как в случае систем управления потоками работ, так и в случае других практических решений:
строгая формализация процесса описания потоков работ: можно реализовать стандартный (возможно частично автоматизированный) процесс по анализу и построению новых моделей реальных потоков работ.
переносимость и интероперабельность: модели потоков работ, созданные в рамках одной системы, могут частично или полностью работать под управлением другой (возможно, удаленной) системы.
универсальность: расширяемость стандартов делает возможным применение единого механизма описания потока работ в различных сферах деятельности.
Расхождения в базовой семантической модели существующих языков описания потоков работ приводят к проблемам интероперабельности построенных на их базе исполняющих систем. Так же отсутствие четкой формальной основы не позволяет строить строгие алгоритмы верификации, анализа и оптимизации описаний на этих языках. Разный набор базовых понятий является причиной различной степени полноты и выразительности языков описания потоков работ.
В данной работе выполнена формализация понятий потока работ в рамках специализированной онтологической модели, разработан формальный язык описания потоков работ, на основе которых реализованы программные средства моделирования потоков работ и система управления потоками работ, использующая новейшие интеграционные стандарты и технологии.
Целью диссертационной работы является разработка моделей, методов и технологий автоматизации управления потоками работ. Практической составляющей работы является разработка комплекса программ, автоматизирующего моделирование и исполнение потоков работ, используемого при решении ряда задач автоматизации научной деятельности. В работе исследованы и решены следующие задачи:
Обзор подходов к моделированию потоков работ, их сравнительный анализ.
Построение модели потока работ на базе онтологического подхода к задаче описания информационных систем.
Разработка формального языка описания потоков работ на базе предложенной модели.
Выбор графического представления для визуального моделирования описаний потоков работ.
Реализация программного комплекса, автоматизирующего моделирование потоков работ с помощью разработанного формального языка.
Реализация комплекса программ по управлению потоками работ, описанными с помощью предложенного формального языка.
Апробация полученных результатов в ряде прикладных задач по автоматизации научной деятельности.
Научная новизна работы заключается в создании новых технологий и методов реализации систем управления потоками работ. В отличие от большинства существующих систем автоматизации потоков работ и бизнес-процессов, разработанный программный комплекс имеет следующие особенности:
Описание потоков работ базируется на формализованной онтологической модели информационной системы. В диссертационной работе предложен оригинальный подход к построению модели потока работ: онтологическая модель информационной системы в целом была адаптирована к области задач, решаемых системами управления потоками работ. Данный подход обеспечивает полноту и выразительность полученной модели потока работ.
Представлен формальный язык описания потоков работ. Данный язык делает возможным разработку алгоритмов верификации и оптимизации описанных на нем потоков работ, а также средств его интерпретации в рамках исполняющей системы.
Предложена графическая запись потока работ на базе спецификации BPMN 1.0[34] для визуального представления моделей потоков работ в средствах моделирования.
Рассмотрена задача автоматизированной трансляции описаний потоков работ на формальном языке в существующие языки описания потоков работ различных исполняющих платформ. Эта задача решена автором в виде реализации автоматизированной трансляции в язык описания композиций Web-сервисов ВРЕЦ42].
Разработана технология моделирования описаний потоков работ (формальное высокоуровневое описание и исполняемое низкоуровневое), реализован программный комплекс для автоматизации процесса моделирования потоков работ.
Реализован программный комплекс по управлению автоматизированными потоками работ, базирующийся на новейших интеграционных технологиях, таких как интеграция распределенных информационных систем с помощью Web-сервисов [37].
Практическая ценность работы. Построенная формальная онтологическая модель потока работ представляет собой каноническую модель, позволяющую решать проблему со-
поставления описаний потоков работ, сделанных с помощью различных технологий моделирования, их взаимного сравнения и преобразования.
Представленное формальное описание потоков работ позволяет разрабатывать различные автоматизированные анализаторы и интерпретаторы описаний потоков работ (в том числе, в целях их верификации и оптимизации).
Предложенные методы и средства моделирования полностью автоматизируют процесс разработки описаний потоков работ от формального, высокоуровневого описания до непосредственно исполняемого кода.
Разработанный комплекс программ по управлению потоками работ позволяет автоматизировать сложные распределенные процессы с использованием как человеческих ресурсов, так и взаимодействия с другими информационными системами и хранилищами данных. При этом средства динамической отладки потоков работ позволяют в кратчайшие сроки получать стабильно работающие процессы.
Реализованные программные средства имеют широкий круг применения в области автоматизации научной и производственной деятельности.
Основные научные и практические результаты, выносимые на защиту
В диссертационной работе представлены следующие результаты, выносимые на защиту:
Предложена унифицированная модель потока работ, описывающая на формализованном уровне основные понятия потока работ, их характеристики и взаимосвязи между ними.
Предложен формальный язык описания потоков работ, соответствующий разработанной модели и поддерживающий графическое представление в рамках графического языка описания потоков работ BPMN 1.0.
Разработана технология моделирования потоков работ, включающая стадию моделирования и описания на формальном языке и стадию автоматизированного получения описания потока работ на языке описания композиций Web-сервисов BPEL 1.1.
Реализован программный комплекс моделирования потоков работ, автоматизирующих весь процесс получения исполняемого описания потока работ.
Предложенные модели и алгоритмы реализованы в виде комплекса программ, обеспечивающего автоматизированное управление потоками работ и использующего Web-сервисные технологии. Разработаны средства интерпретации описаний потоков работ, средства динамической отладки потоков работ, мониторинга их исполнения и
протоколирования состояний исполняющегося потока работ для последующего анализа.
6. Разработанные модели, методы и технологии успешно использованы в ряде проектов РАН и в рамках проектов Федеральной Целевой Программы «Электронная Россия».
Публикации
По теме диссертации опубликовано 12 работ:
Сысоев Т.М., Бездушный А.А., Бездушный А.Н, Нестеренко А.К. Служба управления содержанием системы ИСИР, основанная на XML-технологиях // Новые технологии в информационном обеспечении науки: Труды X научно-практического семинара. /Библиотека по естественным наукам РАН. - М.: БЕН РАН, 2003. - С. 160-181.
Нестеренко А.К., Бездушный А.А., Сысоев Т.М., Бездушный А.Н. Возможности службы управления потоками работ по манипулированию ресурсами репозитория ИСИР // Новые технологии в информационном обеспечении науки: Труды X научно-практического семинара. /Библиотека по естественным наукам РАН. -М.: БЕН РАН, 2003.-С. 206-231.
Бездушный А.А., Бездушный А.Н., Нестеренко А.К., Серебряков В.А., Сысоев Т.М. Архитектура RDFS-системы. Практика использования открытых стандартов и технологий Semantic Web в системе ИСИР // Электронные библиотеки: перспективные методы и технологии, электронные коллекции: Труды V всероссийской научной конференции. /НИИ Химии СПбГУ. - СПб., 2003. - С. 45-60.
Нестеренко А.К., Сысоев Т.М., Бездушный А.А., Бездушный А.Н., Серебряков В.А. Интеграция распределенных данных на основе технологий Semantic Web и рабочих процессов // Электронные библиотеки: перспективные методы и технологии, электронные коллекции: Труды VI всероссийской научной конференции. /Институт математических проблем биологии РАН. - М, 2004. - С. 263-271.
Нестеренко А.К., Сысоев Т.М., Бездушный А.А., Бездушный А.Н. Интеграция информационных потоков посредством координирующих рабочих процессов // Научный сервис в сети Интернет: Сборник трудов всероссийской научной конференции. - М.: МГУ, 2004.-С. 165-167.
Нестеренко А.К. Служба управления потоками работ на базе стандартов WfMC // Интегрированная система информационных ресурсов: архитектура, реализация, приложения: Сборник трудов. /Вычислительный Центр им. А.А. Дородницына РАН. -М.: ВЦ РАН, 2004. - С. 96-112.
Bezdushny A.A., Bezdushny A.N., Nesterenko A.K., Serebhakov V.A., Sysoev T.M. Integrated System of Information Resources of the Russian Academy of Sciences // The 8th World Multi-Conference on Systemics, Cybernetics and Informatics SCI 2004, Orlando, Florida.-2004.-P. 462-467.
Бездушный A.H., Кулагин M.B., Серебряков В.А., Бездушный А.А., Нестеренко А.К., Сысоев Т.М. Предложения по наборам метаданных для научных информационных ресурсов // Журнал "Вычислительные Технологии". - 2005. - Т. 10, вып.7 - С. 29-48.
Нестеренко А.К. Использование технологии потоков работ для моделирования научных вычислительных процессов // Современные проблемы фундаментальных и прикладных наук: Труды XLVIII научной конференции. /Моск. физ.-тех. ин-т. -М., 2005. -С. 33-35.
Нестеренко А.К. Использование механизмов интеграции приложений для автоматизации процессов управления информационными ресурсами. // Порядковый анализ и смежные вопросы математического моделирования: Труды IV международной научной конференции. /Институт прикладной математики и информатики. - Владикавказ, 2006. - С. 66-76.
Нестеренко А.К, Данилина А.А., Сысоев Т.М., Бездушный А.Н., Серебряков В.А. Автоматизация процессов интеграции распределенных информационных ресурсов // Электронные библиотеки: перспективные методы и технологии, электронные коллекции: Труды VIII всероссийской научной конференции. /Ярославский государственный университет им. П.Г. Демидова. - Ярославль, 2006. - С. 279-290.
Нестеренко А.К. Использование парадигмы Model-View-Controller в задаче реализации средств моделирования бизнес-процессов // Современные проблемы фундаментальных и прикладных наук: Труды XLIX научной конференции. /Моск. физ.-тех. ин-т.-М.,2006.-С. 61-63.
В работах с соавторами личный вклад автора заключается в создании методов моделирования потоков работ, формальных способов описания потоков работ, разработке теоретических основ их записи на формальном языке. Автором предложен онтологический подход к описанию модели потока работ с использованием технологий Semantic Web, описана архитектура системы управления потоками работ, являющейся частью Интегрированной Системы Информационных Ресурсов[3,7] (ИСИР), создан соответствующий комплекс программ.
Апробация
Основные результаты работы докладывались и обсуждались на следующих научных конференциях и семинарах:
Научно-практический семинар "Новые технологии в информационном обеспечении науки" (Таруса, 2003-2005).
Всероссийская научная конференция "Электронные библиотеки: перспективные методы и технологии, электронные коллекции" (Санкт-Петербург, 2003; Пущно, 2004; Суздаль, 2006).
Всероссийская научная конференция "Научный сервис в сети Интернет" (Новороссийск, 2004).
Международный коллоквиум Spring Young Researcher's Colloquium On Database and Information Systems - SYRCoDIS, St.-Petersburg, Russia, 2004.
Международная конференция The 8th World Multi-Conference on Systemics, Cybernetics and Informatics - SCI 2004, Orlando, Florida, 2004.
Научная конференция МФТИ (Долгопрудный, 2005-2006).
Международная конференция "Порядковый анализ и смежные вопросы математического моделирования" (Владикавказ, 2006).
Научные семинары отдела систем математического обеспечения Вычислительного Центра им. А.А. Дородницына РАН (Москва, 2001-2007).
Краткое содержание работы
В главе 1 приведен обзор существующих технологий моделирования потоков работ, рассмотрена эволюция методов моделирования, начиная от методов функциональной декомпозиции (стандарт IDEF0) и заканчивая развитыми средствами моделирования потоков управления и данных.
В главе 2 представлен подход к моделированию потоков работ, основанный на онтоло-гиях информационных систем, рассмотрен онтологический подход к оценке выразительности технологий моделирования потоков работ, предложено сужение онтологической модели информационных систем на область систем управления потоками работ.
В главе 3 представлена разработанная формальная запись потока работ, семантика которого определена описанной онтологической моделью. Для возможности визуального моделирования потоков работ на формальном языке использован графический язык описания потоков работ BPMN 1.0.
В главе 4 рассматривается задача трансляции описаний потока работ на формальном языке в языки описания потоков работ, поддерживаемые различными исполняющими платформами. Возможность такой трансляции обуславливается тем, что разработанный формальный язык описания потоков работ представляет собой базис большинства из существующих языков описания потоков работ (таких, как BPEL, XLANG/s, BPML и т.д.), поскольку он следует онтологической модели, описывающей базовые понятия потока работ.
В главе 5 описывается реализованный комплекс программных средств для автоматизации процесса моделирования потоков работ. Представлена архитектура системы моделирования потоков работ, поддерживаемый набор функций.
В главе 6 описывается архитектура разработанного комплекса программ по управлению потоками работ. Данное решение следует ряду Web-стандартов для поддержки открытой модульной архитектуры. В конце главы приводятся примеры наиболее успешного внедрения программного комплекса в ряде проектов РАН.
В заключении приведены основные результаты диссертационной работы.
В приложении приведены диаграммы классов, описывающие основные сущности онтологической модели потока работ, их атрибуты и связи между ними.
Structured Analysis and Design Technique
Метод SADT (Structured Analysis and Design Technique) создан Дугласом Россом (Softech, Inc.) еще в 1969 г. и поддерживается Министерством обороны США, которое было инициатором разработки семейства стандартов IDEF (Integrated DEFinition Methods). Метод SADT реализован в одном из стандартов этого семейства - IDEF0[16], который был утвержден в качестве федерального стандарта США в 1993 г. Это процессный метод управления (система рассматривается именно как набор потоков работ). Модель потока работ описывается как на естественных языках, так и при помощи диаграмм. Базовым элементом описания является функциональный блок, описывающий конкретную функцию в рамках моделируемого потока работ:
Необходимые для выполнения функции данные, а так же результаты ее выполнения представлены интерфейсными дугами (стрелками). Левая стрелка представляет собой входной поток данных, в то время как правая - выходной. Верхняя стрелка представляет управляющее воздействие, а нижняя - необходимые для выполнения функции ресурсы.
В описании данной методологии указано, что все диаграммы модели SADT взаимосвязаны и организованы в иерархию. Вершина иерархии описывает систему в целом, это самое общее описание, а листья - самые детализированные описания. После описания системы в целом проводится разбиение ее на крупные фрагменты. Этот процесс называется функциональной декомпозицией, а диаграммы, которые описывают каждый фрагмент и взаимодействие фрагментов, называются диаграммами декомпозшщи. После декомпозиции контекстной диаграммы проводится декомпозиция каждого большого фрагмента системы на более мелкие и так далее до достижения нужного уровня подробности описания:
В конце 1980-х годов был разработан метод моделирования IDEF3[17], являющийся частью семейства стандартов IDEF. Предполагалось использование этого метода для моделирования работы ВВС США. С помощью этого метода стало возможным моделировать последовательность действий в рамках некоторого процесса. Основой модели IDEF3 служит так называемый сценарий процесса, который выделяет последовательность действий и подпроцессов анализируемой системы. Главной единицей модели IDEF3 является диаграмма:
Другой важный компонент модели - действие, или в терминах IDEF3 «единица работы» (Unit of Work). Каждое действие имеет идентификатор. Существуют связи между действиями (однонаправленные стрелки) и три типа таких связей: временное предшествование, объектный поток, нечеткое отношение (вид взаимодействия каждый раз оговаривается отдельно).
В ноябре 2002 года консорциум BPMI (Business Process Management Initiative) опубликовал спецификацию для графического представления потоков работ BPMN (Business Process Modeling Notation[34]), а в мае 2004 года появилась спецификация версии 1.0. В июне 2005 года было объявлено о начале совместных действий консорциума BPMI и OMG (Object Management Group) в области создания стандартов для моделирования потоков работ. OMG является интернациональным некоммерческим консорциумом разработчиков программного обеспечения и создает стандарты в области взаимодействия распределенных систем. В результате совместной деятельности двух консорциумов в феврале 2006 года вышла новая спецификация BPMN 1.0, принадлежащая OMG. Она отличается от предыдущей версии лишь комментариями и пояснениями. При этом сама модель данных изменена не была.
Члены рабочей группы BPMI консорциума создали спецификацию BPMN 1.0 на основе различных существующих стандартов, таких как UML Activity Diagram, IDEF и других. Выделяются два основных назначения BPMN-диаграммы. Во-первых, она должна быть понятна различным пользователям от аналитиков и разработчиков потоков работ до работников компании, которые будут управлять потоком работ (это требование должно выполняться для всех нотаций, созданных для описания потоков работ). Во-вторых, с помощью BPMN нота ции могут быть визуализированы XML-языки реализации потоков работ, такие как BPEL4WS (Business Process Execution Language for Web Services[42]).
BPMN-метамодель описывается в виде таблиц, содержащих информацию о BPMN-сущностях, атрибутах и их семантике, а также находится информация, необходимая для отображения диаграммы потоков работ в BPEL4WS (или сокращенно BPEL) формат.
В спецификации обозначены соглашения по изображению диаграмм:
Изображение графических элементов. Программное средство обязано изображать элементы BPMN в соответствии с формами, оговоренными в спецификации, запрещено менять форму элемента (например, нельзя заменить квадрат треугольником). Есть свобода в выборе цвета, размера, положения текста. Множество элементов может быть расширено в реализации за счет добавления маркеров и индикаторов к элементам, использования различных цветов элементов, видов линий, если это не противоречит спецификации. Могут быть добавлены новые виды комментариев к диаграмме, если их вид не будет конфликтовать с уже существующими элементами.
Семантика BPMN элементов. Программное средство должно изображать связи элементов в соответствии с их семантикой, определенной в спецификации. То есть, невозможна графическая связь между двумя элементами, если в спецификации не указана семантика их взаимодействия.
В соответствии со спецификацией можно выделить следующие основные категории элементов, которые могут быть изображены на диаграмме потоков работ BPMN: Объект потока работ (Flow Object): - Событие (Event). События влияют на ход выполнения процесса и могут иметь причину (trigger) или некоторый результат (result). - Действие (Activity). Действие характеризует работу, которую выполняет Участник потока работ. Действие может быть как атомарным (не разбивается на другие действия), так и составным. - Шлюз (Gateway). Шлюзы используются для маршрутизации различных потоков управления. Связь (Connecting Object): - Поток управления (Sequence Flow). Поток управления показывает очередность выполнения действий в ходе процесса. - Поток сообщений (Message Flow). Этот элемент указывает поток сообщений между двумя сущностями процесса, одна из которых получает, а другая - отправляет сообщение.
Онтологическая оценка выразительности
Авторами онтологии BWW вводятся два основных критерия «онтологической» оценки полноты и непротиворечивости метода моделирования информационных систем: онтологическая полнота и онтологическая ясность[19,2\]. При этом можно делать предположения о качестве той и или иной методики моделирования информационных систем по степени соответствия этим критериям[25,28].
Онтологическая полнота имеет место при отсутствии в грамматике ISAD (Information Systems Analysis and Design) дефицита конструкций. Дефицит возникает тогда, когда по крайней мере для одного понятия канонической онтологии не существует отражающей его грамматической конструкции анализируемой грамматики ISAD.
Онтологическая ясность характеризуется отсутствием следующих аномалий: Перегрузка конструкций присутствует в грамматике ISAD в случае, если некоторой грамматической конструкции ISAD соответствует более одного понятия канонической онтологии. Избыточность конструкций присутствует в грамматике ISAD в случае, если более одной грамматической конструкции ISAD представляют одно и то же понятие канонической онтологии. Лишние конструкции присутствуют в грамматике ISAD в случае, если они не соответствуют никаким понятиям канонической онтологии.
Анализ выразительности существующих методик моделирования информационных систем с помощью выявления несоответствий выбранной канонической онтологии широко применяется для анализа средств моделирования потоков работ. Для выражения степени отклонения техники моделирования от канонической онтологии по указанным выше критериям вводятся следующие коэффициенты, которые представляют собой процентное отношение количества конструкций конкретной «аномальной» группы к количеству всех конструкций анализируемой грамматики ISAD: относительная степень дефицита (relative degree of deficit, DoD); относительная степень перегрузки (relative degree of overload, DoO); относительная степень избыточности (relative degree of redundancy, DoR); относительная степень присутствия лишних конструкций (relative degree of excess, DoE). Следующая таблица представляет результаты исследования различных технологий моделирования потоков работ с помощью канонической онтологии BWW[21]:
Из таблицы видно, что анализ методик моделирования потоков работ с помощью онтологического подхода дает различные результаты, с достаточно большой степенью отклонения по некоторым из коэффициентов (например, коэффициент дефицита для BPMN 1.0 или коэффициент перегрузки для BPEL 1.1)[22,31]. Эти отклонения по большей части обусловлены тем, что «область покрытия реального мира» для информационных систем по автоматизации управления потоками работ уже, чем для всего класса информационных систем (онтология BWW). Поэтому для получения онтологической объективной оценки необходимо выполнить сужение (фокусировку) онтологии BWW на предметную область систем управления потоками работ. В рамках данной диссертационной работы был предложен вариант такого сужения. В следующем разделе представлены базовые сущности полученной онтологической модели, раскрыта их семантика.
На следующей диаграмме приведен фрагмент UML-диаграммы классов основных сущностей разработанной онтологической модели потока работ: Онтология BWW
Верхняя часть диаграммы представляет базовые понятия онтологии BWW, в то время как нижняя часть - их генерализацию на понятия потока работ.
Из приведенной диаграммы видно, что основными сущностями являются: Состояния (States) потока работ, отражающие текущее значение его свойств. События (Events), возникающие в результате смены состояний потока работ или внешних по отношению к данному потоку работ систем. Действия (Activities), переводящее поток работ из одного состояния в другое с появлением событий. Сам поток работ (WorkFlow), являющийся автономной системой, изменяющей свои состояния в соответствии с определенным набором действий и поступающими в систему событиями. Вложенный поток работ (SubFlow), определяющий единицу декомпозиции потока работ и взаимодействующий с другими вложенными потоками работ.
В приложении приводятся UML-диаграммы классов введенных сущностей онтологической модели потока работ. Рассмотрим более подробно их семантику.
В соответствие с онтологической моделью В WW события возникают в результате любого изменения состояния потока работ. При этом состояния потока работ изменяются в результате выполнения действий (преобразований состояний).
Для описания потока работ важны лишь некоторые из возникающих событий. Поэтому при описании потока работ должен быть определен некоторый способ именования некоторых из возникающих событий. Этого можно достичь, определив специальное действие, присваивающее некоторый идентификатор событию, возникающему в результате выполнения данного действия. Для этого онтология потоков работ вводит простое действие CREATE. Поскольку термин «генерация события» более привычен в терминологии объектно-ориентированных языков программирования, впоследствии вместо утверждения «действие CREATE выполняет именование события с использованием идентификатора л:» будем говорить, что «действие CREATE выполняет генерацию события х», а сам процесс именования события будем называть процессом генерации события. Обозначим за множество всех генерируемых в процессе выполнения потока работ событий.
Часто информация о факте генерации события бывает нужна в некоторый момент времени после его появления. Следовательно, при выполнении потока работ должна быть обеспечена возможность сохранения информации о факте генерации события. Для этих целей вводится понятие локального вектора событий, представляющего собой общую память потока работ, в которую действие CREATE помещает идентификатор события после его генерации. Далее по тексту вместо утверждения «вектор событий содержит идентификатор события х» будем говорить, что «вектор событий содержит событие х». Следует заметить что, использование определения «локальный» в данном случае говорит о том, что информация о событиях из локального вектора событий доступна только внутри исполняющегося потока работ. Далее по тексту будем опускать определение «локальный», если это понятно из текущего контекста. Вектор событий может содержать несколько экземпляров одного и того же события (если имел место факт его повторной генерации).
При итеративном (циклическом) выполнении некоторых участков потока работ может возникнуть необходимость удаления информации о факте генерации события из вектора событий. Для этого в онтологии потока работ служит простое действие DELETE.
Наконец, поскольку информация о сгенерированных событиях сохраняется в векторе событий, в любой момент времени в рамках потока работ можно проверить присутствие в векторе событий того или иного события.
Оценка выразительности языка описания потоков работ
Данный шаблон реализует поток управления, когда происходит слияние параллельно выполняющихся ветвей потока работ в единую ветвь. Слияние ветвей происходит после того, когда хотя бы одна из параллельных ветвей будет выполнена (XOR-синхронизация). Шаблон реализуется следующим описанием потока работ: Р=А&В&С A = A .CREATE(a) B = B .CREATE{b) С = WAIT(а b). С Данный шаблон реализует поток управления, когда происходит слияние параллельно выполняющихся ветвей потока работ в единую ветвь. Слияние ветвей происходит после того, когда одна из параллельных ветвей будет выполнена. При этом после последующего вы полнения каждой из параллельных ветвей происходит повторная синхронизация потока управления. Шаблон реализуется с помощью простого действия WAIT, правила итерации и правила асинхронного параллельного запуска отдельного действия: Р=А&В&С А = A .CREATE(a) B = B .CREATE(a) С = (WAIT(a).(&C ))
Данный шаблон реализует поток управления, когда происходит слияние параллельно выполняющихся ветвей потока работ в единую ветвь. Активизация следующего за точкой слияния действия происходит сразу же после того, как ее достигнет одна из параллельно выполняющихся ветвей процесса. С этого момента все остальные параллельно выполняющиеся ветви, достигнувшие точки слияния, «игнорируются». После того, как все параллельно выполняющиеся ветви достигнут точки слияния, дискриминатор возвращается в первоначальное состояние (это требуется для возможности его повторной работы в цикле). Шаблон реализуется следующим описанием потока работ: P=A&B&C&D A = A .CREATE(a) B = B .CREATE(b) C = C .CREATE(c) D = Dl&D2 Z), = [a] CREA TE(d)& [b] CREA TE(d)& [c] CREA ТЕ (d) D2=D3&D4 D} = WAIT{d).CREA TE{e) WAIT {d) WAIT {d).D D4=WAIT(e).D Рассмотрим данную реализацию более подробно ввиду ее сложности. Параллельные ветви представлены действиями А, В и С. Синхронизирующее действие (сам дискриминатор) представлено действием D. Действие D инициирует запуск двух параллельных ветвей: , и
D2. Ветвь Dl в параллельном режиме принимает события а, Ъ, и с исполнения ветвей А, В и С и каждый раз генерирует событие d. В свою очередь D2 тоже состоит из двух параллельно выполняющихся ветвей: Z)3 и Z)4. Ветвь D} принимает событие d окончания выполнения одной из ветвей А, В или С, и в ответ на это генерирует событие е, которое приводит к активации «полезного» действия дискриминатора - действия D . После этого D3 продолжает получать события о завершении оставшихся ветвей, и, получив их все, выполняет реинициа-лизацию дискриминатора (рекурсивная активация действия D).
Произвольные циклы, составляющие данный шаблон, могут быть реализованы с помощью правила итерации.
Данный шаблон предполагает завершение выполнения некоторой ветви потока работ, если для нее отсутствуют дальнейшие правила перехода потока управления. Шаблон реализуется в разработанном языке автоматически, поскольку он является просто корректным поведением потока работ в конечном состоянии.
Данный шаблон подразумевает возможность создания произвольного количества параллельно исполняющихся экземпляров действия А без последующей синхронизации. Шаблон реализуется следующим описанием потока работ: Р = (&А )
Данный шаблон подразумевает возможность создания некоторого количества параллельно исполняющихся экземпляров действия А, которое известно на момент разработки описания потока работ, с последующей синхронизацией. После синхронизации экземпляров действия А, выполняется действие В. Шаблон реализуется следующим описанием потока работ: Р = А.В А = (&А ).(&А ).(&А ) А = A".CREATE (Ъ) В = WAIT (b) WAIT (Ъ) WAIT (Ъ).В
Данный шаблон подразумевает возможность создания некоторого количества параллельно исполняющихся экземпляров действия А, которое известно только к моменту его первой активации, с последующей синхронизацией. После синхронизации экземпляров действия А, выполняется действие В. Шаблон реализуется следующим описанием потока работ: Р = А.В A = [x](DELETE(x).CREATE(b).(&A j) А = A".DELETE (b) B = [b]EMPTY.B Событие х представляет собой динамический (максимальное значение которого известно только к моменту активации цикла) счетчик - количество итераций цикла запуска нового экземпляра действия А равно количеству экземпляров события х векторе событий.
Действие В активируется только после того как в векторе событий больше не останется экземпляров события Ь, что означает выполнение всех экземпляров действия Л.
«Множественные экземпляры с синхронизацией и известным на момент исполнения количеством экземтяров»
Большинство созданных на текущий момент систем управления потоками работ в качестве среды функционирования автоматизированных участников потока работ (сервисов) придерживаются сервис-ориентированной модели взаимодействия, представленной архитектурой Web-сервисов (Web Services Architecture[37]). Web-сервисы - это распределенные компоненты, обрабатывающие XML-сообщения, передаваемые по протоколу SOAP (Simple Object Access Protocol[38]). Интерфейс Web-сервисов описывается с помощью языка WSDL (Web Services Description Language[39]). Web-сервисы обеспечивают интероперабелыюсть между программными компонентами, которые могут размещаться в различных инфраструктурах.
Основным достоинством использования архитектуры Web-сервисов является то, что отсутствует жесткая связь между Web-сервисом и его потребителем. Связь существует только на уровне зависимости клиента от интерфейса Web-сервиса. При этом выбор конкретной реализации Web-сервиса может происходить динамически. Для целей каталогизации описаний интерфейсов Web-сервисов, их классификации для обеспечения «динамического связывания» был разработан стандарт UDDI (Universal Discovery and Description[40]). Данный стандарт описывает структуры данных для описания Web-сервисов, а так же описание интерфейса Web-сервиса, предоставляющего набор операций по доступу и модификации этих данных. Физическая структура UDDI-реестра (хранилища описаний Web-сервисов) может быть специфичной для конкретной реализации UDDI-реестра.
Следующая диаграмма иллюстрирует связи между отдельными компонентами Web-сервисной архитектуры:
Существует ряд дополнительных стандартов, расширяющих функциональную основу Web-сервисной архитектуры. К основным из них можно отнести:
WS-Security[44]. Данный стандарт описывает методы применения стандартных алгоритмов аутентификации, авторизации пользователей, криптографической защиты и обеспечения целостности передаваемых данных в рамках Web-сервисной архитектуры.
WS-Addressing[45]. Стандарт WS-Addressing позволяет организовать асинхронное взаимодействие между Web-сервисами, а так же между\УеЬ-сервисами и их потребителями.
WSransaction[46]. Данный стандарт описывает реализацию механизмов атомарных транзакций в Web-сервисной среде. Помимо этого он вводит понятие специфичных для продолжительных потоков работ долгоэюивущих транзакций, основанных на семантическом «откате» транзакций без необходимости длительной блокировки ресурсов.
WS-ReliabkMessaging[41]. Данный стандарт позволяет организовывать обмен сообщений между Web-сервисами с подтверждением их доставки. Тем самым исключается возможность потери данных при передаче.
Перечисленные выше достоинства Web-сервисной архитектуры делают ее чрезвычайно удобной для использования в качестве среды функционирования потоков работ. Дополнительным преимуществом является существование ряда XML-языков для описания компози ций Web-сервисов. Эти языки могут быть использованы для описания автоматизированных потоков работ[10,11]. В следующем разделе приведен обзор основных языков описания композиций Web-сервисов.
На текущий момент существует ряд XML-языков для описания потоков работ в виде композиций Web-сервисов. К наиболее проработанным из них можно отнести: WSFL (Web Services Flow Language[41]), IBM, 2001; WSCI (Web Services Choreography Interface[43]), W3C Standard, 2003; BPEL4WS (Business Process Execution Language for Web Services[42]), OASIS Standard, 2003. Рассмотрим перечисленные подходы к описанию потоков работ в Web-сервисной среде более подробно.
Web Services Flow Language, разработанный компанией IBM, представляет собой XML-язык, описывающий композицию произвольного типа Web-сервисов в пределах одной модели потока работ (Flow Model). Данная композиция описывается последовательностью точек доступа к функциям, предоставляемым различными Web-сервисами. Порядок запуска сервисов определяется с помощью управляющих потоков и потоков данных между Web-сервисами.
Каждый поток работ, объединяющий в себе использование набора некоторых Web-сервисов, включает в себя: Поток управления, определяющий набор действий, которые необходимо выполнить в течение данного процесса. Управляющие правила, которые определяют последовательность выполнения шагов потока работ. Поток информации между различными этапами потока работ. Формальная WSFL-модель, отражающая взаимодействие между потоком работ и внешними Web-сервисами, представлена на следующей диаграмме:
Похожие диссертации на Формализация потоков работ и ее применение