Научная статья на тему 'Таблицы решений и автоматное моделирование бизнес-процессов'

Таблицы решений и автоматное моделирование бизнес-процессов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
410
78
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТАБЛИЦА РЕШЕНИЙ / БИЗНЕС-ПРОЦЕССЫ / АВТОМАТ / АВТОМАТНОЕ ПРОЕКТИРОВАНИЕ / МОДЕЛИРОВАНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сметанин Юрий Михайлович, Сметанина Евгения Юрьевна, Бусоргин Александр Владимирович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Table of solutions and computer-aided modeling of business processes

The authors suggest a method of modeling the subject area of activity as a flexible universe of procession algebra and computer-aided automation on the basis of the solution table.

Текст научной работы на тему «Таблицы решений и автоматное моделирование бизнес-процессов»

2009. Вып. 2 ЭКОНОМИКА И ПРАВО

УДК 334:004 (045)

Ю.М. Сметанин, Е.Ю. Сметанина, А.В. Бусоргин

ТАБЛИЦЫ РЕШЕНИЙ И АВТОМАТНОЕ МОДЕЛИРОВАНИЕ БИЗНЕС-ПРОЦЕССОВ

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

Ключевые слова: таблица решений, бизнес-процессы, автомат, автоматное проектирование, моделирование.

Работа продолжает цикл наших публикаций, посвященных реинжинирингу ВР [1; 2; 5; 8]. Главным способом действий при реинжиниринге, как и любом творческом процессе, является спиралевидный целесообразный процесс накопления и верификации знаний в цикле перехода от оригинала к модели, исследования модели и получения новых знаний, переноса полученных знаний на оригинал, постановки новой цели и повторения цикла.

При проектировании ВР его описание можно вести на трех уровнях:

— «черный ящик» - описывается реакциями «вход - выход» и спецификацией внешних событий и диалоговых состояний, вызываемых внешними событиями;

— «серый ящик» - ВР описывается как система управляющего и операционного автоматов [4; 5] и их функциональная декомпозиция. Здесь также необходима спецификация внутренних событий и соответствующая их наступлению схема переключения режимов функционирования;

— «белый ящик» - осуществляется наполнение функциональных структур исполнителями предметных и интерфейсных библиотек стандартизованных процедур целостных (единиц) деятельности, составление управляющих спецификаций - таблиц управления для управляющих автоматов, описывающих процессы функционирования ВР. Второй и третий уровень названы ниже К- и А- сценариями.

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

ЭКОНОМИКА И ПРАВО 2009. Вып. 2

назвать К-ценарий также концептуальной моделью ВР. Такой сценарий не исходит из архитектуры системы, а является ее прообразом. Таким образом, К-сценарий - это процессно-ориентированная концептуальная модель деятельности (функционирования) ВР. Вторичным по отношению к нему является сценарий создания (сборки, инжиниринга) либо перестройки (реинжиниринга). Он основан на выделении внешних и внутренних единиц деятельности и, по необходимости, является формализованным, объектноориентированным, автоматным (формально-алгоритмическим). Этот сценарий будем называть А-сценарием. Состояния и переходы конечного автомата можно разметить различными показателями операций ВР. Имитация работы автомата в форме бесконечного цикла (переходов/состояний) [3; 4] позволяет «вычислить» интегральные показатели эффективности и провести ФСА ВР. Описанные подходы опробованы на содержательных примерах и доказали свою эффективность [1; 5].

