УДК 004.414.2
DOI 10.17150/2500-2759.2016.26(6).1026-1030
МОДЕЛИРОВАНИЕ ОТКАЗОВ БИЗНЕС-ТРАНЗАКЦИИ С ПОМОЩЬЮ ОКРАШЕННЫХ СЕТЕЙ ПЕТРИ
И. В. Артамонов
Байкальский государственный университет, г. Иркутск, Российская Федерация
Информация о статье
Дата поступления 10 ноября 2016 г. Дата принятия к печати 25 ноября 2016 г. Дата онлайн-размещения 30 декабря 2016 г.
Ключевые слова
Надежность; бизнес-транзакция; отказ; имитационное моделирование; окрашенные сети Петри
Финансирование
Исследование выполнено при финансовой поддержке РФФИ в рамкахнаучного проекта № «16-37-00095 мол а»
Аннотация
Надежность выполнения — важная задача проектирования бизнес-процессов, однако специальных программных систем оценки их надежности не существует, поэтому наиболее эффективным способом анализа сложных бизнес-процессов остается имитационное моделирование. Ключевой проблемой здесь является способность воспроизводить отказы различных частей системы. Многие бизнес-процессы обладают свойством «все или ничего», т. е. выполняются до конца или не выполняются вообще. Тем самым они похожи на транзакции в теории баз данных и поэтому называются бизнес-транзакциями. В статье дается определение отказа бизнес-транзакции, его классификация и рассматриваются проблемы моделирования с помощью окрашенных сетей Петри: сторожевых условий или выражений над дугами. Предлагается авторский метод моделирования отказов любой операции, позволяющий имитировать события отказов, подчиняющихся различным распределениям с разными параметрами, минимизировать влияние на основную логику выполнения системы и автоматизировать внедрение отказов в модель системы.
MODELING OF THE BUSINESS TRANSACTION FAILURE BY MEANS OF COLORED PETRI NETS
Ivan V. Artamonov
Baikal State University, Irkutsk, Russian Federation
Article info
Received
November 10, 2016 Accepted November 25, 2016 Available online December 30, 2016
Keywords
Reliability; business transaction; failure; simulation; colored Petri nets
Financing
This paper has been supported by the Russian Foundation for Basic Research, Project no. 16-37-00095-mol a
Abstract
Ensuring the reliability of business processes is an important part of their design. However, no special software has been so far developed to perform the reliability evaluation, and employment of simulation tools remains the most effective way to analyze complex business processes. The key problem here is to simulate failures of various parts of the system. Many business processes often possess the so called all-or-nothing property, i.e. they either complete their routine, or fail to operate at all. This makes them similar to database transactions, and therefore they have been labelled business transactions. This paper gives a definition of the business transaction fault, outlines its classification, and examines issues of the simulation by colored Petri Nets. The author proposes a method of modeling failures of any transaction, which can be used to simulate fault events with various probability distributions, minimizing the influence on the main executing routine and automating a deployment of faults within a simulation model.
Повышение уровня автоматизации современных предприятий, необходимость их сотрудничества и интеграции, а также высокая динамика рыночной среды предполагает усиление роли так называемого электронного В2В-взаимодействия (Business to business) — т. е. взаимодействия между предприятиями
на базе обмена электронными документами. Причем в выполнении сложного совместного бизнес-процесса может участвовать большое количество предприятий, совместная деятельность которых не ограничивается тривиальной последовательной передачей информации «по цепочке», а может состоять из сложных
© И. В. Артамонов, 2016
ISSN 2500-2759
структур, разветвлении, циклов, иерархических включений и т. д. При этом все участники бизнес-процесса согласованно решают общую задачу и гарантируют, что сохранят последствия ее выполнения. Вовлечение большого количества участников может негативно сказываться на общем качестве подобной организации, прежде всего, на ее надежности, так как каждый новый участник, привнося вероятность собственного отказа, может увеличивать общий риск отказа всей системы.
Считается, что работы по обеспечению надежности разрабатываемого изделия проводятся на этапе его проектирования [1—5]. Вне зависимости от природы изделия во время этого этапа определяются требования к надежности, ее показатели и их нормы.
На практике существуют такие бизнес-процессы, которые могут обладать признаками атомарности, т. е. они должны выполняться полностью или не выполняться вообще. Особенно это важно для деятельности, охватывающей несколько подразделений или предприятий, либо для таких процессов, где невозможно только частичное выполнение [6], например, купля-продажа. По мнению некоторых исследователей, такой процесс, исполняемый при поддержке средств автоматизации, принимает черты транзакции в теории баз данных: он состоит из нескольких операций, которые должны быть выполнены все вместе или не выполнены вообще [6; 7]. В работе «Исследование надежности бизнес-транзакций в сервис-ориентированной среде» [8] было предложено называть такой процесс бизнес-транзакцией (или транзакцией) — это согласованное изменение состояния отношений двух и более сторон, где каждая сторона готова к этому изменению и знает, что его согласованно примут все стороны. Ввиду того, что бизнес-транзакция объединяет работу нескольких разнородных участников и может исполнять критически важные для предприятий процессы, и был поставлен вопрос о надежности подобного взаимодействия и выработано понятие надежности, включающее атомарность, согласованность, длительность, отказоустойчивость, восстанавливаемость и стабильность.
Как отмечалось, работы по обеспечению надежности бизнес-транзакции должны начинаться на этапе проектирования взаимодействия. Исследование характеристик надежности в процессе функционирования транзакции может быть затруднено или невозможно, тогда как риск или ущерб от ее отказа может быть выше, чем от отказа локального программного средства. Ранее
уже предлагалось специальное программное обеспечение для проектирования и анализа надежности бизнес-транзакций методом имитационного моделирования. В качестве языка формального представления бизнес-транзакции применяется аппарат окрашенных сетей Петри [9], дается также математическое обоснование возможности его использования [10] и др.
Важнейшее свойство системы имитационного моделирования для анализа надежности любого объекта — способность моделировать отказы, снижение количества которых и их последствий является зачастую основной целью обеспечения надежности. Рассмотрим подход к моделированию отказов бизнес-транзакций с помощью окрашенных (цветных) сетей Петри. С концептуальной точки зрения любой отказ элемента бизнес-транзакции представляет собой отказ операции. Отказ — это нарушение деятельности операции, приводящее к сбою в нормальном ходе выполнения транзакции. Под нормальным ходом понимается осуществление участниками транзакции последовательности операций, позволяющих достичь ее целевого состояния. Последовательность определяется разработчиком транзакции и предполагает исполнение каждым участником возложенных на него обязанностей (операций) в необходимый срок и с определенными результатами. Несоблюдение участником обязательств по выполнению операции влечет нарушение заданной последовательности, т. е. нормального хода.
Таким образом, отказ может быть программным (сбой в работе из-за ошибок в программном, информационном и математическом обеспечении); аппаратным (проблемы с оборудованием); организационным (нарушения в системе «человек-техника», действия или бездействия человека-исполнителя). Кроме того, отказом также будет являться результат операции, который не предполагает дальнейшую работу бизнес-транзакции.
Например, в бизнес-транзакции «Формирование туристической путевки» операция бронирования авиабилетов обнаружила, что свободных мест на необходимый рейс самолета нет. Следовательно, одна из операций транзакции не может быть выполнена с заданным результатом (покупка билета), а сама транзакция не может быть успешно продолжена. В этом случае нужно либо отменить результаты предыдущих операций («откат»), либо минимизировать последствия их влияния («компенсация») или попытаться повторить операцию с другими параметрами
ф
п ч
01 И 5<
а
л т
п *
о
о
о
а ^
о ч
я ф
X X
о
п
о у
X
ф ^
п S
ч
ф
ч
2 О
2 ,
Z
ю
С
о 2 №
О ы о
(«восстановление»). Такой тип отказов называется операционным.
Операционный отказ — результат операции, который не позволяет продолжить нормальный ход выполнения бизнес-транзакции. Он отличается от других отказов тем, что является штатной ситуацией функционирования операции, поэтому в обязательном порядке должен предусматриваться в любой модели бизнес-транзакции ввиду того, что его появление весьма вероятно из-за специфики выполняемой операции. Любой отказ — угроза атомарности транзакции, так как он влечет появление мертвых переходов или маркировок сети Петри.
Отказ операции может быть смоделирован с помощью окрашенных сетей Петри: посредством сторожевых условий или операций над дугами. С практической точки зрения моделирование первым способом нецелесообразно. Предположим, что на схеме транзакции присутствует переход со стражем, ограничивающим запуск перехода. В случае наступления отказа, т. е. когда все нужные входные позиции для перехода содержат необходимые метки, но страж блокирует его запуск, переход не становится активным и маркировки входящих позиций не изменяются, т. е. переход становится мертвым для того комплекта меток, который вызывает блокировку стражем. В процессе имитационного эксперимента средство моделирования не сможет автоматически распознать отказ и запустить компенсирующую сеть, так как никаких предпосылок для этого создано не будет. При имитации метод отказа с помощью стража может иметь место в случае параллелизации выполнения отказывающих переходов, когда нет необходимости в подключении компенсирующих сетей. С другой стороны, подобная сеть должна провести над входными позициями отказавшего перехода те же операции привязки, уменьшая комплекты их меток. Кроме прочего, на стража накладываются еще и технические ограничения — средство моделирования CPN (Coloured Petri Nets) Tools на данный момент может моделировать только детерминированное поведение стражей, полностью зависимое от входных позиций перехода. Стражем удобнее моделировать ограничения, которые накладываются вызывающей стороной, например, условия, при которых операция не будет вызвана.
Выражения на дугах также зависят от входных данных перехода, однако они позволяют внедрять и тестировать компенсирующие сети в модель прямо на этапе проектирования. На-
пример, переход может содержать две выходящие дуги, одна из которых в зависимости от значения единственной входной переменной (событие — «работа») выполняет привязку, соответствующую нормальному ходу работы транзакции, а другая дуга, связанная с той же переменной (событие — «отказ»), направляет деятельность на компенсацию. Таким образом, обе эти дуги покрывают состояния работоспособности и отказа элемента, что позволяет наблюдать за действиями компенсирующих сетей при имитационном эксперименте с оригинальной моделью транзакции. При этом исходящих дуг работоспособности и отказа может быть неограниченное количество.
Пусть — О = (/, Р0, А0, , V0, С0, G0, Е0) отдельная операция бизнес-транзакции, определенная в терминах, описанных ранее [8], находящаяся в маркировке М. Причем М М е П(М0), П(М) т. е.
маркировка М была достигнута из начальной и принципиально возможно достижение финальной маркировки М{ из М. Тогда отказ операции фО (к) — это такая функция с параметром к из множества истинных К' и ложных К' значений отказа, при этом к еК и К', К' пК' =0:
^ С, Р)(Ь, Ф° (к)) = 0, если к еК',
EL(t, Р)(b, ф°(к)) = 0, если к е K,
где EO
функция выражения над дугами
A**ouf с AO, ставящая в соответствие каждой дуге a е Aфouf выражение, при котором
Va е Афи : Type[Eoui(a)] = С(p)ms,
где под обозначением Type понимается функция, возвращающая тип переменной; С: P — функция «окрашивания», ставящая в соответствие каждой позиции подмножество цветов, т. е. интуитивно это означает, что каждая фишка позиции p должна иметь типы данных, принадлежащие C(p).
Здесь p е Рф, Рф с PO и в зависимости от способа контроля над отказом Рф является:
- множеством входных позиций восстанавливающей композиции, где соблюдается условие Рф = P° для интерфейсной совместимости;
- множеством входных позиций компенсирующей композиции при соблюдении условия Рф = P° для интерфейсной совместимости;
- позицией хранения, необходимой для учета отказов;
- множеством POut операции O (в этом случае Eouf = Ефи(, т. е. отказ не оказывает воздействия на операцию).
Ясно, что при введении отказа ф°(к) в операцию ° он перенаправляет вывод данных операций между «нормальным» режимом работы Eout и режимом работы при отказе Ефи(. В случае наступления отказа выполняются выражения над дугами из множества Ефи(, иначе — Eout. В простейшем случае параметр к может принимать булевы значения истинности или ложности: Type[k] = Bool.
Таким образом, будем считать отказ наступившим, если Type[k] = True. Отметим через Yф шаг, где имело место выполнение Ефи(, т. е. на этом шаге произошел отказ операции. Отказ операции приводит к маркировке Мф: Vp Е Pout : Мф (p) = с л
M(p)--++ X Ein(p, t)b
MS (t, Ь)еУ+ ,
уф
+ ++ I £1 о, р)(ь),
МВ (', Ь)еУ+
и имеет место выражение М —> Мф, где Мф — маркировка отказа.
Выработкой параметра к для операции О может заниматься генератор параметра отказа. Генератор параметра отказа для операции О = (/, Р0, А0, I0, V0, С0, в0, Е0), принадлежащей сети СРЫ = (Р, Т, А, I, V, С, в, Е, I), это
FS = (Р, Т', А', I, V', С, О', Е, I', а),
где Р' пР = 0, Т' пТ = f, А' п А = а, Е(а) = к, и а — это дуга, соединяющая позицию р е Р' и переход операции f.
Следовательно, генератор параметра отказа структурно не зависит от всей остальной бизнес-транзакции и может быть добавлен или удален из нее без нарушения
логики работы сети. Однако он позволяет вырабатывать параметр k, необходимый для имитации отказа. Генератор параметра отказа FS для операции O и отказ вместе можно обозначить как устройство имитации отказа.
На практике в среде CPN Tools описываемую модель отказа можно представить графически (рис.).
Функционирование отказа поддерживается специальным условием на выходных дугах операции FAST. В случае наступления отказа данные об этом попадают в позицию FAILS.
Генератор отказа создает переменную RESULT_PROBABILITY, если она меньше 1, то событие отказа не происходит, если больше — происходит отказ. Сам генератор состоит из счетчика и операции, которая создает случайные числа, распределенные по закону Пуассона с параметром PARAMETR_ PROB, который задан в позиции INIT. Счетчик COUNT необходим для того, чтобы генератор останавливался в случае, если в его работе нет необходимости.
Предлагаемая модель позволяет в практике моделирования реализовывать имитацию отказов отдельных узлов системы, осуществлять сбор статистических данных и проводить мониторинг работы всей системы (с помощью функций мониторинга среды моделирования). Особым преимуществом является возможность генератора отказов не вмешиваться в основную логику выполнения сети Петри. Переходы могут обладать сколь угодно сложной механикой выполнения, а генератор служить ее «надстройкой». Эта особенность позволяет моделировать отказы сети автоматически, без вмешательства экспериментатора, и, таким образом,
REAL_PROaAß!UTY
rf[ftE&ULT_PROeAatLtTlf>-l.O) then 1 RESULT PRObABlLtTY else empty
RESULT_PROßAfilLlTY
l'dntirtfTORMl 0 Ontlnf.fiiiinlnt (pis«n(PM?AMETR_PROB)}))
_ 10.9 [»¡СИ f-\—f-
( INIT lj-
PARAHETPLPROB
REAL_PRQBAfilLfTY
(^AlLURES^)
]T^REAL_PROeüBILrTY
GENERATE
Отображение отказа и генератора отказа в виде графа окрашенной сети Петри
Ф П ч
01 И 5<
а
л т
п *
о
о
о
а
и ^
о ч
я ф
X X
о
п
о у
X
ф ^
п S
ч
ф
ч
2 О
2
Z
10
С
о 2 №
О ы о
автоматизировано исследовать отказоустойчивость всей моделируемой системы.
По этой же причине представленная методика не накладывает теоретических ограничений на сложность и масштаб моделируемой системы, которая, тем не менее, ограничивается возможностями окрашенных сетей Петри и соответствующим программным обеспечением, влияя на выполнение
только одной исследуемой операции всей транзакции. Кроме того, с практической точки зрения, существует ограничение, связанное с введением дополнительного механизма в модель, который в 2 раза увеличивает количество переходов сети на одну операцию бизнес-транзакции, что нужно учитывать, например, при определении параметров имитационного эксперимента.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Hoang P. System Software Reliability / P. Hoang. — London : Springer, 2006. — 440 p.
2. Майерс Г. Надежность программного обеспечения / Г. Майерс. — М. : Мир, 1980. — 359 с.
3. Peled A. D. Software reliability methods / D. A. Peled. — New York : Springer, 2001. — 332 p.
4. Шураков В. В. Надежность программного обеспечения систем обработки данных / В. В. Шураков. — М. : Финансы и статистика, 1987. — 272 с.
5. Авдуевский В. С. Надежность и эффективность в технике : справочник : в 10 т. / В. С. Авдуевский. — М. : Машиностроение, 1988. — Т. 5: Проектный анализ надежности. — 316 с.
6. Papazoglou M. P. Web Services and Business Transactions / M. P. Papazoglou // World Wide Web: Internet and Web Information Systems. — 2003. — № 6. — P. 49-91.
7. Little M. Transactions and Web Services / M. Little // Communications of the ACM. — 2003. — № 10. — P. 49-54.
8. Артамонов И. В. Исследование надежности бизнес-транзакций в сервис-ориентированной среде : дис. ... канд. техн. наук : 05.13.01 / И. В. Артамонов. — Иркутск, 2015. — 216 с.
9. Jensen K. Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems / Kurt Jensen // International Journal on Software Tools for Technology Transfer (STTT). — 2007. — Vol. 9, iss. 3. — P. 213-254.
10. Артамонов И. В. Использование окрашенных сетей Петри для моделирования бизнес-транзакций в сервис-ориентированной среде [Электронный ресурс] / И. В. Артамонов // Известия Иркутской государственной экономической академии (Байкальский государственный университет экономики и права). — 2013. — № 5. — Режим доступа: http://brj-bguep.ru/reader/article.aspx?id=18614.
REFERENCES
1. Hoang Pham. System Software Reliability. London, Springer, 2006. 440 p.
2. Myers Glenford J. Software Reliability: Principles and Practices. New York, John Wiley & Sons, Inc., 1976. 360 p. (Russ. ed.: Myers G. J. Nadezhnost' programmnogo obespecheniya. Moscow, Mir Publ., 1980. 359 p.).
3. Peled Doron A. Software Reliability Methods. New York, Springer, 2001. 332 p.
4. Shurakov V. V. Nadezhnost' programmnogo obespecheniya sistem obrabotki dannykh [Reliability of the data processing system software]. Moscow, Finansy i statistika Publ., 1987. 272 p.
5. Avduevskii V. S. Nadezhnost' i effektivnost' v tekhnike [Reliability and efficiency in technology]. Moscow, Mashinostroenie Publ., 1988. Vol. 5. 316 p.
6. Papazoglou M. P. Web Services and Business Transactions. World Wide Web: Internet and Web Information Systems, 2003, no. 6, pp. 49-91.
7. Little M. Transactions and Web Services. Communications of the ACM, 2003, no. 10, pp. 49-54.
8. Artamonov I. V. Issledovanie nadezhnosti biznes-tranzaktsii v servis-orientirovannoi srede. Kand. Diss. [Investigation of the business transaction reliability in service-oriented environment. Cand. Diss.]. Irkutsk, 2015. 216 p.
9. Jensen Kurt. Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems. International Journal on Software Tools for Technology Transfer (STTT), 2007, vol. 9, iss. 3, pp. 213-254.
10. Artamonov I. V. Using coloured petri nets to model business transactions in a service-oriented environment. Izvestiya Irkutskoi gosudarstvennoi ekonomicheskoi akademii (Baykalskii gosudarstvennyi universitet ekonomiki i prava) = Bulletin of Irkutsk State Economics Academy (BaikalState University of Economics and Law), 2013, no. 5. Available at: http://brj-bguep.ru/reader/article.aspx?id=18614. (In Russian).
Информация об авторе
Артамонов Иван Васильевич — кандидат технических наук, доцент, кафедра информатики и кибернетики, Байкальский государственный университет, 664003, г. Иркутск, ул. Ленина, 11, е-таН: ivan.v.artamonov@gmail.com.
Библиографическое описание статьи
Артамонов И. В. Моделирование отказов бизнес-транзакции с помощью окрашенных сетей Петри / И. В. Артамонов // Известия Байкальского государственного университета. — 2016. — Т. 26, № 6. — С. 1026-1030. — DOI: 10.17150/2500-2759.2016.26(6).1026-1030.
Author
Ivan V. Artamonov — PhD, Associate Professor, Department of Informatics and Cybernetics, Baikal State University, 11 Lenin St., 664003, Irkutsk, Russian Federation, e-mail: ivan.v.artamonov@gmail.com.
Reference to article
Artamonov I. V. Modeling of the business transaction failure by means of colored Petri Nets. Izvestiya Baykal'skogo gosudarstvennogo univer-siteta = Bulletin of Baikal State University, 2016, vol. 26, no. 6, pp. 1026-1030. DOI: 10.17150/2500-2759.2016.26(6).1026-1030. (In Russian).