Автоматическая верификация и оптимизация потоков работ

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

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

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

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

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

Автоматическая верификация и оптимизация потоков работ

С распространением глобальной сети Интернет появилась возможность объединять географически распределенные вычислительные и человеческие ресурсы для координированного исполнения различных производственных процессов. Потоком работ принято считать формальное описание процедуры передачи данных и управления между участниками некоторого производственного процесса в соответствии с определенными правилами. Известны различные исполняемые языки описания потоков работ, такие как BPEL, XPDL, BPMN. Все они позволяют явно или неявно задавать поток управления с помощью таких маршрутизирующих элементов как «И-распараллеливание», «И-синхронизация», «ИЛИ-выбор», «ИЛИ-синхронизация», поэтому необходимы средства автоматической проверки сбалансированного использования этих элементов (верификации) при проектировании потоков работ. Кроме того, в ходе формализации производственного процесса может быть получен поток работ не оптимальный по времени выполнения. Так, например, поток работ может содержать конструкции, описывающие последовательное исполнение независящих по данным действий. Поэтому особый интерес представляет задача автоматического преобразования потока работ таким образом, что задания независящие по данным будут исполнены параллельно, при этом смысл самого потока работ будет сохранен.

Цель работы

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

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

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

3. Для унифицированного анализа блочно-графовых языков описания потоков работ используется промежуточное блочно-графовое представление. Необходимы алгоритмы двустороннего отображения между созданным промежуточным графовым представлением и предложенным в литературе блочно-графовым базисным Формальным языком описания потоков работ.

4. Разработка алгоритмов двустороннего отображения между Формальным языком описания потоков работ и языком BPEL для оценки практического применения алгоритмов анализа потоков работ.

Научная новизна

Научной новизной обладают следующие результаты диссертационной работы:

1. Предложены новые эффективные алгоритмы верификации и оптимизации (распараллеливания независящих по данным действий) потоков работ;

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

3. Разработаны алгоритмы двустороннего отображения между созданным промежуточным графовым представлением и блочно-графовым представлением потока управления.

Практическая ценность

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

Апробация работы

Основные положения работы докладывались на восьмой всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции» (2006 г.), на 51-ой научной конференции «Современные проблемы фундаментальных и прикладных наук» (2008 г.), на четвертой международной конференции «Информационные технологии и системы: наука и практика» (2009 г.), на 52-ой научной конференции «Современные проблемы фундаментальных и прикладных наук» (2009 г.), на 17-ой всероссийской научно-методической конференции «Телематика» (2010 г.), на 13-ой всероссийской конференции «Распределенные информационно-вычислительные ресурсы» (2010 г.). Были опубликованы работы в журналах «Труды МФТИ» (2009 г.) и «Программирование» (2010 г.)

В Главе 1 рассказывается об основных понятиях предметной области (потоки работ, системы управления потоками работ), приводится описание основных известных языков представления потоков работ. Для анализа и преобразования потоков управления вводятся Размеченные графы анализа потоков работ.

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

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

Рис. 1. Элементы Графа анализа потока работ

алгоритм верификация оптимизация

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

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

Определение 2. Поток работ, заданный с помощью Формального языка описания потоков работ, определяется шестеркой :

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

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

3. Начальное действие . Действие, с которого начинается выполнение потока работ.

4. Множество переменных, определенных уровне экземпляра потока работ .

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

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

Действия потока работ могут быть простыми и составными. Составное действие строится из действий потока работ с использованием правил активации вложенных действий: параллельной и последовательной активации. Составное действие также может быть специальным составным действием: условным выбором или циклом. В формулах потока работ для простых действий указываются их имена, входные и выходные параметры (переменные потока работ). К простым действиям также относятся несколько специальных системных действий: генерация события, ожидание события с одновременным удалением информации о нем, пустое действие, не выполняющее никакой работы. Поток работ завершает свое выполнение, когда ни одно его действие не может быть активировано.

Приводятся алгоритм построения Размеченного графа анализа потока работ по Формальному описанию потока работ (Алгоритм 1) и обратный алгоритм получения Формального описания потока работ по Размеченному графу анализа (Алгоритм 2). Доказано утверждение об обратимости преобразований.

Утверждение 1. Пусть по Формальному описанию потока работ с помощью Алгоритма 1 построен Размеченный граф анализа потока работ . Тогда, если к Размеченному графу анализа потока работ применить Алгоритм 2 , то он будет выполнен без ошибок, результатом его работы стает некоторое Формальное описание потока работ .