Сценарии характеризуются четырьмя главными составляющими: целями, факторами влияния и заданными ограничениями, операциями и межопе-рационными связями. Получаемый список целей и факторов влияния, как правило, структурированный обычно в начале моделирования, оказывается чрезмерно большим. В силу неравнозначности элементы этого списка по-разному влияют на поведение ВР. Поэтому весьма важной является задача экспертного ранжирования вектора целей и факторов в целях отбора наиболее существенных. Факторный анализ применяется для К-сценариев и для А-сценариев (инжиниринга, реинжиниринга). Для А-сценария может эффективно использоваться и ситуационный анализ. Он основывается на том, что в ходе реализации либо перестройки ВР может возникать множество ситуаций (стадий) развития системы. Среди них фиксируются начальная и заключительная ситуация. Движение от ситуации к ситуации инициирует постановку внутренних целей. Переходы происходят с учетом внутренних факторов. Таким образом определяется набор внутренних целей (факторов), дополняющих набор внешних показателей. Факторы, цели и характеризующие степень их достижения показатели в совокупности образуют «память», состояние которой характеризует состояние моделируемой системы. Фундаментальное разделение любого автомата на управляющий и операционный будет отражено в данной работе следующим образом. В качестве памяти операционного автомата, на основе состояния которой формируется состояние автомата в целом, выбраны подмножества гибкого универсума алгебры кортежей (АК) [6], а в качестве операций, из которых формируются операторы преобразования памяти, - операции АК. Взаимодействие операционного с управляющим и сам управляющий автомат будем представлять в форме таблиц решений [8], которые, как будет показано далее, соответствуют одному конкретному состоянию автомата и полностью характеризуют процессы перехода из него в другие состояния. Пусть У! - множество выходных воздействий автомата в данном состоянии ъ на память (оператор операционного автомата), Х1 - множество входных сигналов, на которые реагирует автомат в данном состоянии ъ В общем случае функция переходов и выходов выглядит следующим обра-

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

zn: Fn(x);

End case ПОКА ЛОЖЬ.

Оператор повторять пока ложь обеспечивает бесконечный цикл, в котором реализуется функционирование автомата. То есть как обычно новое состояние и выходное воздействие на память зависят от исходного состояния и входного воздействия. Данная вычислительная структура анализирует состояние памяти переменной x и z и устанавливает в новые значения переменные у и z. В автоматном стиле проектирования (программирования) эта структура погружена в бесконечный цикл и оформлена в виде процедуры, выход из которой формируется в одной или нескольких ветвях оператора case. Функции Fj привязаны к состоянию z;, они реализуют переход в новое состояние и формируют выходное воздействие.

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

В данной работе делается попытка формализовать А-сценарий в терминах алгебры кортежей и таблиц решений.

Основные понятия алгебры кортежей введем согласно работе [6]. Алгебра кортежей (АК) - это разработанная Б.А. Куликом математическая система для моделирования и анализа многоместных отношений, но в отличие от реляционной алгебры, применяющейся для формализации БД, в ней можно использовать все известные средства логического моделирования и анализа систем, входящие в математическую логику. В основе АК использованы известные свойства декартова (прямого) произведения множеств, которые, как показали исследования [6; 7], соответствуют основополагающим законам математической логики.

Определение 1. Алгебра кортежей - это алгебраическая система, носителем которой является произвольная совокупность многоместных отно-

ПОВТОРЯТЬ

Case z of

z1: F1(x); z2: F2(x);

(1)

ЭКОНОМИКА И ПРАВО 2009. Вып. 2

шений, выраженных в специфических структурах (элементарный кортеж, С-кортеж, С-система, ^-кортеж, ^-система), называемых АК-объектами. Она изоморфна алгебре множеств. Поэтому в ней выполняются все операции и проверяются все соотношения алгебры множеств. Кроме того, в состав операций АК, имеющих аналоги в реляционной алгебре и алгебре множеств, добавлены четыре операции с атрибутами:

1) переименование атрибутов;

2) перестановка атрибутов;

3) добавление нового фиктивного атрибута (+Л&);

4) элиминация атрибута из АК-объекта (-Л&).

С помощью АК-объектов, перечисленных в определении 1, моделируются произвольные многоместные отношения и устанавливается, если в этом есть необходимость, взаимосвязь отношений с формулами и законами математической логики.

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

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

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

