Конспект лекций case cals. Конспект_САСТ-2. Конспект лекций по дисциплине case и cals технологии по направлению подготовки
Скачать 3.53 Mb.
|
9.3. Язык реализации бизнес-процессов BPEL Язык реализации бизнес-процессов (Business Process Execution Language, BPEL) используются для реализации модели нотации BPMN. Язык BPEL стал результатом слияния WorkFlow-языков WSFL и XLANG, основанных на разных моделях: WSFL базируется на теории графов, XLANG — на иерархии тегов XML. BPEL позволяет определить последовательность выполнения функционала Web-сервисов в ходе различных потоков операций (транзакций), но при этом не учитывает, как реализованы Web-сервисы, а лишь координирует их работу в хо- де бизнес-процесса. BPEL позволяет применять условные ветвления, организовывать потоки параллельных вычислений, описывать правила соединения потоков, обменивать- ся данными между потоками, применять синхронные и асинхронные режимы взаимодействия, обрабатывать исключительные ситуации и т.п. Создаваемые с помощью BPEL приложения относятся к категории «про- цессно-ориентированных» (Process-Based Applications), состоящих из двух от- дельных слоев исполнения. Верхний слой описывает бизнес-логику процесса, представленную на языке BPEL, нижний слой выполняет все функциональные операции с помощью различных Web-сервисов. BPEL определяет два вида процессов — абстрактный и исполняемый. 172 Абстрактный процесс определяет протокол обмена сообщениями между различными участниками без учёта алгоритма их внутреннего поведения. Ис- полняемый процесс содержит в себе алгоритмы, определяющие порядок выпол- нения действий (Activities), назначение исполнителей, обмен сообщениями, пра- вила обработки исключений и т.д. Действия (Activities) в BPEL делятся на примитивные и структурные. К примитивным Activities относятся: –– Receive — ожидает сообщения внешнего источника; –– Reply — отвечает внешнему источнику; –– Invoke — запускает операцию какого-либо Web-сервиса; –– Wait — ждёт в течение определённого периода времени; –– Assign — копирует значение одной переменной в другую; –– Throw — отбрасывает исключение в случае ошибки; –– Terminate — принудительно завершает выполнение службы; –– Empty — не выполняет никаких действий. К структурным Activities относятся: –– Sequence — соответствует последовательному выполнению действий, содержащихся внутри элемента; –– Switch — условная передача управления (соответствует оператору Switch языков программирования С++, Java и т. д.); –– While — организует цикл типа «While»; –– Pick — запускает обработку событий и исключительных ситуаций; –– Flow — соответствует параллельному выполнению действий, содержа- щихся внутри элемента; –– Scope — группирует узлы для программы-обработчика ошибок. Кроме того, в языке присутствует понятие связь (Link), которая, как пра- вило, применяется к элементам Activities, находящимся внутри параллельного блока, накладывая ограничения на порядок их выполнения. Переменные в BPEL описываются при помощи тега «variables». Для зада- ния исполнителя используется тег «partnerLink». 173 В приложении Б.2 рассмотрен пример реализации диаграммы нотации BPMN на языке BPEL [14]. 174 10 АНАЛИТИЧЕСКИЕ И ИМИТАЦИОННЫЕ МОДЕЛИ 10.1 Разработка имитационных моделей сложных систем 10.1.1 Имитационное моделирование Одним из наиболее важных и полезных орудий анализа структуры слож- ных процессов и систем стало имитационное моделирование. Имитировать, со- гласно словарю Вебстера, значит "вообразить, постичь суть явления, не прибегая к экспериментам на реальном объекте". По существу, каждая модель или пред- ставление вещи есть форма имитации. Имитационное моделирование является весьма широким и недостаточно четко определенным понятием, имеющим очень большое значение для лиц, ответственных за проектирование и функционирова- ние систем. Рискуя заслужить обвинение в чрезмерном самомнении, мы воздер- жимся от анализа различных определений другими авторами и остановимся на своем собственном. Имитационное моделирование есть процесс конструирова- ния модели реальной системы и постановки экспериментов на этой модели с це- лью либо понять поведение системы, либо оценить (в рамках ограничений, на- кладываемых некоторым критерием или совокупностью критериев) различные стратегии, обеспечивающие функционирование данной системы. Таким образом, процесс имитационного моделирования мы понимаем как процесс, включающий и конструирование модели, и аналитическое применение модели для изучения некоторой проблемы. Под моделью реальной системы мы понимаем представле- ние группы объектов или идей в некоторой форме, отличной от их реального во- площения; отсюда термин "реальный" используется в смысле "существующий или способный принять одну из форм существования". Следовательно, системы, существующие еще только на бумаге или находящиеся в стадии планирования, могут моделироваться так же, как и действующие системы. Поэтому имитационное моделирование является экспериментальной и прикладной методологией, имеющей целью: описать поведение системы; 175 построить теории и гипотезы, которые могут объяснить наблюдае- мое поведение; использовать эти теории для предсказания будущего поведения сис- темы, т. е. тех воздействий, которые могут быть вызваны изменениями в системе или изменениями способов ее функционирования. В отличие от большинства технических методов, которые могут быть классифицированы в соответствии с научными дисциплинами, в которые они уходят своими корнями (например, с физикой или химией), имитационное моде- лирование применимо в любой отрасли науки. 10.1.2 Функции моделей Идея представления некоторого объекта, системы или понятия при помо- щи модели носит столь общий характер, что дать полную классификацию функ- ций модели затруднительно. Различают пять узаконенных и ставших привычны- ми случаев применения моделей в качестве: 1) средства осмысления действительности; 2) средства общения; 3) средства обучения и тренажа; 4) инструмента прогнозирования; 5) средства постановки экспериментов. Модель может служить для достижения одной из двух основных целей: либо описательной, если модель служит для объяснения и (или) лучшего пони- мания объекта, либо предписывающей, когда модель позволяет предсказать и (или) воспроизвести характеристики объекта, определяющие его поведение. Мо- дель предписывающего типа обычно является и описательной, но не наоборот. Это означает, что предписывающая модель почти всегда является описательной по отношению к моделируемому объекту, но описательная модель не всегда по- лезна для целей планирования и проектирования. Вероятно, в этом кроется одна из причин, почему экономические модели (в которых обнаруживается тенденция к описательности) оказали небольшое воздействие на управление экономиче- 176 скими системами и мало применялись в качестве вспомогательного средства управления на высшем уровне, в то время как модели исследования операций, по общему признанию, оказали значительное воздействие на эти сферы. 10.1.3 Классификация моделей Модели вообще и имитационные модели в частности можно классифици- ровать различными способами. К сожалению, ни один из них не является полно- стью удовлетворительным, хотя каждый служит определенной цели. Укажем не- которые типовые группы моделей, которые могут быть положены в основу сис- темы классификации: статические (например, поперечный разрез объекта) и динамические (вре- менные ряды); детерминистские и стохастические; дискретные и непрерывные; натурные, аналоговые и символические. Имитационные модели можно представить в виде непрерывного спектра, простирающегося от точных моделей или макетов реальных объектов до совер- шенно абстрактных математических моделей (рис. 10.1). При моделировании сложной системы исследователь обычно вынужден использовать совокупность нескольких моделей из числа разновидностей, упо- мянутых выше. Любая система или подсистема может быть представлена раз- личными способами, которые значительно отличаются друг от друга по сложно- сти и детализации. В большинстве случаев в результате системных исследований появляются несколько различных моделей одной и той же системы. Но обычно по мере того, как исследователь глубже анализирует и лучше понимает пробле- му, простые модели заменяются все более сложными. 177 Ф из ич ес ки е мо де ли М ат ем ат ич ес ки е мо де ли М од ел ир ов ан ие н а Э В М У пр ав ле нч ес ки е мо де ли А на ло го вы е мо де ли М ас ш та би ро ва нн ы е мо де ли Абстрактность Точность Рис. 10.1 Классификация моделей 10.1.4 Достоинства и недостатки имитационного моделирования Все имитационные модели представляют собой модели типа «черного ящика». Поэтому для получения необходимой информации или результатов не- обходимо осуществлять "прогон" имитационных моделей, а не "решать" их. Имитационные модели не способны формировать свое собственное решение в том виде, в каком это имеет место в аналитических моделях, а могут лишь слу- жить в качестве средства для анализа поведения системы в условиях, которые определяются экспериментатором. Более того, имитационное моделирование яв- ляется только одним из нескольких имеющихся в распоряжении системного ана- литика важнейших методов решения проблем. Поскольку необходимо и жела- тельно приспосабливать средство или метод к решению задачи, а не наоборот, то возникает естественный вопрос: в каких случаях имитационное моделирование полезно? Мы определили имитационное моделирование как экспериментирование с моделью реальной системы. Необходимость решения задач путем эксперимен- тирования становится очевидной, когда возникает потребность получить о сис- теме специфическую информацию, которую нельзя найти в известных источни- ках. Известно, что непосредственное экспериментирование на реальной системе 178 устраняет много затруднений, если необходимо обеспечить соответствие между моделью и реальными условиями; однако недостатки такого экспериментирова- ния иногда весьма значительны, поскольку: 1. Оно может нарушить установленный порядок работы фирмы. 2. Если составной частью системы являются люди, то на результаты экспе- риментов может повлиять так называемый хауторнский эффект, проявляющийся в том, что люди, чувствуя, что за ними наблюдают, могут изменить свое поведе- ние. 3. Может оказаться сложным поддержание одних и тех же рабочих усло- вий при каждом повторении эксперимента или в течение всего времени проведе- ния серии экспериментов. 4. Для получения одной и той же величины выборки (и, следовательно, статистической значимости результатов экспериментирования) могут потребо- ваться чрезмерные затраты времени и средств. 5. При экспериментировании с реальными системами может оказаться не- возможным исследование множества альтернативных вариантов. По этим причинам исследователь должен рассмотреть целесообразность применения имитационного моделирования при наличии любого из следующих условий: 1. Не существует законченной математической постановки данной задачи либо еще не разработаны аналитические методы решения сформулированной математической модели. К этой категории относятся многие модели массового обслуживания, связанные с рассмотрением очередей. 2. Аналитические методы имеются, но математические процедуры столь сложны и трудоемки, что имитационное моделирование дает более простой спо- соб решения задачи. 3. Аналитические решения существуют, но их реализация невозможна вследствие недостаточной математической подготовки имеющегося персонала. В этом случае следует сопоставить затраты на проектирование, испытания и ра- боту на имитационной модели с затратами, связанными с приглашением специа- 179 листов со стороны. 4. Кроме оценки определенных параметров желательно осуществить на имитационной модели наблюдение за ходом процесса в течение определенного периода. 5. Имитационное моделирование может оказаться единственной возмож- ностью вследствие трудностей постановки экспериментов и наблюдений явле- ний в реальных условиях; соответствующим примером может служить изучение поведения космических кораблей в условиях межпланетных полетов. 6. Для долговременного действия систем или процессов может понадо- биться сжатие временной шкалы. Имитационное моделирование дает возмож- ность полностью контролировать время изучаемого процесса, поскольку явление может быть замедлено или ускорено по желанию. К этой категории относятся, например, исследования проблем упадка городов. Можно ли вообще, опираясь на имитационное моделирование, получить результаты также и наиболее эффективным способом? Ответ нередко будет от- рицательным и по следующим причинам: 1. Разработка хорошей имитационной модели часто обходится дорого и требует много времени, а также наличия высокоодаренных специалистов, кото- рых в данной фирме может и не оказаться. Для создания хорошей модели внут- рифирменного планирования может потребоваться от 3 до 11 лет. 2. Может показаться, что имитационная модель отражает реальное поло- жение вещей, хотя в действительности это не так. Если этого не учитывать, то некоторые свойственные имитации особенности могут привести к неверному решению. 3. Имитационная модель в принципе не точна, и мы не в состоянии изме- рить степень этой неточности. Это затруднение может быть преодолено лишь частично путем анализа чувствительности модели к изменению определенных параметров. 4. Результаты, которые дает имитационная модель, обычно являются чис- ленными, а их точность определяется количеством знаков после запятой, выби- 180 раемым экспериментатором. В связи с этим возникает опасность "обожествления чисел", т. е. приписывания им большей значимости, чем они на самом деле име- ют. 10.1.5 Структура имитационных моделей Прежде чем начать разработку модели, необходимо понять, что собой представляют структурные элементы, из которых она строится. Хотя математи- ческая или физическая структура модели может быть очень сложной, основы ее построения весьма просты. В самом общем виде структуру модели мы можем представить математически в виде , , i y x f E i где Е - результат действия системы; x i - переменные и параметры, которыми мы можем управлять; y i — переменные и параметры, которыми мы управлять не можем; f — функциональная зависимость между x i и y i , которая определяет ве- личину Е. Столь явное и чрезмерное упрощение полезно лишь тем, что оно показы- вает зависимость функционирования системы как от контролируемых нами, так и от неконтролируемых переменных. Почти каждая модель представляет собой, вообще говоря, некоторую комбинацию таких составляющих, как • компоненты, • переменные, • параметры, • функциональные зависимости, • ограничения, • целевые функции. Под компонентами мы понимаем составные части, которые при соответст- вующем объединении образуют систему. Иногда мы считаем компонентами также элементы системы или её подсистему. 181 Система определяется как группа или совокупность объектов, объединен- ных некоторой формой регулярного взаимодействия или взаимозависимости для выполнения заданной функции. Компоненты суть объекты, образующие изучае- мую систему. Параметры суть величины, которые оператор, работающий на модели, мо- жет выбирать произвольно, в отличие от переменных, которые могут принимать только значения, определяемые видом данной функции. Смотря на это под дру- гим углом зрения, мы можем сказать, что параметры, после того как они уста- новлены, являются постоянными величинами, не подлежащими изменению. В модели системы мы различаем переменные двух видов - экзогенные и эндогенные. Экзогенные переменные называются также входными; это значит, что они порождают вне системы или являются результатом воздействия внеш- них причин. Эндогенными переменными называются переменные, возникающие в системе или в результате воздействия внутренних причин. Мы также называем эндогенные переменные переменными состояния (когда они характеризуют со- стояние или условия, имеющие место в системе) либо выходными переменными (когда речь идет о выходах системы). Статистики иногда называют экзогенные переменные независимыми, а эндогенные зависимыми. Функциональные зависимости описывают поведение переменных и пара- метров в пределах компонента или выражают соотношения между компонента- ми системы. Эти отношения, или операционные характеристики, по своей при- роде являются либо детерминистскими, либо стохастическими. Детерминист- ские соотношения - это тождества или определения, которые устанавливают за- висимость между определенными переменными или параметрами в тех случаях, когда процесс на выходе системы однозначно определяется заданной информа- цией на входе. В отличие от этого стохастические соотношения представляют собой такие зависимости, которые при заданной входной информации дают на выходе неопределенный результат. Оба типа соотношений обычно выражаются в форме математического уравнения, которое устанавливает зависимость между эндогенными переменными (переменными состояния) и экзогенными перемен- 182 ными. Обычно эти соотношения можно строить лишь на основе гипотез или вы- водить с помощью статистического или математического анализа. Ограничения представляют собой устанавливаемые пределы изменений значений переменных или ограничивающие условия распределения и расходования тех или иных средств (энергии, запасов и т.п.). Они могут вводиться либо разработчиком (ис- кусственные ограничения), либо самой системой вследствие присущих ей свойств (естественные ограничения). Примерами искусственных ограничений могут быть заданные максимальный и минимальный уровни занятости рабочих или установления максимальная сумма денежных средств, ассигнуемых на капи- таловложения. В физической системе такого типа, как ракета, искусственными ограничением может быть заданный минимальный радиус действия или макси- мально допустимый вес. Большинство технических требований к системам пред- ставляет собой набор искусственных ограничений. Естественные ограничения обусловлены самой природой системы. Например, нельзя продать больше изде- лий, чем система может изготовить, и никто не может сконструировать систему, нарушающую законы природы. Таким образом, ограничения одного типа обу- словлены неизменными законами природы, в то время как ограничения другого типа, будучи делом рук человеческих, могут подвергаться изменению. Исследо- вателю он должен постоянно оценивать принесенные человеком ограничения, с тем чтобы ослабить или усилить их по мере необходимости. Целевая функция, или функция критерия,— это точное отображение целей или задач системы и необходимых правил оценки их выполнения. Различают два типа целей: сохра- нение и приобретение. Цели сохранения связаны с сохранением или поддержа- нием каких-либо ресурсов (временных, энергетических, творческих и т. д.) или состояний (комфорта, безопасности, уровня занятости и т. д.). Цели приобрете- ния связаны с приобретением новых ресурсов (прибыли, персонала, заказчиков и т. п.) или достижением определенных состояний, к которым стремится органи- зация или руководитель (захват части рынка, достижение состояния устрашения и т.п.). Выражение для целевой функции должно быть однозначным определени- ем целей и задач, с которыми должны соразмеряться принимаемые решения. Ци- 183 тированный выше словарь Вебстера определяет понятие «критерий» как «мери- ло оценки, правило или вид проверки, при помощи которых составляется пра- вильное суждение о чем-либо». Это четкое и однозначное определение критерия очень важно по двум причинам. Во-первых, оно оказывает громадное влияние на процесс создания модели и манипулирования с ней. Во-вторых, неправильное определение критерия обычно ведет к неправильным заключениям. Функция критерия (целевая функция) обычно является органической составной частью модели, и весь процесс манипулирования с моделью направлен на оптимизацию или удовлетворение заданного критерия. 10.1.6 Структурный синтез систем Сходство модели с объектом, который она отображает, называется степе- нью изоморфизма. Для того чтобы быть изоморфной (т. е. идентичной или сход- ной по форме), модель должна удовлетворять двум условиям. Во-первых, должно существовать взаимно однозначное соответствие меж- ду элементами модели и элементами представляемого объекта. Во-вторых, должны быть сохранены точные соотношения или взаимодействия между эле- ментами. Степень изоморфизма модели относительна, и большинство моделей скорее гомоморфны, чем изоморфны. Под гомоморфизмом мы понимаем сход- ство по форме при различии основных структур, причем имеет место лишь по- верхностное подобие между различными группами элементов модели и объекта. Гомоморфные модели являются результатом процессов упрощения и абстрак- ции. Ученый, изучающий проблемы управления, для построения полезных мо- делей также прибегает к упрощению. Он предполагает, что его переменные либо детерминированы (чрезвычайно упрощенная трактовка реальности), либо под- чиняются законам случайных событий, описываемым известными вероятност- ными функциями распределений, таких, как нормальное, пуассоновское, экспо- 184 ненциальное и т. д. Он также зачастую предполагает, что зависимости между пе- ременными носят линейный характер, зная, что такое допущение не совсем пра- вомерно. Это часто бывает необходимым и оправданным, если требуется по- строить модели, поддающиеся математическому описанию. Другим аспектом анализа является абстракция — понятие, которое в отличие от упрощения не так легко объяснить и осмыслить. Абстракция содержит или сосредоточивает в себе существенные качества или черты поведения объекта (вещи), но не обязательно в той же форме и столь детально, как это имеет место в оригинале. Большинство моделей — это абстракции в том смысле, что они стремятся представить качест- ва и поведение моделируемого объекта в форме или способом, отличающимися от их действительной реализации. Так, в схеме организации работ мы пытаемся в абстрактной форме отразить трудовые взаимоотношения между различными группами работающих или отдельными членами таких групп. То обстоятельство, что подобная схема только поверхностно отображает реальные взаимоотноше- ния, не умаляет ее полезности для определенных целей. После того как мы проанализировали и промоделировали части или эле- менты системы, мы приступаем к их объединению в единое целое. Иными сло- вами, мы можем путем синтеза относительно простых частей сконструировать некоторое приближение к сложной реальной ситуации. Здесь важно предусмот- реть два момента. Во-первых, используемые для синтеза части должны быть вы- браны корректно, и, во-вторых, должно быть корректно предсказано их взаимо- действие (это будет подробно рассмотрено ниже, когда мы коснемся вопросов установления и проверки соответствия модели реальному объекту). Если все это выполнено должным образом, то эти процессы анализа, абстракции, упрощения и синтеза в итоге приведут к созданию модели, которая аппроксимирует поведе- ние изучаемой реальной системы. Необходимо помнить, однако, что модель яв- ляется только приближением (аппроксимацией), а поэтому не будет себя вести в точности, как реальный объект. Мы оптимизируем модель, но не реальную сис- тему. Вопрос о том, существует ли действительно взаимосвязь между характери- стиками нашей модели и реальностью, зависит от того, насколько правильно и 185 разумно мы провели наши процессы анализа, абстракции, упрощения и синтеза. 10.1.7 Искусство моделирования Искусство моделирования состоит в способности анализировать проблему, выделять из нее путем абстракции ее существенные черты, выбирать и должным образом модифицировать основные предположения, характеризующие систему, а затем отрабатывать и совершенствовать модель до тех пор, пока она не станет давать полезные для практики результаты. При моделировании следует учиты- вать следующие правила: • разложить общую задачу исследования системы на ряд более простых задач, • четко сформулировать цели, • подыскать аналогии, • рассмотреть специальный численный пример, соответствующий данной задаче, • выбрать определенные обозначения, • записать очевидные соотношения, • если полученная модель поддается математическому описанию, расши- рить ее. В противном случае упростить. Вообще говоря, упростить модель можно, выполнив одну из перечислен- ных ниже операций (в то время как для расширения модели требуется как раз обратное): • превратить переменные величины в константы; • исключить некоторые переменные или объединить их; • предположить линейную зависимость между исследуемыми величина- ми; • ввести более жесткие предположения и ограничения; • наложить на систему более жесткие граничные условия. 186 10.1.8 Требования к хорошей модели Мы определили имитацию как процесс создания модели реальной системы и проведения с этой моделью экспериментов с целью осмысления поведения системы или оценки различных стратегий, которые могут использоваться при управлении системой. Это определение подсказывает ряд существенных черт, которыми должна обладать хорошая имитационная модель, и устанавливает гра- ницы ее использования. Согласно этому определению, модель должна быть 1) связана с функционированием системы, 2) ориентирована на решение проблем реального мира и 3) построена так, чтобы служить подспорьем тем, кто управля- ет системами, или по крайней мере тем, кого интересует их поведение. |