Формирование универсальных объектов конвертера «ToADConverter» из XML-файла экспорта IDEF3-диаграмм

Г. Н. Хубаев, С. Н. Широбокова

ФОРМИРОВАНИЕ УНИВЕРСАЛЬНЫХ ОБЪЕКТОВ КОНВЕРТЕРА «TOADCONVERTER» ИЗ XML-ФАЙЛА ЭКСПОРТА IDEF3-ДИАГРАММ1

Аннотация

В статье рассматриваются процедуры формирования универсальных объектов конвертера «TOADCONVERTER» из XML-файла экспорта IDEF3-диаграмм, выполнен синтаксический анализ XML-файла, представлены примеры преобразования IDEF3-моделей в UML-диаграммы деятельности, показана возможность совместного использования IDEF0- и IDEF3-моделей при реинжиниринге деловых процессов.

Ключевые слова

Синтаксический анализ XML-файла, преобразования IDEF3-моделей в UML-диаграммы деятельности, совместное использование IDEF0- и IDEF3-моделей, реинжиниринг деловых процессов.

G. N. Chubaev, S. N. Shirobokova

FORMATION OF UNIVERSAL OBJECTS OF «TOADCONVERTER» FROM XML-FILE OF EXPORT IDEF3-DIAGRAMM

Annotation

In article discusses the procedure of constructing the universal objects Converter «TOADCONVERTER» from XML export file IDEF3 diagrams, made the parsing of XML file, examples of conversion of IDEF3 models in UML activity diagrams, the possibility of a combined use of IDEF0 and IDEF3 models in the reengineering of business processes.

Keywords

Parsing XML file conversion IDEF3 models in UML activity diagrams, joint use of IDEF0 and IDEF3 models, reengineering of business processes.

1 Статья подготовлена по результатам исследований, выполненных при поддержке Российского фонда фундаментальных исследований (РФФИ), проект 15-01-06324/15 «Моделирование производственных и управленческих процессов для экспресс-оценки и оптимизации ресурсоемко-сти товаров и услуг: формирование универсального методического и инструментального обеспечения».

2016 № 1

Постановка задачи. В [1] авторами предложена концептуальная идея Автоматизированного конвертора моделей IDEF0 в UML-диаграммы (далее — Конвертер), которая затем нашла отражение в разработанном впервые в мире Конвертере [2-4]. Однако вопрос о конвертировании диаграмм не только стандарта IDEF0, но и IDEF3, DFD в UML-диаграммы для обеспечения возможности автоматизированного синтеза имитационной модели делового процесса (например, с использованием Конструктора [5]) остается актуальным. В этом случае трудозатраты на построение имитационной модели любого делового процесса снижаются в десятки раз. Однако используемый ранее в BPWin формат файла экспорта IDL позволял экспортировать диаграммы декомпозиции лишь в стандарте IDEF0. Модели же реальных процессов очень часто дополняются диаграммами DFD и IDEF3. Такая смешанная модель, три ракурса, позволяет использовать и автоматически согласовывать самые популярные нотации моделирования бизнес-процессов, делает возможным комплексное описание предметной области.

Появившийся позднее пакет AllFusion Process Modeler 7 позволяет эффективно экспортировать смешанные модели в формате XML. При этом сохраняется информация обо всех диаграммах (IDEF0, IDEF3, DFD). В таком случае становится актуальной задача синтаксического анализа XML-файла с выгруженной смешанной моделью для формирования универсальных объектов, используемых далее в контексте Конвертера [2].

Предлагаемая процедура синтаксического анализа XML-файла экспорта IDEF3-моделей. В процессе преобразования алгоритм, представленный в [6], должен существенно видоизмениться как в части формата входного файла, так и в части формата универсальных объектов. В пакете AllFusion

Process Modeler 7 для определения объектов и их атрибутов используются теги расширяемого языка разметки XML. При этом, хотя AllFusion Process Modeler 7 позволяет настраивать фильтр свойств и объектов, выбираемых для экспорта, алгоритм синтаксического разбора необходимо ориентировать на обработку полного варианта выгрузки в XML всех свойств и объектов. Изменится также алгоритм синтаксического разбора IDEFO-диаграмм, поскольку в XML-формате информация об элементах модели хранится в виде тегов расширяемого языка разметки XML.

