Расширение стандартного функционала механизма workflow  в PLM-системе Enovia SmarTeam

Ю.А. Суханова,
ассист.,
syua@aics.ru,
Я.А. Мартынов,
ассист., yaroslav-
martynov@gmail.com,
С.Г. Цапко,
доц., к.т.н.,
serg@aics.ru,
ТПУ, г. Томск

В докладе описаны проблемы реализации workflow-диаграмм в PLM-системе ENOVIA SmarTeam, а также предложен механизм для расширения стандартного функционала механизма реализации workflow-диаграмм. Описаны основные функции, реализованные для достижения поставленной задачи, и приведены примеры реализации.

 

The report describes the implementation of workflow-charts in the PLM-system ENOVIA SmarTeam, as well as the proposal of a mechanism to extend the standard functional mechanism for implementing workflow-charts. The basic functions implemented to achieve the objectives, and examples of implementation.

Введение

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

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

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

Не всегда стандартные средства PLM-систем позволяют в полной мере и адекватно отразить реальный процесс производства вследствие ограниченности функционала системы.

1. Проблемы реализации workflow в PLM-системе ENOVIA SmarTeam

Для реализации бизнес-процессов в PLM-системе SmarTeam используется инструмент Flowchart Designer. Данный инструмент позволяет создавать простые линейные workflow-диаграммы, без учета следующих возможностей:

-          изменения последовательности выполнения узлов процесса в реальном времени;

-          использования логики ветвления;

-          назначения исполнителей без прямого доступа к свойствам workflow-диаграммы;

-          одновременного параллельного запуска нескольких процессов;

-          автоматического последовательного запуска workflow-диаграмм;

-          автоматического изменения состояния жизненного цикла объектов и т.д.

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

2. Программная реализация

Авторами статьи разработаны программные средства реализации динамических workflow-диаграмм на примере PLM-системы Enovia SmarTeam. В состав PLM-системы Enovia SmarTeam входит средство расширения стандартных возможностей путем написания программных компонент (скриптов) на языке SmartScript.

рис. 1 Использование функций из dll-библиотек в PLM-системе SmarTeam

Данный скриптовый язык обладает широким функционалом, но неудобной для разработки и отладки средой. С точки зрения авторов статьи,  более удобным способом является разработка собственных dll-библиотек на любом языке программирования с использованием функций интерфейса программирования приложений SmarTeam API. Возможности SmartScript используются только для вызовов функций из библиотек (рис. 1).

На основе вышеизложенного подхода авторами статьи предложена концепция формирования скриптов с использованием dll-библиотек, реализованных на языке C# в среде MS Visual Studio.

Для устранения ограничений стандартного инструмента реализации workflow-диаграмм Flowchart Designer PLM-системы ENOVIA SmarTeam для dll-библиотек разработаны следующие функции:

1.      initiateChildProcess – функция автоматического запуска произвольного количества типовых процессов, которая выполняет инициализацию, автоматическое задание атрибутов и запуск процессов.

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

рис. 2  Запуск параллельных workflow

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

Помимо параллельного запуска, функция позволяет выполнять последовательный автоматический запуск процессов, т.е. по завершению одного процесса автоматически запускается другой (рис. 3).

рис. 3  Последовательный запуск workflow

2.      autoSendParentWFфункция автоматического перевода родительского процесса на следующий узел после выполнения всех дочерних workflow.

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

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

3.      autoReleaseфункция выполняет автоматическое изменение состояния жизненного цикла прикрепленных к процессу объектов.

Например, по завершению процесса согласования требуется выпустить новую версию объекта.

Использование функции autoRelease позволяет выполнять автоматическое отслеживание статуса процесса и, при необходимости, выполнять изменения состояния жизненного цикла объекта (без использования функции за состоянием процесса согласования следит сам разработчик).

4.      checkAttributesс помощью данной функции реализовано логическое ветвление Workflow для нелинейных процессов. Функция осуществляет переход на тот или иной узел в зависимости от текущего значения атрибутов процесса (рис. 4).

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

 

рис. 4 Логическое ветвление workflow

 

5.      setUserOnNodeфункция назначения исполнителей на узлы процесса с профильных карт workflow-диаграмм.

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

Заключение

Разработчики PLM-систем предлагают типовые шаблонные решения для управления жизненным циклом изделий на предприятии. Но каждое предприятие, даже одной предметной области, имеет уникальную организационную структуру и процессы. Поэтому для использования предлагаемых решений на конкретном предприятии требуется адаптировать систему, в том числе и модуль workflow.

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

Литература

1.  Каленкович Н.И. Радиоэлектронная аппаратура и основы её конструкторского проектирования. Учебно-методическое пособие / Н.И. Каленкович [и др. ]. – Минск: БГУИР, 2008 г.

2.  Попов В.Н., Касьянов В.С., Савченко И.П. Системный анализ в менеджменте: уч. пособие. – М., Эксмо, 2007 г.

3.  Sterman J. Misperceptions of Feedback in Dynamic Decision Making // Organizational Behavior and Human Decision Processes, 1989

4.  Brehmer B. Dynamic decision making: Human control of complex systems // Acta Psychologica, 1992

5.  Каталевский Д.Ю. Основы имитационного моделирования и системного анализа в управлении: Учебное пособие. – М.: Издательство Московского университета, 2011 г.

6.  Форрестер Дж. Основы кибернетики предприятия (индустриальная динамика) / под ред. Д.М. Гвишиани. М.: Прогресс, 1971 г.

7.  Отчет об ОКР «Разработка единого информационного пространства проектирования и испытаний унифицированных электронных модулей систем управления и электропитания космического аппарата на основе технологий управления жизненным циклом наукоёмких изделий» (договор № 4232 от 24.11.2010), этап 2 «Разработка предварительных проектных решений единого информационного пространства»

8.  Теория и практика моделирования сложных систем: Учебное пособие: Афанасьева О.В., Голик Е.С., Первухин Д.А., 2005 г.

9.  Киселёва М.В. Имитационное моделирование систем в среде AnyLogic: учебно-методическое пособие / М.В. Киселёва. Екатеринбург: УГТУ – УПИ, 2009 г.