До питання автоматизації проектування робочих процесів на основі алгеброалгоритмічного та онтологічного інструментарію
Представлено концепцію системи для автоматизації проектування робочих процесів на основі алгебро-алгоритмічного та онтологічного інструментарію. Проведено аналіз існуючих підходів та запропоновано архітектуру системи. Роботу системи проілюстровано на прикладі розробки робочого процесу для аналізу ве...
Saved in:
| Published in: | Проблеми програмування |
|---|---|
| Date: | 2019 |
| Main Author: | |
| Format: | Article |
| Language: | Ukrainian |
| Published: |
Інститут програмних систем НАН України
2019
|
| Subjects: | |
| Online Access: | https://nasplib.isofts.kiev.ua/handle/123456789/150920 |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Journal Title: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Cite this: | До питання автоматизації проектування робочих процесів на основі алгеброалгоритмічного та онтологічного інструментарію / О.М. Овдій // Проблеми програмування. — 2019. — № 1. — С. 37-47. — Бібліогр.: 24 назв. — укр. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraine| _version_ | 1860010814222630912 |
|---|---|
| author | Овдій, О.М. |
| author_facet | Овдій, О.М. |
| citation_txt | До питання автоматизації проектування робочих процесів на основі алгеброалгоритмічного та онтологічного інструментарію / О.М. Овдій // Проблеми програмування. — 2019. — № 1. — С. 37-47. — Бібліогр.: 24 назв. — укр. |
| collection | DSpace DC |
| container_title | Проблеми програмування |
| description | Представлено концепцію системи для автоматизації проектування робочих процесів на основі алгебро-алгоритмічного та онтологічного інструментарію. Проведено аналіз існуючих підходів та запропоновано архітектуру системи. Роботу системи проілюстровано на прикладі розробки робочого процесу для аналізу великих обсягів даних на розподіленій платформі Apache Hadoop. Показано, що поєднання інструментів онтологій та алгебро-алгоритмічних інструментів забезпечує значний потенціал для адаптації, оптимізації, інтеграції та модифікації. Результати кількісної оцінки ефективності запропонованих засобів свідчать про те, що вони здатні сприяти істотному підвищенню продуктивності розробки і зменшенню трудовитрат.
В статье представлена концепция системы для автоматизации проектирования рабочих процессов на основе алгебро-алгоритмического и онтологического инструментария. Разработанная ранее прикладная онтология для проектирования программ была расширена новыми концепциями, относящимися к проектированию рабочих процессов. Проведен анализ существующих подходов и предложена архитектура системы. Работу системы проиллюстрировано на примере разработки рабочего процесса Apache Oozie для анализа больших объемов данных на распределенной платформе Apache Hadoop. Показано, что сочетание инструментов онтологий и алгебро алгоритмических инструментов обеспечивает значительный потенциал для адаптации, оптимизации, интеграции и модификации. Кроме того, обеспечиваемый данными инструментами высокий уровень абстракции облегчает понимание проектируемых рабочих процессов как людьми, так и программными агентами, упрощая совместную работу и способствуя распространению знаний. Результаты количественной оценки эффективности предложенных средств свидетельствуют о том, что они могут способствовать существенному повышению производительности разработки и уменьшению трудозатрат.
The article presents the concept of a system for automated workflow design based on algebra-algorithmic and ontological tools. The previously developed applied ontology for program design has been expanded with new concepts related to the workflow design. The existing approaches are analysed and architecture for system that under development is proposed. The work of the system is illustrated by the example of the development of the Apache Oozie workflow for analyzing large amounts of data on the distributed Apache Hadoop platform. It is shown that the combination of ontology and algebra-algorithmic tools provides significant potential for adaptation, optimization, integration and modification. In addition, the high level of abstraction provided by these tools facilitates the understanding of the designed workflows by both people and software agents, simplifying teamwork, workflow sharing and reuse. The results of a quantitative assessment of the proposed tools indicate that they can contribute to a significant increase in development productivity and reduce labor costs.
|
| first_indexed | 2025-12-07T16:41:43Z |
| format | Article |
| fulltext |
Інструментальні засоби та середовища програмування
© О.М. Овдій, 2019
ISSN 1727-4907. Проблеми програмування. 2019. № 1 37
УДК 004.4'2 https://doi.org/10.15407/pp2019.01.037
О.М. Овдій
ДО ПИТАННЯ АВТОМАТИЗАЦІЇ ПРОЕКТУВАННЯ
РОБОЧИХ ПРОЦЕСІВ НА ОСНОВІ
АЛГЕБРО-АЛГОРИТМІЧНОГО ТА ОНТОЛОГІЧНОГО
ІНСТРУМЕНТАРІЮ
Представлено концепцію системи для автоматизації проектування робочих процесів на основі алгеб-
ро-алгоритмічного та онтологічного інструментарію. Проведено аналіз існуючих підходів та запро-
поновано архітектуру системи. Роботу системи проілюстровано на прикладі розробки робочого про-
цесу для аналізу великих обсягів даних на розподіленій платформі Apache Hadoop. Показано, що по-
єднання інструментів онтологій та алгебро-алгоритмічних інструментів забезпечує значний потенці-
ал для адаптації, оптимізації, інтеграції та модифікації. Результати кількісної оцінки ефективності
запропонованих засобів свідчать про те, що вони здатні сприяти істотному підвищенню продуктив-
ності розробки і зменшенню трудовитрат.
Ключові слова: робочі процеси, онтологія, алгебра алгоритмів, проектування і синтез програм, роз-
поділені обчислення.
Вступ
В останні роки активно розвива-
ються та розповсюджуються розподілені
обчислювальні платформи. Зокрема це
пов’язано з величезною кількістю цифро-
вих даних, які потребують обробки і обсяг
цих даних стрімко зростає з кожним днем.
Поряд з цим, із зростом можливостей зро-
стає і складність систем, а відповідно
складність розробки програм для них. Су-
часні програмні системи зазвичай є ком-
плексними та складаються з різнорідних
сервісів, що реалізовані на базі різних тех-
нологій, різними мовами програмування та
розподілені у мережі. Крім того програми
функціонують у гетерогенному середови-
щі, що швидко еволюціонує, інфраструк-
тура змінюється, сервіси з’являються, змі-
нюються та зникають. Одним з інструмен-
тів для спрощення проектування та підт-
римки таких програмних систем є робочі
процеси (workflow) та системи керування
ними. Формальна концепція робочого
процесу існує вже протягом тривалого ча-
су. Згідно з визначенням Workflow
Management Coalition (WfMC) [1] робочий
процес це автоматизація бізнес-процесу,
цілком або частково, протягом якого до-
кументи, інформація або завдання переда-
ються від одного учасника до іншого для
дії, згідно з набором процедурних правил.
У відношенні до розподілених обчислюва-
льних платформ робочі процеси можна
визначити як оркестрацію набору дій для
досягнення більшої і складнішої мети [2].
Сьогодні системи керування робочими
процесами широко використовуються як у
бізнесі, так і у науковому секторі. Робочі
процеси застосовуються в багатьох науко-
вих дисциплінах, часто використовуючи
великі за обсягом та різноманітні ресурси
даних, а також паралельні та розподілені
обчислювальні платформи. Робочі процеси
забезпечують систематичний спосіб опису
необхідних методів та інтерфейс між фахі-
вцями та обчислювальним середовищем.
Завдяки різкому збільшенню обсягів пер-
винних даних робочі процеси відіграють
все більш важливу роль, дозволяючи нау-
ковцям формулювати методи обробки та
аналізу даних з різних джерел на широко-
му спектрі обчислювальних платформ.
Наукова діяльності є дослідницькою за
своїм характером і часто виконується ме-
тодом "проб і помилок" а це потребує ще
більшої адаптації. Крім того предметні
експерти та науковці зазвичай не є профе-
сійними програмістами і їм потрібні ін-
струменти, якими вони зможуть з легкістю
користуватися. В зв’язку з цим виникає
необхідність створення спеціальних висо-
корівневих засобів проектування робочих
процесів.
http://dx.doi.org/10.7124/bc.000027
Інструментальні засоби та середовища програмування
38
У даній роботі запропоновано кон-
цепцію системи для автоматизації проек-
тування робочих процесів на основі алгеб-
ро-алгоритмічного та онтологічного ін-
струментарію ОКРП. Дана система є по-
дальшим розвитком методологій та ін-
струментів, що ґрунтуються на засобах
високорівневої алгебро-алгоритмічної фо-
рмалізації і автоматизації перетворень
програм [2–10]. Зокрема експерименталь-
ної інструментальної системи ІПС для
конструювання та оптимізації паралельних
програм, а також її онлайн версії системи
ОДСП.
Основна відмінність інструмента-
рію ОКРП у порівнянні з попередніми сис-
темами полягає в орієнтації на проекту-
вання робочих процесів та зберігання роз-
роблюваних робочих процесів як екземп-
лярів онтології у форматі OWL [11].
1. Підхід до проектування робочих
процесів на основі онтологій
і засобів алгебри алгоритмів
Одним з перспективних напрямів у
розробці та дослідженні систем паралель-
них і розподілених обчислень нині є побу-
дова програмних абстракцій у вигляді ал-
гебро-алгоритмічних мов і моделей. У ро-
ботах [2–10] запропоновані теорія, мето-
дологія та інструментарій для автоматизо-
ваного проектування паралельних про-
грам, що ґрунтуються на засобах високорі-
вневої алгебро-алгоритмічної формалізації
та автоматизації перетворень програм.
Наразі розроблено кілька алгорит-
мічних алгебр, найвідомішими з яких є
алгебра Дейкстри, алгебра схем Янова та
алгоритміка програм, досліджена у працях
В.М. Глушкова та його учнів. Використан-
ня систем алгоритмічних алгебр (САА)
В.М. Глушкова надає потужні можливості
для розвитку архітектурно- і мовно-
незалежних засобів програмування для
розподілених обчислювальних систем і
мереж.
Представлення алгоритмів алгебро-
алгоритмічними засобами дозволяє авто-
матизовано їх перетворювати та оптимізу-
вати, а крім того представляти алгоритми у
природно-лінгвістичній формі, що є більш
зрозумілою.
Онтологічні засоби, в свою чергу,
представляють знання семантично, забез-
печують необхідний рівень абстракції,
сприяють їх поширенню та полегшують
інтеграцію з іншими системами.
Онтологія [12], яка спочатку була
введена в ІТ як засіб забезпечення семан-
тики в Semantic Web, нині широко засто-
совується для забезпечення семантики та
механізмів комунікації, та структурування
знань у різноманітних галузях ІТ, бізнесу
та багатьох інших сферах людської діяль-
ності. Онтології нині застосовуються фак-
тично на всіх етапах життєвого циклу про-
грамного забезпечення [13]. Зокрема онто-
логії застосовуються для вимог інженерії,
представлення об’єктної моделі домену,
документування коду, опису бізнес-
правил, тестування та ін.
Онтології можуть:
- додати необхідний рівень абст-
ракції, що спростить перетворення та ада-
птацію алгоритмів;
- посприяти структуруванню
знань;
- забезпечити механізм комуніка-
ції та інтеграції.
Аналіз існуючих онтологічних під-
ходів до інженерії програмного забезпе-
чення, а зокрема робочих процесів виявив
відсутність загальноприйнятих стандартів.
В рамках роботи проаналізовано такі он-
тології як OWL-WS [14], SciFlow [15],
WDO-It [16] та ін. В ході аналізу виявлено
недоліки існуючих підходів:
- недостатній рівень абстракції;
- вузька спеціалізація на конкрет-
ному домені;
- спроба забезпечити високий рі-
вень абстракції, поряд з наслідуванням
спеціалізованих онтологій, що були розро-
блені для інших цілей.
У зв'язку з переліченими вище не-
доліками у даній роботі замість викорис-
тання існуючих онтологій було вирішено
розроблену раніше прикладну онтологію
для проектування програм [10] розширити
для проектування робочих процесів. З ме-
тою подальшого розвитку інструментарію
та для збільшення переліку підтримуваних
платформ онтологія побудована з належ-
ним рівнем абстракції. Як інструменталь-
Інструментальні засоби та середовища програмування
39
ний засіб розробки онтології обрана сис-
тема Protégé [17], та використано мову
опису онтологій OWL (Web Ontology
Language) [11].
На рис. 1 показано фрагмент ієрар-
хії концептів розробленої онтології. Вуз-
лами графу є концепти, а дугами відно-
шення наслідування між ними.
Підкласи класу Data представляють
різні структури даних. Клас Construction
відображає типи конструкцій: атомарні
(AtomicConstruction) та складні (Com-
poundConstruction). Поняття складної
конструкції відповідає поняттю вкладено-
го робочого процесу. Клас Operation відо-
бражає типи операції САА: оператори та
предикати. Операції можуть бути базис-
ними (BasicOperation) або складними
(CompoundOperation). Класи Construction
Рис. 1. Фрагмент ієрархії концептів онтології проектування робочих процесів
Інструментальні засоби та середовища програмування
40
мають властивість isOperation, що ставить
їм відповідний клас Operation для того щоб
зв’язати конструкції робочого процесу з
відповідними типами операцій в САА.
Клас Platform представляє підтримувані
платформи та мови. ActionType – визначає
тип дії робочого процесу, а саме може вона
мати і вхідні і вихідні зв’язки, або тільки
вхідні чи вихідні. Клас Notation представляє
типи нотацій: алгебраїчну (Algebraic-
Notation), природньо-лінгвістичну (SAANo-
tation) та мовою програмування (Code-
Notation). Клас Process призначений для спе-
цифікації алгоритмів, зокрема робочих про-
цесів.
Включення семантики до специфіка-
ції робочого процесу дозволяє відокремлю-
вати абстрактну специфікацію від фактичної
реалізації, роблячи можливим переніс робо-
чого процесу з однієї платформи керування
робочими процесами на іншу та спрощує
адаптацію до змін у середовищі виконання.
Крім того, у зв’язку з специфікою наукових
досліджень, наукові робочі процеси часто
модифікуються та повторно використову-
ються.
З рухом у напрямку відкритої науки,
виникає потреба зробити робочі процеси
доступними не тільки їх авторам, а й іншим
зацікавленим сторонам з різним рівнем під-
готовки від аматорів до професіоналів. Ви-
користання інструментів онтологій робити
робочий процес більш зрозумілим для інших
людей та програмних агентів.
В свою чергу, використання інстру-
ментів алгебри алгоритмів теж сприяє під-
вищенню рівня абстракції та підтримці гну-
чкості та платформо-незалежності. Окрім
того дозволяє автоматизувати перетворення
та оптимізацію робочих процесів.
Таким чином поєднання інструмен-
тів онтологій та алгебро-алгоритмічних
інструментів забезпечує значний потенціал
для адаптації, оптимізації, інтеграції та
модифікації розроблюваних робочих про-
цесів.
2. Онлайновий конструктор
робочих процесів
В даній роботі представлено концеп-
цію системи для автоматизації проектування
робочих процесів на основі алгебро-алгори-
тмічного та онтологічного інструментарію:
онлайновий конструктор робочих процесів
(ОКРП).
Розробка даного інструменту була
викликана необхідністю у подальшому роз-
витку інструментів автоматизованого проек-
тування програм для підтримки проектуван-
ня алгоритмів, що кодуються не звичайними
мовами програмування, а визначаюся, на-
приклад, XML-специфікацією або спеціалі-
зованими мовами програмування, зокрема
робочих процесів.
В розроблюваній системі ОКРП, ал-
горитми робочих процесів представлені у
графічній, онтологічній, аналітичній та при-
родньо-лінгвістичній формах. Представлен-
ня алгоритму у аналітичній формі дозволяє
виконувати перетворення, що може знадоби-
тися для пристосування до змін у платформі
або оптимізації. Графічна та природньо-
лінгвістична форми роблять процес проекту-
вання алгоритмів зручним для людини, що
полегшує досягнення необхідної якості про-
грам, підвищує продуктивність та дозволяє
уникати синтаксичних помилок. Онтологіч-
не представлення та зберігання алгоритмів
семантично їх збагачує, сприяє структуру-
ванню знань та забезпечує механізм комуні-
кації та інтеграції.
Основні особливості ОКРП:
- орієнтація на конструювання ал-
горитмів для робочих процесів та спеціалі-
зованих мов програмування;
- графічний конструктор алгори-
тмів робочих процесів;
- форми представлення алгорит-
мів:
o графічна,
o аналітична,
o природно-лінгвістична;
- зберігання розроблюваних алго-
ритмів як екземплярів онтології у форматі
OWL.
Автоматизована система ОКРП є он-
лайновим сервісом, що призначений для
проектування та генерації описів робочих
процесів на основі високорівневих специфі-
кацій алгоритмів. Система спрямована за-
безпечувати побудову робочих процесів у
режимі порівневого конструювання та гене-
рацію їх специфікації.
ОКРП ґрунтується на використанні
розглянутих засобів САА-М та онтологій.
Інструментальні засоби та середовища програмування
41
Графічний інтерфейс діалогового конструк-
тора орієнтований на зручність та легкість
конструювання та виключення можливості
появи синтаксичних помилок у процесі по-
будови алгоритму. Система базується на
сервісно-орієнтованій архітектурі та спрямо-
вана на багатокористувальницьке викорис-
тання інструментарію через мережу Інтер-
нет. Розробка ведеться мовою Java.
Розроблювана автоматизована систе-
ма ОКРП складається з компонентів, показа-
них на рис. 2.
Рис. 2. Архітектура системи проектування робочих процесів
|
| id | nasplib_isofts_kiev_ua-123456789-150920 |
| institution | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| issn | 1727-4907 |
| language | Ukrainian |
| last_indexed | 2025-12-07T16:41:43Z |
| publishDate | 2019 |
| publisher | Інститут програмних систем НАН України |
| record_format | dspace |
| spelling | Овдій, О.М. 2019-04-18T20:36:27Z 2019-04-18T20:36:27Z 2019 До питання автоматизації проектування робочих процесів на основі алгеброалгоритмічного та онтологічного інструментарію / О.М. Овдій // Проблеми програмування. — 2019. — № 1. — С. 37-47. — Бібліогр.: 24 назв. — укр. 1727-4907 DOI: https://doi.org/10.15407/pp2019.01.037 https://nasplib.isofts.kiev.ua/handle/123456789/150920 004.4'2 Представлено концепцію системи для автоматизації проектування робочих процесів на основі алгебро-алгоритмічного та онтологічного інструментарію. Проведено аналіз існуючих підходів та запропоновано архітектуру системи. Роботу системи проілюстровано на прикладі розробки робочого процесу для аналізу великих обсягів даних на розподіленій платформі Apache Hadoop. Показано, що поєднання інструментів онтологій та алгебро-алгоритмічних інструментів забезпечує значний потенціал для адаптації, оптимізації, інтеграції та модифікації. Результати кількісної оцінки ефективності запропонованих засобів свідчать про те, що вони здатні сприяти істотному підвищенню продуктивності розробки і зменшенню трудовитрат. В статье представлена концепция системы для автоматизации проектирования рабочих процессов на основе алгебро-алгоритмического и онтологического инструментария. Разработанная ранее прикладная онтология для проектирования программ была расширена новыми концепциями, относящимися к проектированию рабочих процессов. Проведен анализ существующих подходов и предложена архитектура системы. Работу системы проиллюстрировано на примере разработки рабочего процесса Apache Oozie для анализа больших объемов данных на распределенной платформе Apache Hadoop. Показано, что сочетание инструментов онтологий и алгебро алгоритмических инструментов обеспечивает значительный потенциал для адаптации, оптимизации, интеграции и модификации. Кроме того, обеспечиваемый данными инструментами высокий уровень абстракции облегчает понимание проектируемых рабочих процессов как людьми, так и программными агентами, упрощая совместную работу и способствуя распространению знаний. Результаты количественной оценки эффективности предложенных средств свидетельствуют о том, что они могут способствовать существенному повышению производительности разработки и уменьшению трудозатрат. The article presents the concept of a system for automated workflow design based on algebra-algorithmic and ontological tools. The previously developed applied ontology for program design has been expanded with new concepts related to the workflow design. The existing approaches are analysed and architecture for system that under development is proposed. The work of the system is illustrated by the example of the development of the Apache Oozie workflow for analyzing large amounts of data on the distributed Apache Hadoop platform. It is shown that the combination of ontology and algebra-algorithmic tools provides significant potential for adaptation, optimization, integration and modification. In addition, the high level of abstraction provided by these tools facilitates the understanding of the designed workflows by both people and software agents, simplifying teamwork, workflow sharing and reuse. The results of a quantitative assessment of the proposed tools indicate that they can contribute to a significant increase in development productivity and reduce labor costs. uk Інститут програмних систем НАН України Проблеми програмування Інструментальні засоби і середовища програмування До питання автоматизації проектування робочих процесів на основі алгеброалгоритмічного та онтологічного інструментарію К вопросу автоматизации проекти-рования рабочих процессов на основе алгебро-алгоритмического и онтологического инструментария On the issue of automating the workflow design based on algebraalgorithmic and ontological tools Article published earlier |
| spellingShingle | До питання автоматизації проектування робочих процесів на основі алгеброалгоритмічного та онтологічного інструментарію Овдій, О.М. Інструментальні засоби і середовища програмування |
| title | До питання автоматизації проектування робочих процесів на основі алгеброалгоритмічного та онтологічного інструментарію |
| title_alt | К вопросу автоматизации проекти-рования рабочих процессов на основе алгебро-алгоритмического и онтологического инструментария On the issue of automating the workflow design based on algebraalgorithmic and ontological tools |
| title_full | До питання автоматизації проектування робочих процесів на основі алгеброалгоритмічного та онтологічного інструментарію |
| title_fullStr | До питання автоматизації проектування робочих процесів на основі алгеброалгоритмічного та онтологічного інструментарію |
| title_full_unstemmed | До питання автоматизації проектування робочих процесів на основі алгеброалгоритмічного та онтологічного інструментарію |
| title_short | До питання автоматизації проектування робочих процесів на основі алгеброалгоритмічного та онтологічного інструментарію |
| title_sort | до питання автоматизації проектування робочих процесів на основі алгеброалгоритмічного та онтологічного інструментарію |
| topic | Інструментальні засоби і середовища програмування |
| topic_facet | Інструментальні засоби і середовища програмування |
| url | https://nasplib.isofts.kiev.ua/handle/123456789/150920 |
| work_keys_str_mv | AT ovdíiom dopitannâavtomatizacííproektuvannârobočihprocesívnaosnovíalgebroalgoritmíčnogotaontologíčnogoínstrumentaríû AT ovdíiom kvoprosuavtomatizaciiproektirovaniârabočihprocessovnaosnovealgebroalgoritmičeskogoiontologičeskogoinstrumentariâ AT ovdíiom ontheissueofautomatingtheworkflowdesignbasedonalgebraalgorithmicandontologicaltools |