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



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

Логико-языковые средства автоматизации производственных процессов Шундеев Александр Сергеевич

Логико-языковые средства автоматизации производственных процессов
<
Логико-языковые средства автоматизации производственных процессов Логико-языковые средства автоматизации производственных процессов Логико-языковые средства автоматизации производственных процессов Логико-языковые средства автоматизации производственных процессов Логико-языковые средства автоматизации производственных процессов Логико-языковые средства автоматизации производственных процессов Логико-языковые средства автоматизации производственных процессов Логико-языковые средства автоматизации производственных процессов Логико-языковые средства автоматизации производственных процессов
>

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

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

Шундеев Александр Сергеевич. Логико-языковые средства автоматизации производственных процессов : Дис. ... канд. физ.-мат. наук : 05.13.11 : М., 2005 168 c. РГБ ОД, 61:05-1/1117

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

Введение

1 Основные положения технологии автоматизации производственных процессов 12

1.1 Области применения 12

1.2 Две парадигмы (коммуникационный и операционный подход) 15

1.3 Общепринятая классификация 21

2 Современные логико-языковые средства описания и верификации автоматизированных процессов 24

2.1 Направления развития и вопросы стандартизации 24

2.2 Язык XPDL 27

2.3 Оценка выразительности языков описания определений процессов 31

2.4 Математические методы моделирования и анализа производственных процессов 38

2.4.1 Типы анализа 38

2.4.2 Сети Петри 42

2.4.3 Редукция графов 54

2.4.4 Выводы 59

2.5 Обзор промышленных систем автоматизации производственных процессов 60

2.5.1 COSA 61

2.5.2 MQSeries/Workflow 62

2.5.3 Staffware 63

2.5.4 InConcert 64

2.5.5 Выводы 64

Разработка основанного на XML языка описания определений и реализаций процессов 66

3.1 Синтаксис языка XPDIL G6

3.1.1 Элемент Process 67

3.1.2 Элементы Data и Parameter 73

3.1.3 Элемент Participant 75

3.1.4 Элемент Step 76

3.1.5 Элемент Transition 80

3.2 Семантика (формальная модель) языка XPDIL 81

3.2.1 Статическая составляющая формальной модели . 82

3.2.2 Динамическая составляющая формальной модели . 86

3.3 Выразительность языка XPDIL 95

3.3.1 Шаблон последовательности 96

3.3.2 Поддерживаемые шаблоны, основанные на понятии нити управления 98

3.3.3 Контрпример для шаблона синхронизирующего соединения 104

3.3.4 Не поддерживаемые шаблоны, использующие множественную реализацию шагов процесса 106

3.3.5 Не поддерживаемые шаблоны, использующие дополнительные условия на смену промежуточных этапов реализаций процессов 109

3.3.6 Шаблоны, регламентирующие завершение реализации процесса 111

3.3.7 Теорема о выразительности языка XPDIL 115

3.4 Выводы 116

Архитектурно-технологические аспекты программной системы 118

4.1 Основные черты специализированной системы автоматизации производственных процессов 118

4.2 Модуль разработки определений процессов 123

4.3 Модуль автоматизации 126

4.4 Модуль управления задачами пользователей 127

4.5 Результаты опытной эксплуатации 128

5 Математические методы валидации 133

5.1 Неформальное описание подхода 133

5.2 Формализация понятия «нить управления» 136

5.3 Регулярность языков управления для ограниченных сетей Петри 139

5.4 Пример нерегулярного языка управления 145

5.5 Конъюктивные регулярные тесты 147

5.6 Направление дальнейшего развития подхода 149

Список литературы 152

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

Актуальность темы

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

В настоящее время технология автоматизации производственных процессов получила широкое распространение — от электронного документооборота до областей, связанных с интеграцией информационных и производственных ресурсов. Несмотря на то, что данная технология бурно развивается с 70-х годов прошлого столетия, и уже более 10 лет идет процесс ее стандартизации, многие важные проблемы на сегодняшний день имеют либо частичное, либо неудовлетворительное решение. Это прежде всего касается разработки стандартных средств документирования автоматизированных производственных процессов и оценки их выразительности. Отсутствие широко признанных адекватных математических моделей приво- JB англоязычной литературе используется термин business process. дит к тому, что семантика основных структурных составляющих языков документирования лодчас остается неопределенной. В результате практическое использование средств документирования, а тем более их повсеместное внедрение, оказывается затруднительным. Другой важный блок вопросов связан с проверкой корректности и адекватности формальных моделей автоматизированных производственных процессов (адекватности реальным процессам, которые они моделируют). Существующие математические модели и реально использующиеся на практике программные средства позволяют оценивать лишь ограниченный стандартный набор свойств процессов. При этом важный этап анализа, связанный с проверкой адекватности сводится к рутинному пошаговому выполнению тестовых запусков реализаций процессов. Необходимость решения обозначенных проблем, связанных с разработкой средств документирования, построением и исследованием адекватности математических моделей автоматизированных производственных процессов, определяет актуальность диссертационной работы.