Результатом преобразований из XML-файла экспорта являются объекты, описывающие все элементы модели с учетом иерархии диаграмм декомпозиций. Конвертер [2] реализован для моделей IDEF0, но поскольку часто на уровне контекстной диаграммы используется тип диаграммы IDEF0, а затем на уровнях диаграмм декомпозиции осуществляется дополнение диаграммами IDEF3 или DFD, объект модели TIdefO можно, не подвергая трансформации, использовать не только для IDEF0-моделей, но и для смешанных моделей. При этом в объекты TdiagramContext (объект контекстной диаграммы) и TDiagram (объект диаграммы декомпозиции) необходимо добавить параметр type_diagramm — тип диаграммы (IDEF0, IDEF3, DFD).

Кроме того, формат универсальных объектов, представленный в [6], рассчитан только на объекты IDEF0. Появление в смешанных моделях также диаграмм IDEF3, DFD требует хранения информации о дополнительных объектах, например, перекрестках разных типов и ссылочных объектах, используемых в IDEF3, внешних сущностях и хранилищах данных, используемых в DFD-диаграммах.

Примерная структура для двух новых объектов диаграмм IDEF3 приведена в таблице 1.

Таблица 1 — Примерная структура для двух новых объектов диаграмм IDEF3

Параметр Назначение

TJunction

y1 координаты нижнего левого угла блока, отображающего перекресток

y2 координаты верхнего правого угла блока, отображающего перекресток

junBoxType тип перекрестка

TReferent

name наименование работы

x1, y1 координаты нижнего левого угла блока, отображающего перекресток

x2, y2 координаты верхнего правого угла блока, отображающего перекресток

На рисунке 1 представлен фрагмент диаграммы IDEF3 с описанием

блоков работ в ХМЬ-формате и в виде универсальных объектов.

Запрос счета

I

&

^Анализ сроков ^Формирование счета за проживание

пребывания

3 1 6 р 1

TBlock

name = «Запрос счета» x 1 = 45

y1 = 270 x2 = 145

y2 = 200

J1

счета за тел. переговоры

Формирование счета за услуги

Счет за тел. переговоры

Счет за услуги

Т Счет за

Vi

Счет за проживание

V

J2

Формирование итогового счета

I

TBlock

XML-файл

<РМАс1:г^11у_Огоир8>

<PMActivity 1а="{0880РС08-С421-45А8-9749-08СА0060566В}+00000000"-< — Маше="Запрос счета"><PMActivityProps> <Ыаше>Запрос счета</Ыате>. ..</PMActivityProps> </PMActivity>

<PMActivity id="{D87172BA-C534-4554-A195-93AE1B88BF44}+00000000" --

Ыате=" Формирование счета за услуги"><PMActivityProps> <Маше> Формирование счета за услуги </Ыаше> ... </PMActivityProps> </PMActivity>

</PMActivity_Groups>

. <PMDiagramProps>.

<PMDiagram_Groups> . <PMDiagram id=... "> . <PMBox_Groups>...

<PMBox id=" {2F222E4E-505C-4F69-A1E5-7BECBF76C4A7}+00000000" Name=""> <PMBoxProps>

<PMBoxCoordinates member_name="left">45</PMBoxCoordinates> <PMBoxCoordinates member_name="top">200</PMBoxCoordinates> <PMBoxCoordinates member_name="right">145</PMBoxCoordinates> <PMBoxCoordinates member_name="bottom">270</PMBoxCoordinates>

<PMActivityRef>{D880FC08-C421-45A8-9749-D8CA0060566B}+00000000--

</PMActivityRef>. </PMBoxProps></PMBox>

<PMBox id="{17AD203C-6178-44A7-842C-7DC534717ADC}+00000000" Name=""> <PMBoxProps>

<PMBoxCoordinates member_name="left">305</PMBoxCoordinates> <PMBoxCoordinates member_name="top">310</PMBoxCoordinates> <PMBoxCoordinates member_name="right">405</PMBoxCoordinates> <PMBoxCoordinates member_name="bottom">380</PMBBoxCoordinates>

<PMActivityRef>{D87172BA-C534-4554-A195-93AE1B88BF44}+00000000 ---

</PMActivityRef>. ..</PMBoxProps></PMBox> ... </PMBox_Groups>... ... </PMDiagram></PMDiagram_Groups>

Рисунок 1 — Фрагмент диаграммы IDEF3 с описанием блоков работ в XML-формате и в виде универсальных объектов

2

7

4

5

На рисунке 2 представлен фрагмент диаграммы IDEF3 с описанием пе-

рекрестков в XML-формате и в виде универсальных объектов.

Запрос счета

I

^Анализ сроков пребывания ^Формирование счета за проживание

3 1 6 Г 1

Счет за I проживание

-ЯШ-*

^Формирование счета за тел. переговоры

4

Формирование счета за услуги

5

Счет за тел. переговоры

Счет за услуги

t

TJunction

XML-файл