В Главе 2 для Размеченных графов анализа потоков работ представлены разработанные автором алгоритмы верификации и оптимизации потоков работ. Определены вычислительные сложности предлагаемых алгоритмов.

Алгоритмы верификации потоков работ позволяют находить вершины графа, моделирующего поток работ, в которых могут возникать структурные конфликты. Конфликт типа «тупик» возникает в том случае, если лишь некоторые из входящих дуг синхронизирующей вершины активированы, и синхронизирующая вершина будет бесконечно долго ожидать активации других входящих дуг. Конфликт типа «недостаток синхронизации» произойдет в ациклическом Размеченном графе анализа потока работ, если вершина слияния была активирована несколько раз вследствие активации различных входящих дуг. В работе представлен новый алгоритм верификации потоков работ - АБВ (алгоритм булевой верификации) для графов без ориентированных циклов (Алгоритм 3), в ходе работы которого каждой вершине выбора Размеченного графа анализа потока работ ставится в соответствие уникальный идентификатор , для каждой вершины и для каждой дуги определяются условие выполнения и условие активации соответственно, являющиеся булевыми функциями над множеством идентификаторов вершин выбора. Если условия активации входящих дуг синхронизирующей вершины не совпадают, возможен случай, когда будет активирована только часть входящих дуг, и возникнет конфликт типа «тупик». Условие выполнения вершины слияния вычисляется как дизъюнкция условий активации входящих дуг. Если условия активации входящих дуг являются попарно взаимоисключающими, то при выполнении потока работ может быть активировано не более одной входящей дуги вершины слияния, иначе возникнет конфликт типа «недостаток синхронизации». Пример работы Алгоритма 3 приведен на рисунке 2.

Рис. 2. Пример работы Алгоритма 3

Для задания условия активации входящих дуг: и различны, поэтому может возникнуть конфликт типа «тупик». Конфликт типа «недостаток синхронизации» может возникнуть в вершине слияния , условия активации входящих дуг которой: и .

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

Теорема 1. Пусть дан Размеченный граф анализа потока работ без ориентированных циклов , не содержащий структурных конфликтов. В ходе работы Алгоритма 3 было вычислено условие выполнения вершины выбора - , пусть оно было представлено в виде ДНФ - . Тогда для любой вершины графа представление условия ее выполнения либо содержит все дизъюнкты ,…, , где - это или не более одного раза, либо не содержит ни один из этих дизъюнктов.

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

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

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

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

В работе представлен алгоритм булевой верификации потоков работ для графов с циклами (Алгоритм 4). В ходе работы Алгоритма 4 с графами, содержащими ориентированные циклы, выделяются вложенные циклы программы, каждый вложенный цикл программы проверяется на наличие конфликтов типа «мертвый цикл», «бесконечный цикл», «ветвящийся цикл» (рассматриваются вершины выхода из цикла и вершины инициирующие цикл), проводится верификация ациклического графа на каждом уровне вложенности. Сложность Алгоритма 4 совпадает с вычислительной сложностью Алгоритма 3. Обосновывается корректность и полнота Алгоритма булевой верификации для графов без ориентированных циклов (Алгоритм 3).

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

В Главе 3 определяются правила прямого и обратного отображений между конструкциями языка BPEL и Формального языка описания потоков работ. Описывается Система автоматической верификации и оптимизации, реализующая предлагаемые алгоритмы анализа, преобразования и отображения, которая может быть использована для анализа и оптимизации потоков работ, формализованных с помощью языка BPEL. Излагаются основные принципы работы Электронной библиотеки «Научное Наследие России», обосновывается необходимость использования системы управления потоками работ для формализации и автоматизации управления процессами в электронной библиотеке, в качестве такой системы предлагается специально разработанная Система управления Электронной библиотекой «Научное наследие России», отвечающая за исполнение BPEL-описаний процессов. Рассматривается пример BPEL-процесса Электронной библиотеки «Научное наследие России», проводится его анализ и оптимизация в соответствии с предлагаемыми алгоритмами.

В Приложении 1 приведен псевдокод функций используемых при построении Формального описания потока работ по Размеченному графу анализа потока работ. В Приложении 2 и Приложении 3 представлен BPEL-процесс удаления книги в Электронной библиотеке «Научное наследие России» до и после оптимизирующих преобразований соответственно. В Заключении перечисляются основные результаты работы.

алгоритм верификация оптимизация

Литература

1.Нестеренко А.К., Данилина А.А., Сысоев Т.М., Бездушный А.Н., Серебряков В.А. Автоматизация процессов интеграции распределенных информационных ресурсов // Электронные библиотеки: перспективные методы и технологии, электронные коллекции: Труды VIII всероссийской научной конференции. /Ярославский государственный университет им. П.Г. Демидова. - Суздаль, 2006. - С. 279-290.

2.Данилина А.А. Автоматическая оптимизация потоков работ // Современные проблемы фундаментальных и прикладных наук: Труды 51-й научной конференции МФТИ. /МФТИ.- Москва-Долгопрудный , 2008.- Ч.VII ,Т.3 - С.88-90.

3.Каленкова А.А. Операционная семантика потоков работ // Информационные технологии и системы: наука и практика: Труды IV международной конференции. /Владикавказский научный центр РАН и Правительства Республики Северная Осетия -- Алания - Владикавказ, 2009 - Ч.2 - С. 108-111.

4.Каленкова А.А. Оптимизация потоков работ по времени выполнения, основанная на удалении избыточных потоков управления // Труды МФТИ, 2009. - Т.1, №. 2 - С.160-175.

5.Каленкова А.А. Метод верификации потоков работ, основанный на построении логических выражений // Современные проблемы фундаментальных и прикладных наук: Труды 52 научной конференции МФТИ. /МФТИ.- Москва-Долгопрудный , 2009. - Ч.VII ,Т.2 - С.125-128.

6.Каленкова А.А., Серебряков В.А., Бездушный А.Н. Система автоматической верификации и оптимизации потоков работ // Телематика: Труды XVII всероссийской научно-методической конференции. /Санкт-Петербургский государственный университет информационных технологий механики и оптики. - Санкт-Петербург, 2010. - С. 381-382.

7.Каленкова А.А. Применение условной конверсии для верификации и оптимизации потоков работ // Программирование - 2010. - Т.36, №. 5 - С.38-53.

8.Каленкова А.А. Использование системы автоматической верификации и оптимизации потоков работ для анализа процессов обработки информационных ресурсов в электронной библиотеке // Распределенные информационно-вычислительные ресурсы" (DICR'2010). / Институт вычислительных технологий СО РАН. - Новосибирск , 2010. - С. 17.

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


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

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

    дипломная работа [1,1 M], добавлен 18.05.2012

  • Особенности разработки при использовании потоков. Создание, удаление переменных. Свойства, управление потоками. Вызовы для создания мутекс. Причины завершения потока. Методы синхронизации выполнения потоков. Типичная последовательность действий с мутест.

    лекция [160,8 K], добавлен 29.07.2012

  • Анализ тестопригодности графа управления автоматной модели HDL-программы. Фрагмент модуля дискретного косинусного преобразования и кода механизма ассерций. Особенности верификации дискретного косинусного преобразования в среде Questa, Mentor Graphics.

    реферат [306,9 K], добавлен 20.11.2010

  • Общее понятие алгоритма и меры его сложности. Временная и емкостная сложность алгоритмов. Основные методы и приемы анализа сложности. Оптимизация, связанная с выбором метода построения алгоритма и с выбором методов представления данных в программе.

    реферат [90,6 K], добавлен 27.11.2012

  • Реализация алгоритма верификации данных; разработка программы обнаружения аномальных данных в одномерных выборках. Характеристика методов D-статистики, Титьена-Мура, диаграммы "Ящик с усами"; обеспечение эффективности оценок статистических данных.

    курсовая работа [2,5 M], добавлен 27.05.2013

  • Классификация моделей транспортных потоков. Моделирования структуры проезжих частей и допустимых траекторий движения на перекрестке. Общие сведения о программной платформе. Структура классов, стадии и этапы разработки. Алгоритм следования за лидером.

    курсовая работа [75,3 K], добавлен 04.06.2013

  • Создание потока путем реализации интерфейса Runnable. Диспетчеризация, имена, приоритеты и определение работающих потоков. Взаимная их блокировка и корректное завершение. Применение методов wait(), notify(), notifyAll(). Завершение потока с interrupt().

    презентация [116,7 K], добавлен 21.06.2014

  • Сущность управления лицензионным программным обеспечением. Требования к аппаратному обеспечению. Изучение средств моделирования и разработки информационной системы. Анализ основных методов работы с Oracle Designer. Построение диаграмм потоков данных.

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

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

    дипломная работа [7,0 M], добавлен 29.06.2012

  • Методика и основные этапы разработки стратегической игры, ее элементы и принцип работы программы. Порядок построения информационной модели. Диаграмма потоков данных и действий. Выбор языка программирования и его обоснование. Критерии качества среды.

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

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