Цель работы

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

Основные результаты работы

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

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

На основе аппарата сетей Петри разработан и обоснован метод проверки адекватности определений производственных процессов их реальным аналогам.

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

Методы исследования

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

Научная новизна работы

Отличительной особенностью языка XPDIL является возможность в единообразном виде описывать схему выполнения и промежуточные состояния реализаций автоматизированного производственного процесса. Данная особенность позволила, по всей видимости впервые, свести функционирование системы автоматизации производственных процессов к манипулированию XML документами. Как результат, — появилась возможность одновременно осуществлять автоматизацию различных классов производственных процессов — продукционных и специализированных.

Новая математическая модель автоматизированных производственных процессов позволила формализовать метод Ван-дер-Ал ьста и Хофстеда (изначально нестрого формализованный с математической точки зрения) оценки выразительности средств описания автоматизированных производственных процессов. В рамках данной математической модели проведено исследование свойств и выразительности языка XPDIL.

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

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

Основные положения работы докладывались на международной научно-методической конференции "Новые информационные технологии в университетском образовании" (2001 г.), на школе-семинаре по компьютерной автоматизации и информатизации ACS'2002 (2002 г.), на научной конференции "Ломоносовские чтения" (2001 г. и 2004 г.), на международной научной конференции "Мальцсвские чтения" (2003 г.), на механико-математическом факультете МГУ им. М. В. Ломоносова на семинаре "Современные сетевые технологии" под руководством проф. В. А. Васенина (2001 г. и 2004 г.), в ВИНИТИ РАН на семинаре "Логические проблемы интеллектуальных систем" под руководством проф. В. К. Финна (2004 г. и 2005 г.), на факультете вычислительной математики и кибернетики МГУ им, М. В. Ломоносова на семинаре "Современные методы и средства моделирования систем обработки и передачи данных" под руководством проф. Р. Л. Смелянского (2004 г.), на семинаре "Автоматизация программирования" под руководством проф. М. Р. Шура-Бура (2005 г.).

По материалам диссертации опубликовано семь печатных работ [70], [71], [72], [73], [74], [75], [76].

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

Разработан прототип системы автоматизации производственных процессов, основанный на языке XPDIL. Данная система предназначена для автоматизации исследований структурно-механических свойств материалов, проводимых в Институте механики МГУ им. М.В. Ломоносова. Структура и содержание настоящей работы

Работа состоит из введения, пяти глав, заключения, списка литературы и двух приложений. Главы разбиты на разделы, а наиболее крупные разделы делятся на подразделы. Общий объем диссертации — 168 страниц, из них 8 страниц занимают приложения. Диссертация содержит 21 рисунок и 39 таблиц. Список литературы содержит 75 наименований. Изложение диссертации структурировано следующим образом.

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

Вторая глава посвящена логико-языковым средствам описания и верификации автоматизированных производственных процессов. Глава состоит из пяти разделов. Первый раздел главы включает в себя изложение проблемы обмена описаниями определений процессов между различными системами автоматизации производственных процессов, а также изложение подходов к ее решению, вырабатываемых международной организацией Workflow Management Coalition. Во втором разделе дается краткое введение в стандартный язык описания определений процессов XPDL, анализируются его преимущества и недостатки. Отмечается необходимость разработки методов оценки выразительности средств описания автоматизированных производственных процессов. В третьем разделе на примере языкаXPDL излагается основанный на шаблонах подход к оценке вырази- тельности языков описания автоматизированных производственных процессов, предложенный Ван-дер-Альстом и Хофстедом. Четвертый раздел посвящен сравнительному анализу математических средств (динамических и статических) верификации автоматизированных производственных процессов, а также их связи со средствами документирования. В заключительном пятом разделе приводится краткий обзор промышленных систем автоматизации производственных процессов. Особое внимание уделяется описанию их языков разработки и моделирования.

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

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

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

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

Диссертационная работа включает в себя два приложения. В первом приложении приводится грамматика языка XPDIL в формате DTD. Во втором приложении приводится CORBA IDL интерфейс системы автоматизации производственных процессов, основанной на языке XPDIL.