ив={иь и2, ...,вд.

Имена АК-объектов содержат собственно имя, а в некоторых случаях к имени добавляется заключенная в прямые скобки последовательность имен атрибутов, определяющих схему отношения, в которой задан этот АК-объект. Например, Я[ХУ2] означает, что АК-объект Я задан в схеме отношения [ХУ2].

Определение 2. Элементарный кортеж - это последовательность элементов, каждый из которых является элементом домена соответствующего атрибута из схемы отношения.

Например, если задан элементарный кортеж Т[ХУ2] = {а, Ь, с}, то подразумевается, что а е X, Ь е У и с е 2

Определение 3. С-кортежем называется заданный в определенной схеме отношения кортеж множеств (компонент), каждое из которых являет-

ся подмножеством домена соответствующего атрибута. С-кортеж представляет собой множество элементарных кортежей, это множество можно вычислить как декартово произведение компонент С-кортежа. Для изображения С-кортежей используются прямые скобки, например Я[ХУ2] = [ЛВС] означает, что Л с X, В с У, С с 2 и Я[_ХУ2] = Л х В х С .

Определение 4. С-системой называется объединение множества однотипных С-кортежей, которые записываются в виде матрицы, ограниченной прямыми скобками. В этой матрице строками являются содержащиеся в ней С-кортежи.

С-система представляет собой множество элементарных кортежей. Это множество равно объединению множеств элементарных кортежей, содержащихся в соответствующих С-кортежах. Например, С-систему

Л1 В С1

Q[ XYZ ]

Л B2 C 2

можно представить как множество элементарных кортежей, вычисляемое по формуле @[ХУ2] = (Л1 х В1 х С1) и (Л2 х В2 х С2).

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

В АК-объектах могут содержаться фиктивные компоненты. Они бывают двух видов. Одна из них - полная компонента — используется в С-кортежах и обозначается “*”. Значением этой фиктивной компоненты является домен соответствующего атрибута. Другую фиктивную компоненту “0” - пустое множество, которая используется в ^-кортежах, рассмотрим позднее. Здесь и далее в качестве примеров будем рассматривать АК-объекты, заданные в пространстве

£ = ХхУх2, где Х= {а, Ъ, с, с!}, ¥= g, И}, 2 = {а, Ь, с}.

Тогда справедливы равенства

