On the issue of automating the workflow design based on algebra-algorithmic and ontological tools
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 arc...
Збережено в:
Дата: | 2019 |
---|---|
Автор: | |
Формат: | Стаття |
Мова: | Ukrainian |
Опубліковано: |
Інститут програмних систем НАН України
2019
|
Теми: | |
Онлайн доступ: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/347 |
Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
Назва журналу: | Problems in programming |
Репозитарії
Problems in programmingid |
pp_isofts_kiev_ua-article-347 |
---|---|
record_format |
ojs |
resource_txt_mv |
ppisoftskievua/43/df9a246f6fc98448ff725f2c02c58443.pdf |
spelling |
pp_isofts_kiev_ua-article-3472024-04-28T11:00:17Z On the issue of automating the workflow design based on algebra-algorithmic and ontological tools К вопросу автоматизации проекти-рования рабочих процессов на основе алгебро-алгоритмического и онтологического инструментария До питання автоматизації проектування робочих процесів на основі алгеброалгоритмічного та онтологічного інструментарію Ovdii, O.M. workflow; ontology; algebra of algorithms; program design and synthesis; distributed computin UDC 004.4'2 рабочие процессы; онтология; алгебра алгоритмов; проектирование и синтез программ; распределенные вычисления УДК 004.4'2 робочі процеси; онтологія; алгебра алгоритмів; проектування і синтез програм; розподілені обчислення УДК 004.4'2 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.Problems in programming 2019; 1: 37-47 В статье представлена концепция системы для автоматизации проектирования рабочих процессов на основе алгебро-алгоритмического и онтологического инструментария. Разработанная ранее прикладная онтология для проектирования программ была расширена новыми концепциями, относящимися к проектированию рабочих процессов. Проведен анализ существующих подходов и предложена архитектура системы. Работу системы проиллюстрировано на примере разработки рабочего процесса Apache Oozie для анализа больших объемов данных на распределенной платформе Apache Hadoop. Показано, что сочетание инструментов онтологий и алгебро алгоритмических инструментов обеспечивает значительный потенциал для адаптации, оптимизации, интеграции и модификации. Кроме того, обеспечиваемый данными инструментами высокий уровень абстракции облегчает понимание проектируемых рабочих процессов как людьми, так и программными агентами, упрощая совместную работу и способствуя распространению знаний. Результаты количественной оценки эффективности предложенных средств свидетельствуют о том, что они могут способствовать существенному повышению производительности разработки и уменьшению трудозатрат.Problems in programming 2019; 1: 37-47 Представлено концепцію системи для автоматизації проектування робочих процесів на основі алгебро-алгоритмічного та онтологічного інструментарію. Проведено аналіз існуючих підходів та запропоновано архітектуру системи. Роботу системи проілюстровано на прикладі розробки робочого процесу для аналізу великих обсягів даних на розподіленій платформі Apache Hadoop. Показано, що поєднання інструментів онтологій та алгебро-алгоритмічних інструментів забезпечує значний потенціал для адаптації, оптимізації, інтеграції та модифікації. Результати кількісної оцінки ефективності запропонованих засобів свідчать про те, що вони здатні сприяти істотному підвищенню продуктивності розробки і зменшенню трудовитрат.Problems in programming 2019; 1: 37-47 Інститут програмних систем НАН України 2019-03-26 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/347 10.15407/pp2019.01.037 PROBLEMS IN PROGRAMMING; No 1 (2019); 37-47 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 1 (2019); 37-47 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 1 (2019); 37-47 1727-4907 10.15407/pp2019.01 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/347/344 Copyright (c) 2019 PROBLEMS IN PROGRAMMING |
institution |
Problems in programming |
baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
datestamp_date |
2024-04-28T11:00:17Z |
collection |
OJS |
language |
Ukrainian |
topic |
workflow ontology algebra of algorithms program design and synthesis distributed computin UDC 004.4'2 |
spellingShingle |
workflow ontology algebra of algorithms program design and synthesis distributed computin UDC 004.4'2 Ovdii, O.M. On the issue of automating the workflow design based on algebra-algorithmic and ontological tools |
topic_facet |
workflow ontology algebra of algorithms program design and synthesis distributed computin UDC 004.4'2 рабочие процессы онтология алгебра алгоритмов проектирование и синтез программ распределенные вычисления УДК 004.4'2 робочі процеси онтологія алгебра алгоритмів проектування і синтез програм розподілені обчислення УДК 004.4'2 |
format |
Article |
author |
Ovdii, O.M. |
author_facet |
Ovdii, O.M. |
author_sort |
Ovdii, O.M. |
title |
On the issue of automating the workflow design based on algebra-algorithmic and ontological tools |
title_short |
On the issue of automating the workflow design based on algebra-algorithmic and ontological tools |
title_full |
On the issue of automating the workflow design based on algebra-algorithmic and ontological tools |
title_fullStr |
On the issue of automating the workflow design based on algebra-algorithmic and ontological tools |
title_full_unstemmed |
On the issue of automating the workflow design based on algebra-algorithmic and ontological tools |
title_sort |
on the issue of automating the workflow design based on algebra-algorithmic and ontological tools |
title_alt |
К вопросу автоматизации проекти-рования рабочих процессов на основе алгебро-алгоритмического и онтологического инструментария До питання автоматизації проектування робочих процесів на основі алгеброалгоритмічного та онтологічного інструментарію |
description |
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.Problems in programming 2019; 1: 37-47 |
publisher |
Інститут програмних систем НАН України |
publishDate |
2019 |
url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/347 |
work_keys_str_mv |
AT ovdiiom ontheissueofautomatingtheworkflowdesignbasedonalgebraalgorithmicandontologicaltools AT ovdiiom kvoprosuavtomatizaciiproektirovaniârabočihprocessovnaosnovealgebroalgoritmičeskogoiontologičeskogoinstrumentariâ AT ovdiiom dopitannâavtomatizacííproektuvannârobočihprocesívnaosnovíalgebroalgoritmíčnogotaontologíčnogoínstrumentaríû |
first_indexed |
2025-07-17T09:39:52Z |
last_indexed |
2025-07-17T09:39:52Z |
_version_ |
1838409030263898112 |
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. Архітектура системи проектування робочих процесів
Інструментальні засоби та середовища програмування
42
3. Приклад використання системи
ОКРП
Задача обробки та аналізу великих
обсягів даних надзвичайно актуальна у
сфері метеорології. В ній наявні величезні
обсяги історичних та поточних даних, а
моделі та засоби аналізу надзвичайно
складні та ресурсоємні. Наприклад, Націо-
нальне управління океанічних і атмосфер-
них досліджень США (NOAA) [18] щодня
видає близько 20 терабайт даних, включа-
ючи дані сотень метеорологічних станцій,
результати прогнозів, дані супутників то-
що. Для роботи з такими великими набо-
рами даних науковцям необхідні інстру-
менти, якими вони можуть користуватися
без поглиблених знань програмування та
архітектури обчислювальних систем.
Розглянемо функціонування систе-
ми ОКРП на прикладі розробки робочого
процесу для аналізу великих обсягів даних
на розподіленій платформі Apache Hadoop
[19]. Apache Hadoop призначена для роз-
поділеного зберігання й обробки великих
обсягів даних на великих комп’ютерних
кластерах, реалізація парадигми
MapReduce. Робочий процес проектується
для системи Apache Oozie [20]. Apache
Oozie є системою керування робочими
процесами для керування роботами Apache
Hadoop. Для попередньої обробки даних
використовується Apache Pig [21], що при-
значений для обробки великих наборів
даних на Apache Hadoop. Для аналізу да-
них застосовується програмне середовище
R [22] для статистичних обчислень та ана-
лізу даних.
На рис. 3 показано інтерфейс роз-
роблюваної системи з прикладом спроек-
тованого алгоритму для робочого процесу
Apache Oozie статистичного аналізу часо-
вих рядів у метеорологічних даних.
Робочий процес складається з на-
ступних кроків:
Start – запуск робочого проце-
су;
Load ncdc data – вузол робочо-
го процесу, який виконує запуск shell-
срипту, що завантажує сирі історичні дан-
ні метеорологічних станцій з сайту націо-
нального центру кліматичних даних США
NCDC [18];
Prepare data – запускає програ-
му Apache Pig, що виконує попередню об-
робку даних. Виконується фільтрація да-
них за розташуванням метеостанції (м.
Київ) та обчислюється середньомісячна
температура за останні декілька років. Де-
тальний приклад обробки даного масиву
метеорологічних даних за допомогою
Apache Pig розглянуто у попередній роботі
[23].
Рис. 3. Фрагмент копії екрану системи ОКРП
Інструментальні засоби та середовища програмування
43
R analyse – shell-срипт який за-
пускає на виконання програму R для ста-
тистичного аналізу даних та виводу ре-
зультатів. Програма обчислює прогноз
середньомісячної температури в м. Києві
на наступні два роки за моделлю аналізу
часових рядів ARIMA та графічно пред-
ставляє результат.
Error email – сповіщення у разі
виникнення помилок та збою робочого
процесу.
Success email – сповіщення про
вдале виконання робочого процесу та над-
силання результатів.
Як кроки робочого процесу можна
використовувати вже існуючі програми та
сервіси або, при необхідності, розробити
нові, зокрема за допомогою систем ІПС
або ОДСП. Наприклад, програма Apache
Pig, що використовується у кроці Prepare
data, була розроблена у попередній роботі
за допомогою системи ОДСП [23].
Далі наведено скорочений приклад
алгебраїчного представлення спроектова-
ного алгоритму для робочого процесу ста-
тистичного аналізу часових рядів у метео-
рологічних даних:
MID_TEMP_ANALYSE = Start THEN
Shell_action(upload-data, load_ncdc.sh,
arguments, file) THEN
Pig_action(pig-prepare-data,
prepare_data.pig, params, file) THEN
Shell_action(shell-r-analyse,
run_r_hadoop.sh, arguments, file)
THEN End(end)
де Start – початок робочого процесу;
Shell_action(upload-data.. – вузол робочо-
го процесу, який виконує запуск shell-
срипту, що завантажує сирі дані метеоро-
логічних станцій; Pig_action(pig-prepare-
data.. – запускає програму Apache Pig, що
виконує попередню фільтрацію та обробку
даних; Shell_action(shell-r-analyse.. - shell-
срипт, який запускає на виконання про-
граму R для статистичного аналізу даних
та виводу результатів.
Далі наведено приклад природно-
лінгвістичного представлення попередньо-
го алгоритму:
"MID_TEMP_ANALYSE"
==== "Start workflow"
THEN
"Run Shell Action upload-data with
parameters: (load_ncdc.sh, arguments,
file)"
THEN
"Run Pig Action pig-prepare-data with
parameters (prepare_data.pig, params,
file)"
THEN
"Run Shell Action shell-r-analyse with
parameters: (run_r_hadoop.sh, arguments,
file)"
THEN
"End of workflow (end)"
Далі системою буде згенеровано
код специфікації робочого процесу для
цільової системи керування робочими
процесами, у даному випадку Apache
Oozie (рис. 4).
Припустимо, що у постачальника
метеорологічних даних змінився формат
представлення даних. Для вирішення цієї
проблеми в існуючий робочий процес
після кроку Load ncdc data необхідно до-
дати ще один крок, який буде виконувати
конвертацію даних з нового формату. Інші
кроки та їх взаємозв’язки не зміняться
і для розробки та додавання нового кроку
не потрібно вникати в деталі реалізації
та функціонування всього робочого про-
цесу, достатньо буде знати вимоги до
формату даних. Крім того, використо-
вуючи інструменти алгебри алгоритмів,
можна буде автоматизовано перетвори-
ти всі існуючі робочі процеси та автома-
тично додати необхідний крок конвертації
даних.
З наведеного прикладу видно, що
робочі процеси для розподілених та гете-
рогенних середовищ з легкістю можна
Інструментальні засоби та середовища програмування
44
Рис. 4. Копія екрану системи ОКРП зі згенерованим кодом специфікації робочого процесу
проектувати та модифікувати за допомо-
гою інструменту проектування робочих
процесів ОКРП.
Зменшення обсягу коду необхідно-
го для реалізації задачі зменшує трудовит-
рати на кодування і подальшу підтримку,
та скорочує число можливих помилок.
Длякількісної оцінки ефективності запро-
понованих засобів була використана мет-
рика SLOC (Source Lines of Code, кількість
рядків коду) [24], широко використовувана
для оцінки трудовитрат на розробку про-
грам. Для наведеного прикладу результати
оцінки SLOC для САА-схеми і згенерова-
ного за нею xml коду специфікації робочо-
го процесу для цільової платформи Apache
Oozie складає 16 і 88 відповідно. Таким
чином, співвідношення рядків коду пока-
зує, що обсяг цільового коду перевищує
обсяг САА-схеми більш ніж в 5 разів. Дані
результати свідчать про те, що запропоно-
вані засоби для автоматизованого проекту-
вання робочих процесів здатні сприяти
підвищенню продуктивності розробки і
зменшенню трудовитрат.
Висновки
В даній роботі представлено кон-
цепцію системи для автоматизації проек-
тування робочих процесів на основі алге-
бро-алгоритмічного та онтологічного ін-
струментарію: онлайновий конструктор
робочих процесів ОКРП. Проведено ана-
ліз існуючих підходів та запропоновано
архітектуру системи. Роботу системи про-
ілюстровано на прикладі розробки робо-
чого процесу Apache Oozie для аналізу
великих обсягів даних на розподіленій
платформі Apache Hadoop. Результати
кількісної оцінки ефективності запропо-
нованих засобів свідчать про те, що вони
здатні сприяти істотному підвищенню
продуктивності розробки і зменшенню
трудовитрат. Далі планується подальша
розробка та розвиток системи ОКРП, зок-
рема розширення підтримкою інших ста-
ндартів та систем керування робочими
процесами, зокрема BPEL.
Література
1. Workflow Management Coalition: сайт.
URL: https://www.wfmc.org/ (дата звернен-
ня: 29.01.2019).
Інструментальні засоби та середовища програмування
45
2. Amin K., Laszewski G., Hategan M., Zaluzec
N. J., Hampton S., Rossi A. GridAnt: A
Client-Controllable Grid Workflow System.
In Proc. of the 37th Hawaii International
Conference on System Sciences, HI, USA,
2004. P. 3293–3301.
3. Дорошенко А.Ю., Бекетов О.Г., Іванів Р.Б.,
Іовчев В.О., Мироненко І.О., Яценко О.А.
Автоматизована генерація паралельних
програм для графічних прискорювачів на
основі схем алгоритмів. Проблеми програ-
мування. 2015. № 1. С. 19–28.
4. Андон Ф.И., Дорошенко А.Е., Бекетов
А.Г., Иовчев В.А., Яценко Е.А. Инструме-
нтальные средства автоматизации парал-
лельного программирования на основе ал-
гебры алгоритмов. Кибернетика и систем-
ный анализ. 2015. № 1. С. 162–170.
5. Дорошенко А.Ю., Іваненко П.А., Ов-
дій О.М., Яценко О.А. Автоматизоване
проектування програм для розв’язання за-
дачі метеорологічного прогнозування.
Проблеми програмування. 2016. № 1.
С. 102–115.
6. Андон Ф.И., Дорошенко А.Е., Цейтлин
Г.Е., Яценко Е.А. Алгеброалгоритмические
модели и методы параллельного програм-
мирования. Киев: Академпериодика, 2007.
631 с.
7. Дорошенко Е.А., Яценко Е.А. О синтезе
программ на языке Java по алгеброалгори-
тмическим спецификациям. Проблеми про-
грамування. 2006. № 4. С. 58–70.
8. Яценко Е.А. Интеграция средств алгебры
алгоритмов и переписывания термов для
разработки эффективных параллельных
программ. Проблеми програмування. 2013.
№ 2. С. 62–70.
9. Дорошенко А.Ю., Бекетов О.Г., Яцен-
ко О.А, Вітряк Є.А., Павлючин Т.О. Розро-
бка сервісно-орієнтованих засобів для за-
пуску паралельних програм на мультипро-
цесорному кластері. Проблеми програму-
вання. 2014. № 4. С. 3–14.
10. Дорошенко Е.А., Овдей О.М., Яценко Е.А.
Онтологические и алгеброалгоритмичес-
кие средства автоматизации проектирова-
ния параллельных программ для "облач-
ных" платформ. Кибернетика и систем-
ный анализ. 2017. Т. 53, № 2. С. 181–192.
11. OWL 2 Web Ontology Language Primer
(Second Edition). URL: https://www.w3.org/
2012/pdf/REC-owl2-primer-20121211.pdf
(дата звернення: 29.01.2019).
12. Gruber T. R. A Translation Approach to
Portable Ontologies. Knowledge Acquisition.
1993. N 5(2). P. 199–220.
13. Strmecki D., Magdalenic I., Kermek D. An
Overview on the use of Ontologies in
Software Engineering. Journal of Computer
Science 2016. N 12(12). P. 597–610.
14. Beco S., Cantalupo B., Giammarino L.,
Matskanis N., Surridge M. OWL-WS: A
Workflow Ontology for Dynamic Grid
Service Composition. In: 1st Int. Conf. on e-
Science and Grid Computing. IEEE Computer
Society. 2005. P. 148–155.
15. Oliveira D., Ogasawara E., Araujo Baiao F.,
Mattoso M. Adding Ontologies to Scientific
Workflow Composition. XXVI Simpósio
Brasileiro de Banco de Dados. 2011.
Florianópolis, SC. P. 147–154.
16. Pinheiro da Silva P., Salayandia L., Gates A.
Q. WDO-It! A Tool for Building Scientific
Workflows from Ontologies. Technical
Report UTEP-CS-07-XX, University of
Texas. 2007. URL: http://digitalcom-
mons.utep.edu/ cs_techrep/201 (дата звер-
нення: 29.01.2019).
17. Horridge M. A practical guide to building
OWL ontologies using Protégé 4 and CO-
ODE tools. Manchester: The University Of
Manchester. 2011. 107 p.
18. National Climatic Data Center (NCDC): сайт.
URL: https://www.ncdc.noaa.gov/ (дата зве-
рнення: 26.02.2018).
19. Apache Hadoop: сайт. URL:
http://hadoop.apache.org/ (дата звернення:
29.01.2019).
20. Apache Oozie Workflow Scheduler for
Hadoop: сайт. URL: http://oozie.apache.org/
(дата звернення: 29.01.2019).
21. Apache Pig: сайт. URL: http://pig.apache.org/
(дата звернення: 29.01.2019).
22. The R Project for Statistical Computing: сайт.
URL: https://www.r-project.org/ (дата звер-
нення: 29.01.2019).
23. Овдій О.М. Розширення системи синтезу
програм з метою аналізу великих наборів
даних. Проблеми програмування 2018.
№ 2-3. Спец. Вип. С. 68–74.
24. Nguyen V., Deeds-Rubin S., Tan T., Boehm
B. A. SLOC Counting Standard. URL:
http://csse.usc.edu/TECHRPTS/2007/usc-
csse-2007-737/usc-csse-2007-737.pdf. (дата
звернення: 29.01.2019).
http://csse.usc.edu/TECHRPTS/2007/usc-csse-2007-737/usc-csse-2007-737.pdf
http://csse.usc.edu/TECHRPTS/2007/usc-csse-2007-737/usc-csse-2007-737.pdf
Інструментальні засоби та середовища програмування
46
References
1. Wfmc.org. Workflow Management Coalition.
[online] Available from: https://www.wfmc.
org/ [Accessed 29 Jan. 2019].
2. Amin, K., Laszewski, G., Hategan, M.,
Zaluzec, N. J., Hampton, S. & Rossi, A.
(2004). GridAnt: A Client-Controllable Grid
Workflow System. In: 37th Hawaii
International Conference on System Sciences.
HI, USA. P. 3293–3301.
3. Doroshenko A.Yu., Beketov O.G., Ivaniv
R.B., Iovchev V.O., Myronenko I.O. &
Yatsenko O.A. (2015) Automated generation
of parallel programs for graphics processing
units based on algorithm schemes. Problems
in programming. (1). P. 19–28. (in
Ukrainian).
4. Andon P.I., Doroshenko A.Yu., Beketov
O.G., Iovchev V.O. & Yatsenko O.A. (2015)
Software tools for automation of parallel
programming on the basis of algebra of
algorithms. Cybernetics and systems analysis.
(1). P. 162–170. (in Russian).
5. Doroshenko A.Yu., Ivanenko P.A., Ovdii
O.M., & Yatsenko O.A. (2016) Automated
design of programs for solving the task of
meteorological forecasting. Problems in
programming. (1). P. 102–115. (in
Ukrainian).
6. Andon P.I. et al. (2007) Algebra-algorithmic
models and methods of parallel programming.
Kiev: Academperiodika. (in Russian).
7. Doroshenko A.Yu. & Yatsenko O.A. (2006)
About the synthesis of Java programs by
algebra-algorithmic specifications. Problems
in programming. (4). P. 58–70. (in Russian).
8. Yatsenko O.A. (2013) Integration of algebra-
algorithmic tools and term rewriting for
efficient parallel programs development.
Problems in programming. (2). P. 62–70. (in
Russian).
9. Doroshenko A.Yu., Beketov O.G. Yatsenko
O.A., Pavliuchyn T.O. & Vitriak I.A. (2014)
Development of the service-oriented soft-
ware for launching parallel programs on a
multiprocessor cluster. Problems in
programming. (4). P. 3–14. (in Ukrainian).
10. Doroshenko A.Yu., Ovdii O.M. & Yatsenko
O.A. (2017) Ontological and algebra-
algorithmic tools for automated design of
parallel programs for cloud platforms.
Cybernetics and Systems Analysis. 53(2).
P. 181–192. (in Russian).
11. OWL 2 Web Ontology Language Primer
(Second Edition). [online] Available from:
https://www.w3.org/2012/pdf/REC-owl2-
primer-20121211.pdf [Accessed 29 Jan.
2019].
12. Gruber T.R. (1993) A Translation Approach
to Portable Ontologies. Knowledge
Acquisition. 5(2). P. 199–220.
13. Strmecki D., Magdalenic I. & Kermek D.
(2016) An Overview on the use of Ontologies
in Software Engineering. Journal of
Computer Science. 12(12). P. 597–610.
14. Beco S., Cantalupo B., Giammarino L.,
Matskanis N. & Surridge M. (2005) OWL-
WS: A Workflow Ontology for Dynamic Grid
Service Composition. In: 1st Int. Conf. on e-
Science and Grid Computing. IEEE Computer
Society. P. 148–155.
15. Oliveira D., Ogasawara E., Araujo Baiao F. &
Mattoso M. (2011) Adding Ontologies to
Scientific Workflow Composition. In: XXVI
Simpósio Brasileiro de Banco de Dados.
Florianópolis, SC. P. 147–154.
16. Pinheiro da Silva, P., Salayandia L. & Gates
A.Q. (2007) WDO-It! A Tool for Building
Scientific Workflows from Ontologies.
Technical Report UTEP-CS-07-XX,
University of Texas. [online] Available from:
http://digitalcommons.utep.edu/cs_techrep/20
1 [Accessed 29 Jan. 2019].
17. Horridge M. (2011) A practical guide to
building OWL ontologies using Protégé 4 and
CO-ODE tools. Manchester: The University
Of Manchester. 2011.
18. Ncdc.gov. National Climatic Data Center
(NCDC). [online] Available from:
https://www.ncdc.noaa.gov/ [Accessed 29
Jan. 2019].
19. Hadoop.apache.org. Apache Hadoop Official
Website. [online] Available from:
http://hadoop.apache.org/ [Accessed 29 Jan.
2019].
20. Oozie.apache.org. Apache Oozie Workflow
Scheduler for Hadoop Official Website.
[online] Available from:
http://oozie.apache.org/ [Accessed 29 Jan.
2019].
21. Pig.apache.org. Apache Pig Official Website.
[online] Available from: http://pig.apache.org/
[Accessed 29 Jan. 2019].
22. R-project.org. The R Project for Statistical
Computing Official Website. [online]
Available from: https://www.r-project.org/
[Accessed 29 Jan. 2019].
23. Ovdii, O.M. (2018) Extension of the program
synthesis system to analyze large data sets.
Інструментальні засоби та середовища програмування
47
Problems in programming. (2-3). P. 68–74.
(in Ukrainian).
24. Nguyen V., Deeds-Rubin S., Tan T., Boehm
B.A. SLOC Counting Standard. [online]
Available from: http://csse.usc.edu/
TECHRPTS/2007/usc-csse-2007-737/usc-
csse-2007-737.pdf. [Accessed 29 Jan. 2019].
Одержано 31.01.2019
Про автора:
Овдій Ольга Михайлівна,
молодший науковий співробітник.
Кількість наукових публікацій в
українських виданнях – 22.
Кількість наукових публікацій в
зарубіжних виданнях – 5.
http://orcid.org/0000-0002-8891-7002.
Місце роботи автора:
Інститут програмних систем
НАН України,
03187, м. Київ-187,
проспект Академіка Глушкова, 40.
Тел.: (044) 526 6033.
E-mail: olga.ovdiy@gmail.com
http://csse.usc.edu/TECHRPTS/2007/usc-csse-2007-737/usc-csse-2007-737.pdf
http://csse.usc.edu/TECHRPTS/2007/usc-csse-2007-737/usc-csse-2007-737.pdf
http://csse.usc.edu/TECHRPTS/2007/usc-csse-2007-737/usc-csse-2007-737.pdf
|