Базовые определения и обозначения

При изложении результатов диссертационной работы будем придерживаться следующих базовых определений и обозначений: N — множество всех натуральных чисел, N0 — множество всех неотрицательных целых чисел; cardJY" — мощность множества X, setX — множество всех подмножеств множества X, 0 — пустое множество; mult Л" — множество всех мультимножеств, заданных над непустым множеством X (под мультимножеством понимается произвольная функция, заданная на X и принимающая свои значения из N0); X* — множество всех слов над алфавитом X, А — пустое слово;

Л, V, =^, -4=^- — логические символы, заменяющие, соответственно, слова «и», «или» и сочетания слов «если ..., то ... », «тогда и только тогда, когда».

Для введения новых обозначений будет использоваться знак ^.

Две парадигмы (коммуникационный и операционный подход)

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

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

Компанией Action Technologies Inc. был разработан набор програмных средств, включая реализацию AWA-метода, а также специализированную с.а.п.п., использующую модель производственных процессов AWA-метода.

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

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

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

Основным механизмом передачи управления от одних шагов реализации процесса, завершивших свое выполнение, к другим являются переходы, а также элементы расщепления и элементы соединения переходов. Каждый переход представляет из себя тройку вида Т = (Si, 2» С), где Si и 5 2 — шаги процесса, а С — логическое условие, в качестве параметров которого используются данные процесса. Для шага S\ переход Т является исходящим, а для — входящим. По умолчанию, в качестве начальных выбираются шаги, не имеющие входящих переходов. К переходу Т реализации процесса может быть применена операция срабатывания перехода, заключающаяся в вычислении логического условия С. Если результат операции «истина», то переход Т считается сработавшим.

В простейшем случае элементы расщепления и соединения переходов имеют следующую функциональность. Элемент расщепления переходов, связанный с шагом процесса S, может иметь один из двух типов: AND или XOR. В первом случае после выполнения шага S каждый исходящий из него переход подвергается операции срабатывания. Во втором случае в определении процесса все исходящие из S переходы должны быть упорядочены в виде списка. После выполнения шага S последовательно, начиная с Ті, к каждому переходу Ті (г = 1,2,..., п) применяется процедура срабатывания. Если переход 7} срабатывает, то процедура срабатывания далее к переходам Ti+i7..., Тп не применяется. Элемент соединения переходов, связанный с шагом процесса S, также может иметь один из двух типов: AND или XOR. В первом случае для начала выполнения шага S необходимо, чтобы сработавшими были все входящие в S переходы, а во втором случае необходим хотя бы один сработавший входящий в S переход.

В дальнейшем нам понадобятся понятия нити управления, а также входящих и исходящих ветвей. Цепочка шагов и переходов определения процесса вида где переход ТІ является исходящим для шага Si и входящим для шага Si+i (і = 1,2,...,п), называется исходящей [входящей] ветвью для шага Si (шага Sn+i). При выполнении реализации процесса подобная цепочка последовательно выполняемых шагов и срабатываемых переходов образует нить управления.

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

Оценка выразительности языков описания определений процессов

Перейдем к рассмотрению языка XPDL, Для удобства, описания определений процессов, созданные в соответствии с грамматикой языка XPDL, будем называть XPDL-описаниями. Основными элементами языка являются: Package, Application, WorkflowProcess, Activity, Transition, Participant, DataField и DataType. Каждое XPDL-описание должно содержать хотя бы один элемент Package, в котором могут быть заданы другие, отличные от Package элементы. При помощи элемента Application описываются внешние приложения, которые вызываются при выполнении реализаций процесса. Элемент WorkflowProcess используется для задания струтуры автоматизированного процесса целиком или отдельных его частей. Основными составляющими WorkflowProcess являются элементы Activity и Transition, при помощи которых описываются соответственно шаги и переходы процесса. В языке XPDL выделяются три типа шагов процесса: Route, Implementation и BlockActivity. Шаги процесса типа Route являются «пустыми» и выполняют вспомогательную функцию. С шагом типа Route не может быть связан никакой исполнитель (участник процесса), и никакое внешнее приложение не может быть вызвано на данном шаге. Более того при выполнении подобных шагов не модифицируются данные процесса. Шаги типа Route используются для организации сложных схем выполнения шагов реализаций процесса. Шаг процесса типа BlockActivity представляет из набор «более мелких» шагов и переходов. Выполнение подобного шага начинается с выполнения начальных шагов из соответствующего ему набора и заканчивается выполнением заключительного шага из того же набора. По умолчанию начальными являются шаги без входящих в них переходов, а заключительными — без исходящих из них переходов. Шаги процесса типа Implementation разбиты на три класса: No, Tool и Subf low. Выполнение шага процесса из класса No осуществляется под управлением некоторого участника процесса. Выполнение шага процесса из класса Tool заключается в вызове одного или более внешних приложений, а из класса Subf low — в вызове подпроцесса. Для описания участников процесса, типов используемых данных, а также данных процесса в языке XPDL используются соответственно элементы Participant, DataField и DataType.

В XPDL-описании используемые типы данных задаются непосредственно в элементе Package. Описания же внешних приложений, самих данных и участников процесса могут присутствовать как в элементе Package, так и в элементах Vorkf lowProcess. В первом случае подобные описания могут совместно использоваться в определениях всех процессов внутри элемента Package.

При описании шагов процесса ограничения, накладываемые на соединение входящих и расщепление исходящих переходов, задаются при помощи элементов Trans it ionRestrict ions, TransitionRestriction, Join и Split. В элементах Join и Split может быть указан их тип AND или XOR. Сами же переходы задаются элементами Transition и Condition. В последнем указывается условие, накладываемое на срабатывание перехода. Язык XPDL поддерживает четыре типа переходов: CONDITION, OTHERWISE, EXCEPTION, и DEFAULTEXCEPTION. В первом случае, переход может сработать, если вычисленное значение условия, приписанного переходу, является «истиной». Во втором случае, переход должен исходить из шага процесса, элемент расщепления исходящих переходов которого имеет тип X0R. Подобный переход может сработать только, если не сработал ни один переход типа CONDITION, исходящий из того же шага процесса. В третьем случае, переход срабатывает, если при выполнении шага процесса была сгенерирована исключительная ситуация, которая удовлетворяет условию, приписанному переходу. И наконец, в четвертом случае, переход может сработать, если при выполнении шага процесса была сгенерирована исключительная ситуация, и не смог сработать ни один переход типа EXCEPTION.

Как уже было отмечено, совокупность шагов и переходов задают гра фовую структуру в определении процесса. Ограничения, устанавливаемые на подобную графовую структуру, порождают различные классы определений процессов. В языке XPDL различаются три класса: non-blocked, loop-blocked и full-blocked. В XPDL-описаниях из класса non-blocked ограничения на графовую структуру не накладываются. Примерами с.а.п.п., поддерживающих non-blocked процессы, могут служить COSA и Staffware. Графовая струтура XPDL-описания из класса loop-blocked должна быть ацикличной, а для XPDL-описания из класса full-blocked должно существовать взаимнооднозначное соответствие между элементами соединения входящих и расщепления исходящих переходов одного типа. Примером с.а.п.п., поддерживающей loop-blocked процессы, может служить MQSeries/Workflow. Язык XLANG расчитан на описание full-blocked процессов [44].

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

И все же остается открытым вопрос: подходит ли язык XPDL на роль единого стандартного формата для обмена определениями процессов? Для того, чтобы ответить на данный вопрос необходимо научиться оценивать выразительные способности (выразительность) различных стандартных языков описания автоматизированных производственных процессов друг с другом и с выразительными способностями ведущих с.а.п.п. Традиционный подход, выработанный в теории алгоритмов [10], оценки выразительных способностей абстрактных моделирующих систем связан со сравнением классов языков, порождаемых подобными системами. К примеру, конечные автоматы и конечные автоматы с магазинной памятью порождают соответственно классы регулярных и контекстно-свободных языков [12]. Самый широкий класс — класс рекурсивно перечислимых языков порождается "универсальными" системами типа машин Тьюринга [8] или нормальных алгорифмов Маркова [9]. Стандартные языки описания определений процессов, включая XPDL, равномощиы (имеют равные выразительные способности) машинам Тьюринга. Поэтому традиционный подход к оценке выразительности рассматриваемых языков не подходит.

Поддерживаемые шаблоны, основанные на понятии нити управления

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

