Использование Бинарных Отношений Над Множествами Для Решения Практической Задачи

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

Существует два традиционных подхода к реализации этой цели:

  • В системе задается организационная структура предприятия и назначение ролей осуществляется путем указания параметров этой структуры.

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

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

  • Перенос назначения ролей в другую систему и организация удаленного вызова процедур из этой системы – сложная техническая задача.

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

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

роль бизнес-процесса.

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

Роли бизнес-процессов используются для связи узлов бизнес-процессов с исполнителями задач.

При разработке бизнес-процесса создается роль и закрепляется за определенными узлами диаграммы бизнес-процесса.

Инициализация роли — это назначение на роль конкретного исполнителя.

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

Например, известно, какой пользователь запустил бизнес-процесс.

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

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

То есть для инициализации новых ролей с использованием значений уже инициализированных ролей необходимо каким-то образом определить связи между сотрудниками предприятия.

Размышляя над этой проблемой, я вспомнил, что в МГУ на втором курсе изучал бинарные отношения над множествами.

Если сотрудники предприятия рассматриваются как элементы совокупности, то с помощью этой конструкции можно определить упорядоченные связи между сотрудниками.

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

2. Для ролей бизнес-процессов, инициализируемых с использованием бинарных связей, указываем роль, которая уже известна на момент инициализации.

3. В процедуре назначения роли исполнителя берём значение исполнителя уже известной роли, связанной с инициализатором.

Это значение будет соответствовать правой части бинарного отношения.

Строим набор значений всех левых элементов пар отношений, в которых правый элемент совпадает с исполнителем уже известной роли.

4. Этим набором инициализируем роль.

То, что в этом случае роль может иметь более одного возможного исполнителя, не пугает: соответствующее задание будет отправлено всем возможным исполнителям, но выполнит его только один исполнитель — тот, кто первым возьмет задание на исполнение.

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

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

Помимо исполнителей мы разрешим парам использовать и группы исполнителей.

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

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



Реализация алгоритма инициализации роли
Алгоритм был реализован на практике — в бесплатной системе с открытым исходным кодом RunaWFE. В главное меню системы добавлен еще один пункт - Взаимоотношения:

Использование бинарных отношений над множествами для решения практической задачи

На этом этапе вы можете просмотреть/добавить/удалить отношение, открыть отношение и отредактировать множество составляющих его пар:

Использование бинарных отношений над множествами для решения практической задачи

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

В этом случае вы можете задать параметры соединения с сервером и импортировать связи в редактор:

Использование бинарных отношений над множествами для решения практической задачи

Далее отношения можно сопоставить с ролью.

В форме выберите имя связи и переменную или константу, соответствующую правой стороне связи, указав пользователя или группу пользователей:

Использование бинарных отношений над множествами для решения практической задачи

Теги: #алгебра #бизнес-процессы #математика

Вместе с данным постом часто просматривают: