Использование концепции бинарных отношений в системе RunaWFE как пример интеграции математической теории в свободное ПО Доклад на Седьмой конференции "Свободное программное обеспечение в высшей школе. 28-29 января 2012 г. Переславль-Залесский. докладчик Михеев Андрей Геннадьевич Руководитель проекта RunaWFE Предлагается использовать свободное ПО как средство кооперации представителей ВУЗовской науки и разработчиков промышленного ПО 1. Профессора получат инструмент, реализующий их идеи. При этом: ПО бесплатно Не надо платить за ПО при распространении (продаже) идей Простая установка (без ключей, лицензионных файлов и т.п.) При использовании на предприятиях отсутствуют расходы на приобретение ПО ПО можно будет свободно модифицировать при дальнейшем развитии идей и теорий 2. Разработчики ПО получат идеи, которые позволят ПО получить качественные преимущества Пример такого возможного взаимодействия Применение абстрактной математической концепции, изучаемой в большинстве физ.-мат или технических ВУЗ'ов на младших курсах, в свободной промышленной системе для решения практической задачи. Это привело к появлению конкурентного преимущества у программного продукта Пример Бинарное отношение Бинарным отношением между множествами A и B называется любое подмножество P декартова произведения множества A на множество B. Часто, чтобы обозначить принадлежность упорядоченной пары ( a , b ) к бинарному отношению P вместо записи ( a , b ) ∈ P используют обозначения P ( a , b ) или aPb Бинарное отношение Программный продукт RunaWFE - открытая, система управления бизнес-процессами и административными регламентами. Распространяется под LGPLлицензией. Основная задача системы: Раздавать задания исполнителям и контролировать их выполнение. RunaWFE. Описание. RunaWFE. Список заданий. RunaWFE. Редактор процессов. Исполнимые бизнес-процессы (административные регламенты) Определение исполнимого бизнес-процесса (На основе идей С. Яблонского и С. Бусслера) Исполнимый бизнес-процесс определяется при помощи задания следующих перспектив : перспектива управления потоком (control-flow perspective) перспектива данных (data perspective) перспектива ресурсов (resource perspective) перспектива операций (operational perspective) Исполнимые бизнес-процессы Перспектива ресурсов Роли: служат для связывания узлов бизнес-процесса с исполнителями заданий. роль ставится в соответствие определенным узлам схемы Во время выполнения бизнес-процесса ролям назначаются конкретные исполнители Исполнимые бизнес-процессы Инициализация роли – назначение на роль конкретного исполнителя (Традиционный подход к реализации инициализации роли) Внутри системы управления бизнес-процессами и административными регламентами задается организационная структура и роль инициализируются при помощи указания параметров этой структуры Процедура инициализации роли выносится в другую информационную систему и настраивается механизм вызова удаленной функции Инициализация роли — традиционный подход Недостатки традиционного подхода Настроить удаленный вызов процедуры из другой информационной системы технически сложно Путем задания иерархической организационной структуры можно инициализировать роли, соответствующие иерархии управления – «руководитель сотрудника», «руководитель отдела», «директор». Однако сложно инициализировать роли, не относящиеся к административному управлению: «сотрудник кадровой службы, ответственный за адаптацию принятого на работу сотрудника», или «секретарь, отвечающий за корреспонденцию данного сотрудника». Использование бинарных отношений во многих случаях позволяет избежать этих неудобств Инициализация роли — традиционный подход Использование бинарных отношений для инициализации ролей Возможность инициализировать роль сразу множеством исполнителей заданий Процедура задания возможных исполнителей задания становится очень простой, ее легко реализовать прямо в графическом интерфейсе Использование бинарных отношений Использование групп пользователей при задании отношений для уменьшения количества вводимых данных Зададим отношение в СУБП как множество пар (Исполнитель1, Исполнитель2), в которых Исполнитель является пользователем или группой пользователей. Использование бинарных отношений Примеры бинарных отношений над множеством сотрудников предприятия Непосредственный руководитель сотрудника Секретари отдела, в котором работает сотрудник Заместители руководителя департамента, в котором работает сотрудник Использование бинарных отношений Построение отношения над множеством исполнителей 1. Из переменной бизнес-процесса берется значение-Исполнитель, которое будет соответствовать правой части отношения. 2. Строится множество значений всех левых частей отношения, соответствующих данному элементу правой части Использование бинарных отношений Построение отношения над множеством пользователей 1. Для Исполнителя – значения правой части отношения находятся все группы, в которые он входит 2. Находятся все пары, у которых в правой части стоит Исполнитель или одна из найденных групп 3. Рассматривается множество всех левых частей полученных пар Использование бинарных отношений Алгоритм инициализации роли • Если пар нет, то роль не инициализируется. • Если множество состоит только из одного пользователя, то роль инициализируется им. • В остальных случаях роль инициализируется множеством всех пользователей, попавших в левые части пар или принадлежащих какой-либо из групп попавших в левую часть пар, или любой из их подгрупп. Использование бинарных отношений Пример отношения Отношение "Непосредственный руководитель" можно задать при помощи пар следующим образом: (сотрудник1, сотрудник2) … (сотрудник1, сотрудник-N) (Сотрудник1 является руководителем сотрудника2, … , сотрудника N) Это же отношение можно задать и одной парой: (сотрудник1, группа1) (Сотрудник1 является руководителем любого сотрудника, входящего в группу "группа1") Использование бинарных отношений Пункт «Отношения» в главном меню RunaWFE Реализация отношений Отношение можно открыть и отредактировать множество исполнителей Реализация отношений Инициализация роли отношением Реализация отношений Литература и ссылки 1. S. Jablonski and C. Bussler. Workfow Management: Modeling Concepts, Architecture, and Implementation. International Thomson Computer Press, London, UK, 1996. 2. А. Н. Колмогоров, С. В. Фомин, Элементы теории функций и функционального анализа. 4-е изд. М. Наука. 1976 3. Сайт проекта Runa WFE - http://wf.runa.ru 4. Михеев А. Г. Реализация бинарных отношений в свободной системе управления бизнес-процессами и административными регламентами RunaWFE для упрощения инициализации ролей. – в кн.: Восьмая конференция разработчиков свободных программ. Тезисы докладов / Обнинск, 25 - 26 июля 2011 г. М.: Альт Линукс, 2011. (стр. 14 — 20) Литература и ссылки