Предложение 3.3.7 (невозможность поддержки шаблона WP10). Не существует определения процесса О со следующим условием. Для каждого гіатуральиого числа п Є N найдется реализация 31 процесса О, содержащая нить управления, длина которой превосходит п. Доказательство. Доказательство следует из предложения 3.3.2, в кото ром устанавливается верхняя оценка длины нити управления в виде функ ции от числа шагов процесса. Замечание 3.3.2. Для оставшихся шаблонов WP12, WP13, WP14 и WP15 в рассматриваемой группе в качестве необходимого условия их поддержки может также использоваться предложение 3.3.6, из которого будет следовать невозможность их поддержки языком XPDIL. В то же время для шаблонов WP12 и WP13 могут быть указаны конструкции, частично их реализующие. Рассмотрим два примера XPDIL-описаний. Пример 3.3.4. В таблице 3.28 приведено частичное XPDIL-описание процесса multiple_instance_no_synch, в котором выделено описание шага s. Шаг s представляет из себя тело цикла. Первая итерация цикла начинает свое выполнения после передачи управления шагу s. Цикл выполняется до тех пор, пока остается истинным условие f (х). В качестве реализации шага s используется асинхронный вызов подпроцесса subf low. Если одновременно рассматривать выполняющуюся реализацию процесса multiple_instance_no_synch и все запущенные реализации подпроцессов subf low как единую большую реализацию процесса, то можно считать, что имеет место неоднократный запуск реализаций начальных шагов процесса subf low. В результате возникают независимо выполняемые нити управления. Данную конструкцию можно признать, удовлетворяющей описанию шаблона WP12. В результате имеет место частичная реализация шаблона WP12 в языке XPDIL.

Пример 3.3.5. Таблица 3.29 представляет собой часть описания процесса multiple_instance_synch, в котором выделены шаги b, е, з_1, s_2 и переходы t_l, t_2, f _1, f _2, Шаг b имеет элемент расщепления исходящих переходов типа AND. После выполнения данного шага по переходам t_l и t_2 управление передается шагам s_l и s_2, которые начинают свое одновременное выполнение. Данные шаги могут передать свое управление только шагу е, используя при этом переходы f Л и f „2. Шаг е имеет элемент соединения входящих переходов типа AND. Следовательно, данный шаг может начать свое выполнение только после завершения выполнения шагов s_l и s_2.

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

В группу шаблонов, накладывающих дополнительные (по сравнению с формальной моделью языка XPDIL) условия на запуск шагов процесса, входят WP9, WP16, WP17, WP18 и WP19. Начнем с рассмотрения шаблона WP17.

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

Регулярность языков управления для ограниченных сетей Петри

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

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

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

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

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

На рисунке 4.2 схематично представлена архитектура реализованной автором программной с.а.п.п., преднозначенной для сопровождения проведения научных исследований в области механики и материаловедения. Данная с.а.п.п. имеет 4-х уровневую архитектуру.

Рабочие площадки участников структурно-механических научных иследований территориально удалены друг от друга. Данное обстоятельство стало причиной реализации с.а.п.п. в виде распределенной программной системы. При этом была использована технология построения распределенных приложений CORBA [14], которая позволяет скрывать неоднородность аппаратно-программных средств, используемых потенциальными пользователями.

Для хранения долгосрочной информации о зарегистрированных определениях процессов, запущенных реализациях процессов и индивидуальных задачах пользователей создана реляционная база данных (1-й уровень с.а.п.п.). Логика функционирования с.а.п.п. реализована в виде сервера приложений (2-й уровень с.а.п.п.). Сервер приложений разбит по функциональным возможностям на четыре модуля. Модуль администрирования управляет учетными записями пользователей, включая: добавление, просмотр, модификация и удаление учетной записи пользователя; формирование и предоставление списков учетных записей пользователей. Модуль разработки управляет зарегистрированными определениями процессов и реализует следующие функции: регистрацию нового определения процесса, включая доопределение элементов определения процесса значениями по умолчанию; модификацию определения процесса, включая возможность внесения поэтапных изменений с сохранением промежуточных состояний; активизацию определения процесса; удаление определения процесса; формирование списков определений процессов, доступных конечным пользователям. Модуль автоматизации управляет ходом выполнения запущенных реализаций процессов, включая: запуск, приостановка и удаление реализаций процессов; изменение плана выполнения реализаций процессов; формирование задач для пользователей в ходе выполнения реализаций процессов; формирование списков запущенных реализаций процессов, доступных конечным пользователям. Модуль управления задачами пользователей выполняет следующие функции создание, доступ, модификация и удаление задач пользователей; формирование и управление индивидуальными списками задач пользователей. Клиентские программы составляют 3-й уровень с.а.п.п. К ним относятся консольные клиентские программы, реализующие API сервера приложений, графический разработчик определений процессов и система управления содержанием WEB-сайта А. А. Коршунова [5]. Система управления содержанием WEB-сайта реализует WEB-интерфейс с.а.п.п., при этом используемый WEB-броузср занимает 4-й уровень в архитектуре с.а.п.п.

Похожие диссертации на Логико-языковые средства автоматизации производственных процессов