0\\)С¥7\ = [*{/;/!} {<з, &}] = [{а, Ь, с, <1} {[, Щ {а, А}]; о2[хгг\ = [{*, * {а, Ь}] = [{*, а\ {/; & И} {а, *}].

Операции и проверки включения или равенства между этими АК-объектами реализуются на основании теорем 1-6. Пусть заданы однотипные С-кортежи7^ = [Г\ 1\ ... Рц\ иО = \0\ Ог ... Оп\.

Теорема 1. Р» (2 = [Р, • • д2,...Рп •£?„].

Теорема2. если и только если С1 О; для всех /=1,2, ..., П.

Теорема 3. Р и О с: [Р\^)0\ \\yjQl ... Рп^ Оп\, причем равенство возможно лишь в двух случаях:

(I) Q £ Р или Р с & ;

(II) р = для всех соответствующих пар компонент, за исключением лишь одной пары.

Заметим, что в алгебре кортежей в соответствии с определением 4 во всех случаях справедливо равенство

p u Q =

p p

p.

1 2 & &2 ...

Теорема 4. Пересечение двух однотипных С-систем равно С-системе, содержащей все непустые пересечения каждого С-кортежа первой С-системы с каждым С-кортежем второй С-системы.

Теорема 5. Объединение двух однотипных С-систем равно С-системе, содержащей все С-кортежи операндов.

В некоторых случаях после вычисления объединения С-систем можно сократить общее число кортежей в полученной С-системе, если использовать условия (1) или (11) в теореме 3.

Чтобы выразить алгоритмы вычисления дополнений АК-объектов, необходимо еще одно определение.

Определение 5. Для любой компоненты Р/ АК-объекта ее дополнение

( Р. ) определяется как дополнение относительно домена соответствующего ей атрибута.

Теорема 6. Для произвольного С-кортежа/^ = \1*\ ■ ■ ■ Рп ]

С-системы размерности пхп, у которых все компоненты, не принадлежащие главной диагонали, равны “*”, будем называть диагональными. Диагональные С-системы можно представить как один кортеж диагональных компонент, ограниченный перевернутыми прямыми скобками. Например,

= ]{а,с} {g} {с}[.

Такое представление диагональной С-системы образует новую структуру АК, которая называется ^-кортежем.

2009. Вып. 2 ЭКОНОМИКА И ПРАВО

Определение 6. Б-кортеж — это кортеж компонент, ограниченный перевернутыми прямыми скобками, равный диагональной С-системе, у которой диагональные компоненты равны соответствующим компонентам О-кортежа. Дополнение С-кортежа можно прямо записывать как /.)-кортеж.

Например, если Т\ = [{Ъ, с!} * {а, Ь}], то Ц = ]{а, с} 0 {с}[.

В О-кортежах константа “0” - фиктивная компонента. При преобразова-

нии О-кортежа с фиктивными компонентами в диагональную С-систему строки, соответствующие фиктивным компонентам, оказываются пустыми и

поэтому могут быть удалены из этой С -системы

{а,с) * *

7; = ]{я,с} 0 {с}[ = * 0 *

* * м

{а, с}

*

{С}

Термины «С-кортеж» и «.О-кортеж» выбраны не случайно: в простей-

шем случае С-кортеж соответствует конъюнкции, а О-кортеж - дизъюнкции одноместных предикатов с разными переменными. Используя О-кортежи, можно сформировать еще одну (пятую) структуру АК - О-систему.

Определение 7. Б-система - структура, состоящая из множества однотипных О-кортежей и равная пересечению множеств элементарных кортежей, содержащихся в этих О-кортежах.

Изображение О-системы аналогично изображению С-системы, только вместо обычных прямых скобок используются перевернутые.

Теорема 7. Дополнением С-системы является О-система той же размерности, в которой каждая компонента равна дополнению соответст-

вующей компоненты в исходной С-системе.

F[XYZ\ = >,М} им {Ь}~ _ {Ь,с} * {а,с}_ ?

X \ {a,b,d} У \ им Z\{b} {с} te) {а, с)

X\{b,c) Y\* Z \ {о, с} {a,d} 0 {*}

Нетрудно видеть, что соотношения между С-объектами (С-кортежи и

С-системы) и О-объектами (О-кортежи и О-системы) соответствуют законам двойственности де Моргана. В силу этого они названы альтернативными классами.

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

ЭКОНОМИКА И ПРАВО 2009. Вып. 2

Если в С-кортеж или в С-систему вводится фиктивный атрибут, то эта процедура соответствует известному в исчислении предикатов правилу вывода, которое называется правилом обобщения. Например, если АК-объект

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

G[XZ]= 1 1 |_ {a,c,d} {b,c}

соответствует формуле ¥(х, г) исчисления предикатов, то, добавив в этот АК-объект фиктивный атрибут У, получим АК-объект

Gl[XYZ\ = +Y(G[XZ\) = который соответствует формуле, получ {а,с] * * {a,c,d} * {Ъ,с} \ гнной из формулы F(x, z)

Рассмотрим некоторые аспекты моделирования с помощью АК реаль-

ных систем. Пусть задана система S с множеством возможных состояний 2={гьг2,.. .гг}. Кроме того, в состав S входит некоторое множество 8У узлов или подсистем. 8У={8Уь 8У2, ..., 8УП}. В свою очередь, каждому узлу 8У соответствует некоторое множество состояний 2У1= {У2^ , У^^,.. }, где к

- число состояний, в котором может находиться узел ЗУ!.

Декларативной моделью системы £ является соответствие между всеми возможными наборами состояний всех узлов и состояниями системы. Каждому состоянию /1 системы соответствует некоторое множество элементарных кортежей из декартова произведения О = ZУ1 X ZУ2.... X 2Уп . Математически это соотношение можно отобразить как соответствие: 8 : О ® Z .

Далее, в работах [6; 7] рассматриваются алгоритмы вычислений в структурах АК. АК-объекты представляют собой кортежи или матрицы компонент. При выполнении операций с ними и распознавании соотношений (включения или равенства) основная вычислительная нагрузка ложится на операции с компонентами, которые являются подмножествами соответствующих доменов атрибутов. Алгоритмы вычислений и сравнений АК-объектов сводятся к последовательностям операций или проверок отношений включения или равенства алгебры множеств. Таким образом, декларативные знания о системе можно описать в нотации АК.

Императивную часть модели системы мы будем рассматривать состоящей из операторов над АК-объектами, которые являются памятью операционного автомата и управляющего автомата. Управляющий автомат запускает на исполнение операторы над АК-объектами. Сформируем его на базе таблиц решений [8]. Для унификации модели системы эти таблицы решений определим в терминах АК-объектов.

В работе [7] таблица решений с расширенным входом определена как упорядоченный список правил (продукций). Множество состояний, являющихся предусловием правила-продукции, состоящее из списка подмножеств

2009. Вып. 2 ЭКОНОМИКА И ПРАВО

доменов значений управляющих переменных, является, по сути, С-кортежем либо С-системой (см. определение 3-4).

Далее будем обозначать предусловие правила ^ как С1, а упорядоченный набор действий с параметрами - N0^ тогда таблицу можно записать в виде скобочной структуры.

ТЯ=((СЬ N0!), (С2, N02), ..., (С, NDn)).

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

Л=((2ЬТЯ1), (22,ТЯ2),..., (гп,ТКп)). Состояния автомата являются обозначениями соответствующих им АК-объектов.

Рассмотрим пример проектирования К-сценария в форме, пригодной для конечно-автоматной формализации на задаче инжиниринга бизнес-процессов посреднической фирмы. Дадим словесную постановку задачи. Посредническая фирма организует поставки оптовым потребителям продуктов посредством множества поставщиков. Ее функции:

Ф1 - формирование ПОСТАВКИ, в которой содержится номенклатура продуктов, их количество, стоимость поставки, список поставщиков с указанием того, кто из них, что и в каком количестве поставляет, в какой срок, потребитель поставки;

Ф2 - формирование договоров между поставщиком и потребителем на поставки продуктов из ПОСТАВКИ;

Ф3 - отслеживание сроков исполнения ПОСТАВОК;

Ф4 - формирование и выставление счета-фактуры поставщикам за услуги по формированию заказов по выполненной номенклатуре ПОСТАВОК за текущий месяц.

Пусть для простоты фирма-посредник, по договоренности с поставщиком, в договор «накручивает» накладные расходы как фиксированный процент от оптовой цены партии поставляемого товара. Это ее доходы.

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

Р0 - процесс, имитирующий «внешний мир». Он отвечает за взаимодействие потребителя, клерка фирмы и остальных компонентов головного бизнес-процесса фирмы. В этом процессе формируются заявки на обработку процессом Р2 и анализ выполненных заявок;

Р1 - процесс накопления и передачи диалоговой программной системе требований одного из трех видов: формирование поставки, формирование договора поставки и формирование счета на оплату услуг;

Таблицы решений и автоматное моделирование... 135

ЭКОНОМИКА И ПРАВО 2009. Вып. 2

Рис. 1. К-сценарий

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

Фиксированная номенклатура процессов К-сценария устанавливает уровень детализации модели рассматриваемого явления. Соответственно на этом же уровне детализации проектируется А-сценарий. Таких уровней можно вводить в рассмотрение сколько угодно, пока не получится А-сценарий выполнение которого посредством транслятора возможно производить с помощью компьютера.

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

2009. Вып. 2 ЭКОНОМИКА И ПРАВО

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

С каждым конкретным каналом K можно ассоциировать сигнал, принимающий одно или множество значений SK = {Sk[1],...,Sk[nk]} . С каждым из

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

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

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

Продукты (Т1) Исполнители поставки (Т6) Поставки (Т4)

Гост продукта (x1) Шифр поставки(хб) Шифр поставки (x4)

Назв. Поставщика(уб)

Наименование (y1) Дата регистрации^)

Цена (z1) Гост продукта^) Срок исполнения^)

Ед. измерения (v1) Количество^) Назв потребителя^)

Срок выполнения^б) Стоимость^4)