name = "" num=1 x1 = 185 y1 = 260 x2 = 225 y2 = 220

JunBoxType= «Junction Box AND Asynchronous»

J2

Формирование итогового счета

TJunction

name = "" num=2 x1 = 610 y1 = 260 x2 = 650 y2 = 220 JunBoxType= «Junction Box AND Asynchronous»

<PMJunction_Group s>

<PMJunction id="{A2E6E5B7-7381-4ECD-935C-507090CADE0F}+00000000" Name=""><---

<PMJunctionProps><Name></Name>... <PMBoxType>7</PMBoxType>

<PMJunctionBoxTypeString>Junction Box AND Asynchronous</PMJunctionBoxTypeString> <PMJunctionBoxNumber> 1 </PMJunctionBoxNumber> </PMJunctionProps></PMJunction>

<PMJunction id="{99F02714-C513-4BC9-B96F-2E4181ECC490}+00000000" Name=""> <--n

<PMJunctionProps><Name></Name> . <PMBoxType>7</PMBoxType>

<PMJunctionBoxTypeString>Junction Box AND Asynchronous</PMJunctionBoxTypeString> <PMJunctionBoxNumber>2</PMJunctionBoxNumber> </PMJunctionProps></PMJunction> </PMJunction_Group s> <PMDiagram_Group s>

<PMDiagram id=. "> ...<PMDiagramProps>... <PMBox_Groups>

<PMBox id=" {39F261C2-2FD9-4821-ABD4-E23A963 3AC1A} +00000000" Name=" "><PMBoxProps>

<PMBoxCoordinates member_name="left">185</PMBoxCoordinates> <PMBoxCoordinates member_name="top">220</PMBoxCoordinates> <PMBoxCoordinates member_name="right">225</PMBoxCoordinates> <PMBoxCoordinates member_name="bottom">260</PMBoxCoordinates>

<PMActivityRef>{A2E6E5B7-7381-4ECD-935C-507090CADE0F}+00000000</PMActivityRef> <PMUowIdNumber>2</PMUowIdNumber>...</PMBoxProps></PMBox>

<PMBox id="{02195196-9B70-4C0C-9A9F-370EF5A33119}+00000000" Name=""><PMBoxProps> <PMBoxCoordinates member_name="left">610</PMBoxCoordinates> <PMBoxCoordinates member_name="top">220</PMBoxCoordinates> <PMBoxCoordinates member_name="right">650</PMBoxCoordinates> <PMBoxCoordinates member_name="bottom">260</PMBoxCoordinates> <PMActivityRef> {99F02714-C513-4BC9-B96F-2E4181ECC490} +00000000</PMActivityRef> — J <PMUowIdNumber>3</PMUowIdNumber>...</PMBoxProps></PMBox> </PMBox_Groups>... </PMDiagram> </PMDiagram_Groups>

Рисунок 2 — Фрагмент диаграммы IDEF3 с описанием перекрестков в XML-формате и в виде универсальных объектов

2

7

На рисунке 3 представлен фрагмент диаграммы IDEF3 с описанием од-

ной из стрелок в XML-формате и в виде универсальных объектов.

Запрос счета

I

Анализ сроков пребывания

3

I

^Формирование счета за проживание

6

J1

^Формирование счета за тел. переговоры

4

I

Счет за проживание

XML-файл

^Формирование счета за услуги

5

I

Счет за тел. переговоры

Счет за услуги

I

А.

t

&

J2

<PMArrow_Groups>

<PMArrow id=" {C4404C29-0DEC-48F2-846F-A086B6B9C3C1}+00000000" <--

Каше="Счет за услуги"><PMArrowProps><Name>Счет за услуги</Ыаше>^ </PMArrowProp s></PMArrow> ... </PMArrow></PMArrow_Groups>

<PMDiagram_Groups> ... <PMDiagram id=... "> ...<PMDiagramProps>... <PMArrowLabel_Groups> ... <PMArrowLabel id="{0F20C02A-CF11-4A4F-AFEC-7676846B2438}+00000000" Name=""><PMArrowLabelProps> <PMTextBoundingBox member_name="left">517</PMTextBoundingBox> <PMTextBoundingBox member_name="top">307</PMTextBoundingBox> <PMTextBoundingBox member_name="right">607</PMTextBoundingBox> <PMTextBoundingBox member_name="bottom">324</PMTextBoundingBox>

<PMSegmentConnectPoint member_name="x">564</PMSegmentConnectPoint> <PMSegmentConnectPoint member_name="y">324</PMSegmentConnectPoint> <PMLabelConnectPoint member_name="x">465</PMLabelConnectPoint> <PMLabelConnectPoint member_name="y">365</PMLabelConnectPoint>

