Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕОРИЯ ИНЖИНИРИНГА-Калянов.doc
Скачиваний:
14
Добавлен:
19.08.2019
Размер:
643.07 Кб
Скачать

3.3.3. Порождение вариантов выполнения :к[ бизнес-процесса с учетом типа связности «'?*"

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

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

синтеза.

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

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

Обозначим использование некоторого ресурса гг через да(/>), а '% его накопление через р(г,). Значением функций тир будет I являться величина, на которую уменьшается или увеличивается .'«• совокупное для рассматриваемого бизнес-процесса количество .1 ресурса*). ■.-... - - f

' Расширим множество синтезируемых атрибутов Нерассмот­ ренной в главе 2 грамматике бизнес-процесса. Пусть теперь -, А, — {m(r,)} u {/>(/>)}, где г{ Л (множество ресурсов предприятия). .' Тогда порождающие правила грамматики бизнес-процесса при- "'; мут следующий вид:

\)А=*АВ {(г,, z2,.... Zk)) {о,} или A{Oj} =*A{Oj)B {(г,, z2, -, Z$ \ {o£, где А, В - бизнес-функции; z„ - m(rm) j p(rm); rm - значение т-то ресурса, требуемого при исполнении функции В (1 £ т < к); Oj,o{ — идентификаторы подразделений в рамках оргштатной структуры, исполняющих функции Ли В соответственно.

2) А' => АВ {(г„ z2,..., zk)} {о/^и Л{о/ => Aty В {(г„ z2,.... zk)} . {о,}, где символ ' означает возможность параллельного исполне­ ния бизнес-функции, для чего необходимо наличие еще по край­ ней мере одного правила: А' =>.*4С (или А\о}}' => А{о}соот­ ветственно). -■ '>-

3)s0=>A{(zt,z2,....zk)) {о,-} или V => A {(zi,z2,...,z*)} {о,), где

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

Отметим, что выбор значения Zm определяется направлением соответствующего ребра использования ресурса из множества ЕЯ: при наличии ребра (В, rm) z= p(rm), а при наличии ребра

Определим теперь методы синтеза атрибутов, обеспечиваю­щие последовательную и информационную связность порождае­мого бизнес-процесса. В общем случае эти методы теперь имеют вид

mst-<ZiW, -, V) = tfi%'-l),/2'(z2'-'), ...,fkWX))Bmi> 1.

ллл

При 1=1 msx:(z\,z2 ,..., zk) - (г, ,z2 ,..., zkl), mcz'=0,ес­ли не существует ни одного из ребер (1, rm), (rm,l), принадлежа­щих множеству ER.

Определим функции ./J* метода ms(, обеспечивающие последо­вательную связность, следующим образом:

  • если $м.= mflrj), raffa") ~р' (rj) шш//(^л) = т'ф);

  • если V ~PiA (*>), TO/V')ш *' (Tj) или f, %") -j»'<0);

  • если^"1 «O.TOjyV )*^'<0>или^'<г/ > ==|«/<'у)или

/fa")-о:\

Таким образом, к каждому порождающему правилу фактичес­ки привязывается семейство методов мощностью от 2* до 3* = j R\). При этом для всех без исключения правил это семей­ство методов является одним и тем же.

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

Определим теперь функции /■ метода msh обеспечивающие информационную связность, следующим образом:

  • если*/1»*'-1 (rj), to f/(z/-1) =т1(фти//(ъ'1) = т'(Щ;

  • еслиz/-x =piA (^то J5V1)"°;

• если ZjiA = 0, to fj%iA) = т' (/у) или^Чг/1) = 0.

Таким образом, к каждому порождающему правилу фактичес­ки привязывается семейство методов мощностью до 2 . При этом для всех^ез исключения правил это семейство методов является

одним и тем же.

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

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

ность, использование механизма синтезируемых атрибутов и со­ ответствующих методов синтеза нецелесообразно, поскольку зги методы будут основаны на переборе и попарном сравнении сим­ волов порождаемой в данный момент и всех уже порожденных цепочек при каждом применении любого из порождающих пра­ вил. . Гораздо проще осуществить такой перебор и уравнение однохржгно после построения всех возможных вариантов вьптол- • нения бизнес-процесса. Это можно осуществить также за счет расширения алгоритма автоматического порождения вариантов исполнения бизнес-процесса из разд. 3.1.2 путем введения спе­ циального блока анализа цепочек (шага 6 алгоритма), предшест­ вующего блоку завершения алгоритма. , ,У