Состав поставки

Шифр поставки^) Г ост продукта^) Количество^)

Поставщики (Т2)

Назв. Поставщика (x2) Адрес (y2) Руководитель^)

Потребители (Т3)

Назв. Потребителя (x3)

Адрес^З)

Руководитель^)

Рис. 2. Схема используемой БД

ЭКОНОМИКА И ПРАВО 2009. Вып. 2

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

Вош(х5)=Вош(хб)=Вош(х4) и Вош(уб)=Вош(х2). Часть из этих переменных войдет в состав множества управляющих переменных, остальные управляющие переменные будут введены дополнительно при проектировании управляющих автоматов. Например, одна из возможных структур данных, ассоциированных с сигналом со значением 51[1] сигнала 51, несущая информацию о заявке на формирование поставки с данными: шифр поставки (х4)=001; дата регистрации(у4) = «01.01.09»; срок исполнения^4)= «не определен»; назв. потребителя(у4)= «ООО Атлантида»; стоимость(^4)= «не определено» имеет вид С-кортежа. В^1[1]=Заявка[х4 у4 е4 у4 ^ч] =[001 01.09.09 “0” «ООО Атлантида» “0”]. Отметим, что вместо этой структуры может быть другая, несущая сведения для формирования договоров на конкретную поставку.

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