<PMArrowRef>{C4404C29-0DEC-48F2-846F-A086B6B9C3C1}+00000000 ---J

</PMArrowRef>. ..</PMArrowLabelProps>

<PMArrowSegment_Groups><PMArrowSegment id=" {F12115A0-A3AD-45F9-A9B5-

6A34321F0A5F }+00000000" Name=" "><PMArrowSegmentProps>

<PMVertices index="0">(405,365)</PMVertices>

<PMVertices index=" 1 ">(510,365)</PMVertices>

<PMVertices index="2">(0,1)</PMVertices>

<PMVertices index="3">(510,255)</PMVertices>

<PMVertices index="4">(0,2)</PMVertices>

<PMVertices index="5">(610,255)</PMVertices>

<PMVertices index="6">(0,1)</PMVertices>

<PMLabeledSegment>0</PMLabeledSegment>.

<PMSourceConnectionRef>{17AD203C-6178-44A7-842C-7DC534717ADC}+00000000</ PMSourceConnectionRef>

<PMSinkConnectionRef> {02195196-9B70-4C0C-9A9F-370EF5A33119} +00000000</ PMSinkConnectionRef>...</PMArrowSegmentProps></PMArrowSegment> </PMArrowSegment_Groups></PMArrowLabel> . </PMArrowLabel_Groups></PMDiagram></PMDiagram_Groups>

Формирование итогового счета

I

^ TArrow

name = «Счет за услуги» num = 8 name_x = 517 name_y = 324 source = BOX source_num = 5 source_func = O source_dest = 1 path_count = 4 path: array of TCoord sink = Junction sink_num = 2 sink_func = I sink dest = 3

TCoord

-->

x1 = 405

y1 = 365

x2 = 510

y2 = 365

x3 = 510

y3 = 255

x4 = 610

y4 = 255

2

7

Рисунок 3 — Фрагмент диаграммы IDEF3 с описанием стрелки в XML-формате и в виде универсальных объектов

В результате синтаксического анализа и разбора ХМЬ-файла экспорта не только моделей IDEF0, но и IDEF3 формируются универсальные объекты элементов модели, набор параметров

которых весьма удобен для дальнейшего программирования (в частности для Автоматизированного конвертора моделей IDEF0 и IDEF3 в ЦМЬ-диаграммы деятельности).

Процедуры преобразования ГОЕЕЗ-моделей в UML-диаграммы деятельности. При конвертировании ГОББЗ-моделей в иМЬ-диаграммы деятельности каждому типу перекрестков может быть сопоставлен графический элемент унифицированного языка моделирования UML. Покажем это на реальных примерах.

Рассмотрим перекресток «И». В IDEF3 существует 2 типа перекрестков «И» — слияния и разветвления (Рап-^ипСюп и Fan-outJunction) — и каждый

из перекрестков может быть синхронным или асинхронным (Asynchronous и Synchronous). В диаграммах UML этим типам перекрестков будет сопоставлены элементы «Развилка» и «Слияние» (рис. 4). При этом в диаграмме UML синхронность или асинхронность потоков не рассматривается. В случае разветвления несколько действий в параллельных ветках становятся активными. А в случае слияния дальнейшее после слияния действие произойдет только после того, как все пути достигнут исходного состояния.

Рисунок 4 — Преобразование перекрестков разветвления и слияния типа «И» диаграммы IDEF3 в элементы «Развилка» и «Слияние» языка иМЬ

Перекресток «Исключающее

ИЛИ» в IDEF3 также может использоваться для слияния или разветвления. В данном случае при конвертации в диа-

граммы UML эти перекрестки будут заменены элементами разветвления типа branch и слияния вида merge (рис. 5).

X

X

Рисунок 5 — Преобразование перекрестков разветвления и слияния типа «Исключающее ИЛИ» диаграммы IDEF3 в элементы разветвления типа branch и слияния вида merge языка UML

Рассмотрим пример преобразования диаграммы IDEF3 в UML-диаграмму деятельности. Процесс движения приказа о переводе сотрудника на другую работу: на рисунке 6 пред-