Блок анализа для порождения всех правильных цепочек язы­ка, удовлетворяющих требованиям критерия процедурной связ­ности, выглядит следующим образом:

Шаг 6. -.:.-',

6.1. Выбор очередной порожденной цепочки. Бели множест­во цепочек исчерпано, то переход к шагу 7.

62. Построение множества символов CS, входяидах в состав иепочки. Ж

У-&3. Сравнение множества СУ с множеством vJ$VP Щ.А. Если CS = Vnkj V-f, то переход к подшагу &$&' %£.Если CS*Vn\j VT, то вычеркивание цепочк** м переход к подяшуб.1. "*

Шаг 7. Завершение работы алгоритма.

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

Швгй.

6.1. Выбор очередной порожденной цепочки. Если множест­во цеяпек исчерпано, то переход к шагу 7.

6JL Построение множества символов CS, входящих в состав цепочка.

63.Сравнение множества CS с множеством VNu VT. 6.4.Бели CS = Vnkj VT, то переход к подшагу 6.6.

65.&ЛИ CSV VN*u VT, то вычеркивание цепочки и переход к подшагуб.1.

£. Построение множества пар CR - {{А, В)} из рядом стоя­щих самолов, входящих в состав цепочки.

  1. Сравнение множестваCR с множеством управляющих ре­бер графа бизнес-процесса Е.

  2. Если CR = Е, то переход к подшагу 6.1.

  3. Если CR ф £, то вычеркивание цепочки и переход к под­шагу 6.1.

Шаг 7. Завершение работы алгоритма.

Блок анализа для порождения всех правильных цепочек язы­ка, удовлетворяющих требованиям критерия логической связ­ности, выглядит следующим образом:

Шаг 6.

  1. Выделение символов аир, соответственно начинающих и завершающих логический вариант.

  2. Выбор очередной порожденной цепочки. Если множест­во цепочек исчерпано, то переход к шагу 7.

6.3. Проверка вхождения в состав цепочки подцепочки

(а,...,р).

6.4. Если вхождение подтверждается, то переход к под­ шагу 6.2.

6.5. Если вхождение не подтверждается, то вычеркивание це­ почки и переход к подшагу 6.2.

Шаг 7. Завершение работы алгоритма.

Для порождения вариантов выполнения бизнес-процесса, имеющего временнуйшвязность, также воспользуемся расшире­нием алгоритма автоматического порождения вариантов испол­нения бизнес-процесса из главы 2 за счет введения блока анали­за цепочек {шага 6 алгоритма), предшествующего блоку заверше­ния алгоритма. Для этой цели обозначим через t(A) время начала выполнения функции А, а через £ — значение временного порога, критичного для критерия временной связности. Тогда блок ана­лиза для порождения всех правильных цепочек языка, удовлетво­ряющих требованиям критерия временной связности, выглядит следующим образом:

Шаг 6.

6.1. Выбор очередной порожденной цепочки сцо^... ая. Если множество цепочек исчерпано, то переход к шагу 7.

6.2./= 1.

  1. к =/+1.

  2. Выбор очередного символа цепочки ак. Если цепочка ис­черпана, то/ =/ + 1.

6.5. Если.; < п, то переход к подшагу 6.3, иначе переход к под- -шагуб.1.

  1. Проверка неравенства J t(aj) i(ak) j < е.

  2. Если неравенство выполняется, то к = к + J и переход к подшагу 6.4.

  3. Если неравенство не выполняется, то вычеркивание це-: почки и перйход к подшагу 6.1. . '

Ща г 7. Завершение работы алгоритма.

Таким образом, существуют по крайней мере два способа по­рождения вариантов выполнения бизнес-процесса, удовлетворя­ющих заданному типу связности (или типам связности, посколь­ку возможно требование одновременного соответствия несколь­ким типам связности, например, последовательной, временной и процедурной):

• способ с использованием механизма синтезируемых атрибутов

и соответствующих методов синтеза, позволяющий при порож-

. дении исключать цепочки, не удовлетворяющие соответствую­щему типу связности;

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

След^Ь'т отметить, что в принципе для решения поставленной задачи можно применять как первый, так и второй способ по­рождения вариантов выполнения бизнес-процесса для каждого из введенных типов связности. Однако для типов связности, ос­нованных на потоках данных (последовательная и информаци­онная) и отражающих последовательности использования и/или накопления ресурсов, целесообразно' использовать первый спо­соб, а для типов связности, основанных на потоках управления и отражающих состав и последовательность выполнения компо­нент бизнес-процесса, — второй способ.