Опишем передаваемые по каналам сигналы. Без потери общности будем считать, что каждый из сигналов имеет одно особое значение, обозначим его «КиЬ», которое означает отсутствие сигнала.

К(X1,Уд) - канал, передающий сигнал 51, сигнализирующий о появлении требования одного из четырех видов. Вместе с сигналом передается вся необходимая информация для обработки поступившей заявки, имеющей одно значение, кроме КИЬ.

51[1]= «пришла заявка»: схема ассоциированных с данным значением данных - В51[1] = Заявка[х4 у4 е4 у4 w4 ] | Заявка[х4] | Заявка[«список выполненных поставок» ] | Заявка[«текущий месяц»]. Здесь вертикальная черта разделяет варианты ассоциированных структур данных, переменные взяты из таблиц базы данных, переменная «список выполненных поставок» означает, что нужно указать список выполненных поставок на текущую дату, переменная «текущий месяц» указывает на то, что нужно сформировать счета-фактуры для получения вознаграждения по сформированным поставкам, выполненным в текущем месяце.

13S Ю.М Сметанин, Е.Ю. Сметанина, А.В. Бусоргин

2009. Вып. 2 ЭКОНОМИКА И ПРАВО

K(X1, Y22) - канал передачи сигнала S4 «требование исполнено» о выполнении требования и внесении всех изменений в банк данных.

По каналу K (X^, ) передается сигнал S2 со значениями :

- S2[1]=«Очередь пуста» ; DS2[1]=“0”;

- S2[2]= «Прими заявку»; DS2[2]= Заявка[x4 y4 z4 v4 W4 ] j Заявка[x4] j За-явка[«список выполненных поставок» ] j Заявка[«текущий месяц»];

- S2[3]=«Прими очередь». DS2[3]=структура очереди из заявок четырех типов см. выше.

Канал K(X12,Y21) предназначен для передачи сигнала S3 «Запрос требования», означающего, что процесс P2 готов принять новое требование.

Множество значений S3:

^3[1]=«покажи очередь»; S3[1]= “0”;

-S3[2]=«выдай заявку с данным номером»; DS3 [2]=номер заявки в очереди;

^З[3]=«обработчик свободен» S3[3]= “0”.

Канал K(X^Y2) предназначен для передачи сигнала S4 -«заявка

обработана» с одним содержательным значением S4[1]= «заявка обработана» и NUL. С этим значением ассоциирована одна из структур данных, соответствующая типу выполненной заявки. Например, данные о сформированной для ООО «Атлантида» поставке могут выглядеть как следующий набор АК объектов. Str= (Поставка, Состав поставки, исполнители поставки) Поставка^ y4 z4 V4 W4] =[001 01.01.09 10дней "ОООАтлантдс/' 25000руб].

Г 001 ГОСТ 1 10

Состав поставки[x5 y5 z5]=

001 ГОСТ 2 20

Исполнители поставки^ уб z6 V6 W6]= Г 001 "Гермес" ГОСТ1 10 7дней