ставлена исходная модель IDEF3 (http://www.businessstudio.ru/images/c/do c2.gif), а на рисунке 7 — соответствующая UML-модель.

Замечания по документу

/ Корректировка проекта приказа

11.1.4 I

Подготовка проекта приказа (Управление

по работе с персоналом)

1.1.2 I

Х

про при

1.1.3

Х

Замечания по документу

Х

^ Согласование (Руководитель

Управления «старого» места работы сотрудника)

1.1.5 I

&

1.1.6 I

/ Согласование

1.1.7

^ Согласование (Руководитель

Управления «нового» места работы сотрудника)

&

Х

Подписание

пх

Рисунок 6 — ГОЕЕЗ-модель процесса движения приказа о переводе сотрудника

на другую работу

(У

?

Подготовка проекта приказа Л (Управление по работе с персоналом)^

Снализ проект^ч

приказа (Директор) У

Корректировка проекта приказа

Согласование \/Согласование (Руководитель^ /(Руководитель управленияу управления

«старого» места работы Л работы сотрудника) сотрудника)

Согласование

Т

^ Подписание

т

Рисунок 7 — иМЬ-модель «Движение приказа о переводе сотрудника

на другую работу»

ВЫВОДЫ. 1. Визуальные модели IDEF3, дополняя традиционное моделирование бизнес-процессов на базе стандарта IDEF0, широко используются при

реинжиниринге деловых процессов в различных предметных областях. Возможность совместного использования моделей IDEF0 и IDEF3 позволяет рас-

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

2. Продемонстрирована возможность преобразования IDEF3-моделей деловых процессов в UML-диаграммы. Интеграция с системой автоматизированного синтеза имитационных моделей СИМ-UML визуальных IDEF3-моделей, преобразованных в UML-диаграммы, представляет собой уникальный, исключительно полезный (с экономической точки зрения) инструмент, позволяющий в автоматизированном режиме, с минимальными затратами трудовых и финансовых ресурсов решать различные экономические и технико-технологические задачи.

Библиографический список

1. Хубаев, Г. Н., Широбокова, С. Н. Автоматизированный конвертор моделей IDEF0 в UML-диаграммы: концептуальная идея // Проблемы информатики в образовании, управлении, экономике и технике : сб. ст. VIII Всерос. науч.-тех. конф. (г. Пенза, 19-20 ноября 2008 г.). — Пенза : Приволжский дом знаний, 2008. — С. 102-108.

2. Хубаев, Г. Н. [и др.]. Автоматизированный конвертер моделей IDEF0 в диаграммы деятельности языка UML «ToADConverter» // Свидетельство о государственной регистрации программ для ЭВМ № 2009613137. — М. : РОСПАТЕНТ, 2009.

3. Хубаев, Г. Н. [и др.]. Конвертирование моделей IDEF0 в диаграммы языка UML: концепция, математическое описание и программная реализация : моногр. — Ростов н/Д, 2011. — Ч. 1 ; 2012. — Ч. 2.

4. Хубаев, Г. Н., Щербаков, С. М., Шибаев, А. А. Конструктор имитационных моделей деловых процессов // Свидетельство об официальной регистрации программы для ЭВМ. — № 2005612262. — М. : РОСПАТЕНТ, 2005.

5. Широбокова, С. H., Титаренко, Е. А., Ткаченко, Ю. В. Алгоритм модуля синтаксического разбора файла экспорта диаграмм IDEF0 для создания универсальных объектов // Компьютерные технологии в науке, производстве, социальных и экономических процессах : материалы IX Междунар. науч. -практ. конф. (г. ^вочеркасск, 17 ноября 2008 г.). — Швочеркасск : ЮРГТУ, 2008. — С. 112-119.

Bibliographic list

1. Khubaev, G. N., Shirobokov, S. N. Automated conversion of IDEF0 models into UML-diagrams: the concept // Problems of informatics in education, management, economics and technology : VIII Russian scientific-tech. conf. (Penza, November, 19-20, 2008). — Penza : Volga house of knowledge, 2008. — P. 102-108.

2. Khubaev, G. N. [etc.]. Automated converter models in IDEF0 activity diagrams UML «ToADConverter» // Certificate of state registration of computer programs № 2009613137. — M. : ROSPATENT, 2009.

3. Khubaev, G. N. [etc.]. Conversion of IDEF0 models in diagram language UML: concept, mathematical description and program implementation : monograph. — Rostov-on-Don, 2011. — P. 1 ; 2012. — P. 2.

4. Khubaev, G. N., Shcherbakov, S. M., Shibaev, A. A. Designer simulation models of business processes // Certificate of official registration of the computer. — № 2005б122б2. — M. : Rospatent, 2005.

5. Shirobokova, S. N., Titarenko, E. A., Tkachenko, Y. V. Algorithm module parsing file export IDEF0 diagrams for creating universal objects // Computer technology in science, business, social and economic processes : proceedings of IX International scientific and practical conference (Novocherkassk, November, 17, 2008). — Novocherkassk : SRSTU, 2008. — P.112-119.