[001 " Нимфа ГОСТ 2 20 10дней _

Закончим описание К-сценария рис. 1, указав состояния процессов.

Процесс Р0, в котором взаимодействуют клерк фирмы, потребители, поставщики и программная система поддержки BP, формирует заявки на обработку информации четырех типов в соответствии с функциями Ф1-Ф4. Внешне поток заявок выглядит как случайный. Процесс и соответствующий ему автомат могут находиться в трех состояниях z0={ z0[1], z0[2], z0[3] }: z0[1] - ничего не делает; z0[2] - готовит заявку;

z0[3] - анализирует результат выполнения заявки.

Процесс Р1 накапливает очередь заявок с дисциплиной обслуживания FIFO по умолчанию. Дисциплина обслуживания может быть нарушена по инициативе процесса Р2. Состоянием процесса является длина очереди заявок z1[m+1]=m, где m=0,1,2,... то есть этот процесс имеет счетное множество состояний.

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

ЭКОНОМИКА И ПРАВО 2009. Вып. 2

рассмотрении процессов заполнения таблиц базы данных. Этот процесс имеет два состояния: z2[1]=”свободен” и z2[2]=”занят”. При детализации процесса по ветвям необходимо будет структурировать переменную состояния z2.

Опишем теперь А-сценарий. Функционирование системы из трех процессов на самом верхнем уровне обобщения, не вникая в механизмы функционирования каждого процесса, можно описать в виде трех взаимосвязанных автоматов, каждый из которых может быть описан заданием функций переходов и выходов в одной из принятых нотаций [5]. В силу особенности объектов, именуемых бизнес-процессами, мы будем придерживаться своей нотации. Особенность состоит в том, что логика протекания бизнес-процесса заключается в чередовании управляющих воздействий на операционный автомат посредством запуска операторов сигналами, которые вырабатывает человек либо управляющий автомат, при этом сигнал операционному автомату (инициированный человеком) все равно выдается управляющим автоматом, то есть существенным является описание диалога на разных уровнях детализации К- и А-сценариев. В соответствии с этим элементы (структуры) памяти, из которых формируются описания состояний автоматов, можно разделить на те, которые задаются в результате человеко-машинного диалога, и на те, которые заполняются под воздействием, инициируемым только управляющим автоматом. Связанные с этими элементами переменные и константы будем соответственно называть диалоговыми и расчетными. Для создания А-сценария необходимо зафиксировать операторы над памятью, диалоговые операторы и классифицировать структуры данных на диалоговые и расчетные. Каждый из автоматов Лг- в любой момент времени находится в определенном состоянии Zj[i] из множества возможных состояний соответствующего автомата. Автоматы, реализующие процессы P1, P2, образуют обобщенный автомат А со множеством состояний Z = Z1 X Z2. У такого обобщенного автомата один вход и один выход. Они предназначены для взаимодействия с внешним управляющим автоматом (процессом) А0. Сигналы, соответствующие входу и выходу обобщенного автомата, соответствуют сигналам S1 и S2 автоматов А1 и А2. Функцией перехода автомата является функция F : Z X X ® Z X Y . Такая функция получает текущее состояние автомата и значения всех его входов в качестве аргументов и возвращает новое состояние автомата и значения всех его выходов. Можно сказать, что функция переходов однозначно реализует автомат, то есть для каждого состояния автомата (z) новое состояние определяется как (z, y) = F(z, х) . Данное описание может быть реализовано многими различными способами (автоматные таблицы, таблицы решений, нотация SWITCH и др.). Мы выбрали таблицы решений. Разберем реализацию конкретного автомата на примере автомата накопления требований. У него два входа (будем для простоты называть их х1 и х2) и один выход (yi). На первый вход передаются сигналы из «внешней среды», т.е. процесса, ответственного за взаимодействие с пользователем; на второй - сигналы процесса, осуществляющего отбор требований на обработку. На выход поступают сигналы, оповещающие «выбирающий процесс» о

2009. Вып. 2 ЭКОНОМИКА И ПРАВО

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

Рис 3. Автомат, реализующий процесс генерации заявок и анализа выполненных заявок

На первом уровне этой структуры находятся пометки состояний. Управление по конкретной «ветке» передается в случае, если автомат находится в соответствующем состоянии. Следующие уровни содержат условия, в которых анализируется входной сигнал и другие управляющие переменные. Этим условиям сопоставлены наборы действий над АК-объектами. Они на ветке, соответствующей актуальному состоянию, просматриваются сверху вниз, и при первом истинном условии выполняется соответствующий ему набор действий.

Внешняя среда - автомат А0 по необходимости на данном уровне детализации описан как недетерминированный. Автомат - накопитель заявок изображен на рис 4. В отличие от предыдущего он является детерминированным.

Таблицы решений и автоматное моделирование... 141

ЭКОНОМИКА И ПРАВО 2009. Вып. 2

Рис. 4. Автомат - накопитель заявок

Последний автомат А2 - обработчик заявок изображен на рис 5. В этом автомате есть одна особенность в состоянии 22=22[2] = «занят», автомат не реагирует ни на какие значения входного сигнала 82.

Рис.5 Автомат - обработчик заявок

2009. Вып. 2 ЭКОНОМИКА И ПРАВО

В заключение отметим, что предложенные способы построения К- и А-сценариев на каждом уровне детализации являются значительно менее трудоемкими по сравнению с принятыми нотациями для описания ВР. Описание является легко перестраиваемым и наглядным как в графическом, так и в списковом представлении. Это следует из свойств таблицы решений. На каждом уровне детализации возможно проводить имитационные эксперименты с А-сценарием. Унификация описаний таблиц решений с алгеброй кортежей представляется авторам весьма перспективным направлением моделирования, легко просматриваются перспективы автоматизации этой деятельности.

СПИСОК ЛИТЕРАТУРЫ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1. Сметанин Ю.М., Сметанина Е.Ю., Мелехов Д.Г., Котегов Д.Ю. Автоматные модели бизнес-процессов и нормативный подход к BPR // Вестн. Удм. ун-та. 2007. №1.

2. Мелехов Д.Г., Сметанин Ю.М. Новые информационные технологии в реинжиниринге // Вестн. Удм. ун-та. 1998. №8.

3. Аврамчук Е.Ф., Вавилов А.А., Емельянов С.В. и др. Технология системного моделирования / под общ. ред. С.В. Емельянова и др. М.: Машиностроение; Берлин: Техник, 1988. 520 с.: ил.

4. Шалыто А.А. SWITCH-технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука, 1998.

5. Сметанин Ю.М., Сметанина Е.Ю., Мелехов Д.Г., Котегов Д.Ю. Проектирование бизнес-процессов в рамках автоматного подхода к BPR // Межрегиональный научно-практический журнал. Менеджмент: теория и практика. Ижевск. 2008. № 3-4. С.211-220.

6. Кулик Б. А. Обобщенный подход к моделированию и анализу интеллектуальных систем на основе алгебры кортежей // /Труды VI Междунар. конф. «Идентификация систем и задачи управления» SICPRO’ 07. М.: ИПУ РАН, 2007. С. 679-715.

7. Кулик Б.А Логический анализ систем на основе алгебраического подхода: авто-реф. дис. ... д-ра ф.-м. наук. СПб., 2008. С. 33.

8. Сметанин Ю.М. Таблицы решений как частный случай продукционных систем и их применение для фиксации принципа действия и ООД при обучении экономистов // Вестн. Удм. ун-та. Сер. Экономика и право. 2009. Вып. 1. С. 85-96.

Поступила в редакцию 16.08.09

Yu.M. Smetanin, candidate of physics and mathematics, associate professor E. Yu. Smetanina, engineer

A. V. Busorgin, adviser to the Federal service for defense orders Table of solutions and computer-aided modeling of business processes

The authors suggest a method of modeling the subject area of activity as a flexible universe of procession algebra and computer-aided automation on the basis of the solution table.

ЭКОНОМИКА И ПРАВО 2009. Вып. 2

Сметанин Юрий Михайлович, кандидат физико-математических наук, доцент Институт экономики и управления ГОУВПО «УдГУ»

426034, Россия, г. Ижевск, ул. Университетская, 1 (корп. 4)

Сметанина Евгения Юрьевна, инженер

Институт экономики и управления ГОУВПО «УдГУ»

426034, Россия, г. Ижевск, ул. Университетская, 1 (корп. 4)

Бусоргин Александр Владимирович, консультант Федеральной службы по оборонному заказу

Россия, г. Москва, Уланский переулок, д.16, корп. 1

i Надоели баннеры? Вы всегда можете отключить рекламу.