2025-02-22T21:51:52-05:00 DEBUG: VuFindSearch\Backend\Solr\Connector: Query fl=%2A&wt=json&json.nl=arrarr&q=id%3A%22pp_isofts_kiev_ua-article-326%22&qt=morelikethis&rows=5
2025-02-22T21:51:52-05:00 DEBUG: VuFindSearch\Backend\Solr\Connector: => GET http://localhost:8983/solr/biblio/select?fl=%2A&wt=json&json.nl=arrarr&q=id%3A%22pp_isofts_kiev_ua-article-326%22&qt=morelikethis&rows=5
2025-02-22T21:51:52-05:00 DEBUG: VuFindSearch\Backend\Solr\Connector: <= 200 OK
2025-02-22T21:51:52-05:00 DEBUG: Deserialized SOLR response
The concept of intellectualized creation of service-oriented technologies of software development in the semantic web environment
The approach to creation of essentially new service-oriented technologies of software development is presented. The application of ontologies for the solution to this task is considered and classes of ontologic models for application in a software metatechnology are defined. The main stages of metap...
Saved in:
Main Author: | |
---|---|
Format: | Article |
Language: | Ukrainian |
Published: |
Інститут програмних систем НАН України
2018
|
Subjects: | |
Online Access: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/326 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
id |
pp_isofts_kiev_ua-article-326 |
---|---|
record_format |
ojs |
resource_txt_mv |
ppisoftskievua/ae/9c7432bc8789e5a9f590b1bc311c32ae.pdf |
spelling |
pp_isofts_kiev_ua-article-3262024-04-28T11:52:04Z The concept of intellectualized creation of service-oriented technologies of software development in the semantic web environment Концепция интеллектуализированного создания сервисно-ориентиро-ванных технологий программирования в семантической веб-среде Концепція інтелектуалізованого створення сервісно- орієнтованих технологій програмування в семантичному веб-середовищі Morentsov, Y.I. metatechnology of programming; service-oriented technologies of software development; ontology; semantic web environment UDC 004.422 метатехнология программирования; сервисно-ориентированная технология программирования; онтология; семантическая веб-среда УДК 004.422 метатехнологія програмування; сервісно-орієнтована технологія програмування; онтологія; семантичне веб-середовище УДК 004.422 The approach to creation of essentially new service-oriented technologies of software development is presented. The application of ontologies for the solution to this task is considered and classes of ontologic models for application in a software metatechnology are defined. The main stages of metaprocess of service-oriented technologies construction are defined as well as their contents. The architecture of distributed environment for software development which is based on cloud technologies is suggested.Problems in programming 2017; 2: 106-116 Представлен подход к созданию принципиально новых сервисно-ориентированных технологий программирования. Рассмотрено применение онтологий при решении этой задачи и определены классы онтологических моделей для применения в метатехнологии программирования. Определены основные этапы метапроцесса конструирования сервисно-ориентированных технологий программирования и их содержание. Предложена архитектура распределенной среды разработки программного обеспечения, которая базируется на облачных технологиях.Problems in programming 2017; 2: 106-116 Представлений підхід до створення принципово нових сервісно-орієнтованих технологій програмування. Розглянуто застосування онтологій при вирішенні цієї задачі і визначені класи онтологічних моделей для застосовування у метатехнології програмування. Визначені основні етапи метапроцесу конструювання сервісно-орієнтованих технологій програмування та їхній зміст. Запропонована архітектура розподіленого середовища розробки програмного забезпечення, яка базується на хмарних технологіях.Problems in programming 2017; 2: 106-116 Інститут програмних систем НАН України 2018-11-19 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/326 10.15407/pp2017.02.106 PROBLEMS IN PROGRAMMING; No 2 (2017); 106-116 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 2 (2017); 106-116 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 2 (2017); 106-116 1727-4907 10.15407/pp2017.02 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/326/321 Copyright (c) 2018 PROBLEMS OF PROGRAMMING |
institution |
Problems in programming |
baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
datestamp_date |
2024-04-28T11:52:04Z |
collection |
OJS |
language |
Ukrainian |
topic |
metatechnology of programming service-oriented technologies of software development ontology semantic web environment UDC 004.422 |
spellingShingle |
metatechnology of programming service-oriented technologies of software development ontology semantic web environment UDC 004.422 Morentsov, Y.I. The concept of intellectualized creation of service-oriented technologies of software development in the semantic web environment |
topic_facet |
metatechnology of programming service-oriented technologies of software development ontology semantic web environment UDC 004.422 метатехнология программирования сервисно-ориентированная технология программирования онтология семантическая веб-среда УДК 004.422 метатехнологія програмування сервісно-орієнтована технологія програмування онтологія семантичне веб-середовище УДК 004.422 |
format |
Article |
author |
Morentsov, Y.I. |
author_facet |
Morentsov, Y.I. |
author_sort |
Morentsov, Y.I. |
title |
The concept of intellectualized creation of service-oriented technologies of software development in the semantic web environment |
title_short |
The concept of intellectualized creation of service-oriented technologies of software development in the semantic web environment |
title_full |
The concept of intellectualized creation of service-oriented technologies of software development in the semantic web environment |
title_fullStr |
The concept of intellectualized creation of service-oriented technologies of software development in the semantic web environment |
title_full_unstemmed |
The concept of intellectualized creation of service-oriented technologies of software development in the semantic web environment |
title_sort |
concept of intellectualized creation of service-oriented technologies of software development in the semantic web environment |
title_alt |
Концепция интеллектуализированного создания сервисно-ориентиро-ванных технологий программирования в семантической веб-среде Концепція інтелектуалізованого створення сервісно- орієнтованих технологій програмування в семантичному веб-середовищі |
description |
The approach to creation of essentially new service-oriented technologies of software development is presented. The application of ontologies for the solution to this task is considered and classes of ontologic models for application in a software metatechnology are defined. The main stages of metaprocess of service-oriented technologies construction are defined as well as their contents. The architecture of distributed environment for software development which is based on cloud technologies is suggested.Problems in programming 2017; 2: 106-116 |
publisher |
Інститут програмних систем НАН України |
publishDate |
2018 |
url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/326 |
work_keys_str_mv |
AT morentsovyi theconceptofintellectualizedcreationofserviceorientedtechnologiesofsoftwaredevelopmentinthesemanticwebenvironment AT morentsovyi koncepciâintellektualizirovannogosozdaniâservisnoorientirovannyhtehnologijprogrammirovaniâvsemantičeskojvebsrede AT morentsovyi koncepcíâíntelektualízovanogostvorennâservísnooríêntovanihtehnologíjprogramuvannâvsemantičnomuvebseredoviŝí AT morentsovyi conceptofintellectualizedcreationofserviceorientedtechnologiesofsoftwaredevelopmentinthesemanticwebenvironment |
first_indexed |
2024-09-16T04:07:51Z |
last_indexed |
2024-09-16T04:07:51Z |
_version_ |
1818527902647451648 |
fulltext |
Експертні та інтелектуальні інформаційні системи
© Є.І. Моренцов, 2017
106 ISSN 1727-4907. Проблеми програмування. 2017. № 2
УДК 004.422
Є.І. Моренцов
КОНЦЕПЦІЯ ІНТЕЛЕКТУАЛІЗОВАНОГО СТВОРЕННЯ
СЕРВІСНО-ОРІЄНТОВАНИХ ТЕХНОЛОГІЙ
ПРОГРАМУВАННЯ В СЕМАНТИЧНОМУ ВЕБ-СЕРЕДОВИЩІ
Представлений підхід до створення принципово нових сервісно-орієнтованих технологій програмуван-
ня. Розглянуто застосування онтологій при вирішенні цієї задачі і визначені класи онтологічних моде-
лей для застосовування у метатехнології програмування. Визначені основні етапи метапроцесу конст-
руювання сервісно-орієнтованих технологій програмування та їхній зміст. Запропонована архітектура
розподіленого середовища розробки програмного забезпечення, яка базується на хмарних технологіях.
Ключові слова: метатехнологія програмування, сервісно-орієнтована технологія програмування, онто-
логія, семантичне веб-середовище.
Вступ
Метатехнологiя програмування –
це комп’ютеризована технологія вищого
рівня, призначена для побудови технологій
програмування, які застосовуються для
розробки програмного забезпечення (ПЗ)
відповідного призначення. Головна задача
метатехнології програмування – це ство-
рення конкретних технологій програму-
вання, які базуються на iснуючому наборі
моделей життєвого циклу (моделей проце-
сів розробки ПЗ), методів, нотацiй та
iнструментальних засобів як метатехно-
логiчних об’єктів. Технологія створюється
шляхом добору потрібних об’єктів, які
поєднуються в єдину технологічну систе-
му, призначену для розробки визначених
типів ПЗ.
В Україні перші фундаментальні
дослідження з проблематики метатехноло-
гії як напрямок у програмній інженерії
проведені в Інституті програмних систем
НАН України кінець 1990-х – початок
2000-х років. Вони стосувалися створення
MetaCASE-систем, що реалізують мета-
технологію створення проблемно-
орієнтованих технологій програмування
(ПОТП) та інструментальних засобів її
підтримки. Основним результатом цих
досліджень стала методологiя створення
проблемно-орієнтованих технологій про-
грамування методом конструювання з ная-
вних технологiчних об’єктів – компонентiв
ПОТП, представлених у базах знань [1].
Такий напрямок дослiджень зумовлювався
тим, що на той час як основні перспективи
розвитку CASE розглядалися об'єднання
засобів баз знань та штучного інтелекту.
Однак, за останнє десятиріччя,
з’явилися вагомі результати досліджень у
галузі онтологій, які з успіхом почали
застосовуватися у процесах розробки про-
грамного забезпечення. Одночасно поча-
ли розвиватися веб-сервіси та «хмарні»
технології у галузі комп’ютерних обчис-
лень. Це дало поштовх дослідженням мо-
жливостей їх застосування у метатехноло-
гії для інтелектуалізованого створення
якісно нових, сервісно-орієнтованих тех-
нологій програмування (СОТП). В статті
викладена концепція інтелектуалізованого
створення СОТП, в основі якої лежить
сервісно-орієнтована парадигма у поєд-
нанні з онтологічно-базованим підходом.
Ці результати отримані при виконанні
наукової роботи «Розробка теоретичних
основ та прикладних питань побудови
сервіс-орієнтованих прикладних програм-
них систем у семантичному веб-
середовищі» в Інституті програмних сис-
тем НАН України.
Застосування онтологій у
програмній інженерії
У рамках програмної інженерії
можна виділити дві основні групи онто-
логій. Перша – це онтології, які застосо-
вуються в процесі розробки програмного
забезпечення, друга – це онтології домену
Експертні та інтелектуальні інформаційні системи
107
метатехнології програмування, які мають
використовуватись при створенні нових
технологій програмування. І якщо перша
група онтологій вже знайшла своє засто-
сування, то використання другої нині зна-
ходиться у стадії дослідження і розробки.
Основна мета онтології розробки
ПЗ – забезпечити взаємодію між її розро-
блювачами, щоб оперувати знаннями ро-
зробки стандартного ПЗ, однозначно
розуміти їх і виконувати визначені типи
обчислень. Онтологія розробки ПЗ скла-
дається з екземплярів, що представляють
визначені дані проекту; властивостей, які
представляють бінарні відносини, збере-
жені серед понять/екземплярів розробки
програмного забезпечення; класів, що
представляють поняття розробки програ-
много забезпечення, інтерпретовані як
набори, що містять визначені дані проек-
ту. Класи в онтології розробки програм-
ного забезпечення створюються з описів
понять розробки програмного забезпе-
чення, що визначають умови, які мають
бути задоволені даними проекту, щоб
бути елементом класів.
Для того, щоб змоделювати домен
розробки програмного забезпечення осно-
вні принципи онтології OWL включають
онтологічні класи і підкласи, властивості
(властивість типу даних і властивість
об’єкта), асоціації між класами і власти-
востями, характеристиками властивостей,
обмеженнями й екземплярами. Деталі
цих компонентів онтологій OWL предста-
влені в [2, 3].
Серед онтологій, використовува-
них при розробці ПЗ, найбільш популяр-
ними є онтологія предметної області й
онтологія задач. Керована онтологією ро-
зробка програмного забезпечення визна-
чена як підхід, який заснований на онто-
логіях і бере до уваги семантичні обме-
ження, що адаптуються динамічним спо-
собом до нових обмежень. Онтології та-
кож використовуються як деякі артефакти
в процесі розробки ПЗ.
Онтологічно-базований підхід і
сервісно-орієнтована парадигма у мета-
технології програмування. Основою
концепції інтелектуалізованого створення
сервісно-орієнтованих технологій програ-
мування (СОТП) є онтологічно-базований
підхід до створення технологій розробки
ПЗ у поєднанні з сервісно-орієнтованою
парадигмою.
Онтологічно-базований підхід до
вирішення головної задачі метатехнології
полягає у наступному. Для широко пред-
ставлених у веб-середовищі множин ме-
тодів, нотацій і інструментальних засобів
розробки ПЗ створюються іх онтологічні
(семантичні) описи. Також за допомогою
онтологій специфікуються вимоги до ство-
рюваної технології та її компонентів. По-
тім на основі цих описів і специфікацій
виконується пошук потрібних компонен-
тів, з яких формується потрібна технологія
розробки ПЗ.
Важливо зазначити, що ми розгля-
даємо використання онтологій для конст-
руювання технології розробки ПЗ, а не для
розробки власне його, тобто тільки у до-
мені метатехнології.
Застосування сервісно-орієнтова-
ної парадигми при створенні конкретної
технології полягає у привнесені у процес
розробки як технології, так і ПЗ так зва-
них «хмарних» технологій, коли компо-
ненти технології, як правило – інструмен-
тальні засоби, являють собою веб-сервіси,
розміщені у веб-середовищі. При такому
підході розробнику ПЗ не треба витрача-
тися на придбання відповідної технології
для кожної нової розробки або застосову-
вати одну й ту ж технологію, яка є в ньо-
го, для багатьох розробок. Він може вико-
ристовувати потрібні йому компоненти
технології як веб-сервіси за помірну ціну.
Розробник може гнучко реагувати на змі-
ну потреб в інструментах і технологіях,
він самостійно визначає і змінює техноло-
гічні потреби.
Технологія розробки ПЗ – це го-
ловний об’єкт метатехнології. Викорис-
тання сукупності її моделей, побудованих
в рамках застосування онтологічно-
базованого підходу і сервісно-орієнтованої
парадигми, у процесі створення технології
надає цьому процесу інтелектуалізований
характер.
Експертні та інтелектуальні інформаційні системи
108
В узагальненому вигляді технологія
програмування, яка використовується для
розробки програмного забезпечення, пред-
ставляється у вигляді четвірки
Tпр = {P, М, N, T},
де P – процес розробки ПЗ, M – множина
методів розробки ПЗ, N – множина видів
нотацiй для представлення специфікацій
ПЗ у процесі розробки, T – множина
інструментальних засобів автоматизації
процесу розробки ПЗ, які підтримують
методи та нотації.
Конкретна технологія формується в
процесі технологічної підготовки розробки
шляхом створення технологічного процесу
розробки і добору відповідних складових
із множин M, N і T на основі вимог до
створюваної технології, які випливають із
задач автоматизації конкретної предметної
області (ПрО). І якщо раніше процес
формування технології виконувався
фактично вручну на основі аналізу та
порівняння, то застосування онтологічно-
базованого підходу і сервісно-орієнтованої
парадигми наряду із семантик-веб
дозволяють змістити його в бік
інтелектуалізації.
Нині у веб-середовищі широко
представлені множини методів, нотацій і
інструментальних засобів розробки ПЗ.
При цьому останні можна представити у
вигляді веб-сервісів. Використання такого
веб-сервісу і для розробника ПЗ, і для його
власника буде більш вигідним, ніж
купівля/продаж інструменту.
Однією з важливих задач при
створенні технології програмування є
добір її конкретних компонентів –
методів, нотацій та інструментів. Якщо
раніше задача добору вирішувалася
вручну (хоча й були спроби використати
бази знань), то застосування онтологій,
спеціально розроблених для домену
метатехнології програмування, надає
додаткові переваги і слугує гарантією
створення технології, яка найбільше
задовольняє вимогам до неї.
В цьому контексті, однією з
найважливіших задач є створення
початкової онтології метатехнології
програмування. Тобто, беручи предметну
область (ПрО) програмної інженерії, ми
виділяємо в ній ПрО «Метатехнологія
програмування» і формуємо її онтологію у
контексті задачі добору компонентів
технології програмування. При цьому наш
підхід полягає у аналізі використовуваних
для розробки ПЗ онтологій, виборі з них
тих, які можна підняти на рівень
метатехнології для застосування при
створенні технологій програмування, а
також у розробці нових додаткових
онтологій, які необхідні для вирішення
задачі створення СОТП у метатехнології.
Така СОТП створюється із
компонентів які доступні у веб-
середовищі. Ця технологія дозволятиме
вести розподілену розробку програмних
проектів в умовах, коли розробники
географічно знаходяться у різних точках,
взаємодіють між собою через мережу
Інтернет, а інструментарії розробки ПЗ
розташовані у мережі як веб-сервіси.
Оскільки при цьому технологія розробки
ПС створюється з компонентів, які є веб-
сервісами, то сама технологія становиться
сервісно-орієнтованою, а застосування
онтологій для пошуку і добору
компонентів робить підхід до її створення
онтологічно базованим. Для зберігання
компонентів СОТП як сервісів та
артефактів процесу розробки ПЗ
пропонується застосування хмарних
технологій.
Класи моделей у домені
«Метатехнологія програмування»
При інтелектуалізованому створен-
ні технологій розробки ПЗ застосовуються
чотири класи моделей.
Перший клас містить онтологічні
моделі компонентів технології. За їхньою
допомогою описуються, по-перше, вже
існуючі компоненти технології, які розмі-
щуються у веб-середовищі і є доступними
як веб-сервіси, по-друге, вимоги до компо-
нентів технології, що створюється. При
цьому важливим є використання єдиної
мови і єдиної системи понять, щоб у про-
цесі пошуку потрібних компонентів пара-
Експертні та інтелектуальні інформаційні системи
109
метри пошуку могли бути співставлені з
параметрами наявних компонентів.
Другий клас моделей – це онто-
логічні моделі, які описують сумісність
компонентів технології як по горизонталі,
так і по вертикалі. Якщо розглядати мно-
жини компонентів технології як
відповідні класи, то горизонтальна су-
місність є сумісністю екземплярів різних
класів (сумісність у рамках одної
технологічної операції), а вертикальна
сумісність – сумісністю екземплярів
одного класу (сумісність на парі різних
технологічних операцій). Саме сумісність
як екземплярів різних класів, так і
екземплярів одного класу дозволяє
інтегрувати ці екземпляри у створювану
технологію. Онтологічна модель су-
місності компонентів технології може
бути присутньою як у веб-середовищі,
коли всі компоненти нової технології, що
знаходяться у веб-середовищі доби-
раються заново, так і у конструктора
технології, коли вибір окремих компо-
нентів зроблений апріорі. Тоді конструк-
тор має задати модель сумісності для вже
вибраних компонентів. Пошук і добір
компонентів технології буде здійсню-
ватися на основі онтологічних моделей
компонентів і моделей сумісності ком-
понентів.
Третій клас моделей – це модель
платформи. До складу платформи входять
інструментальні засоби – веб-сервіси, що
включені до створеної технології, і
використовуються для розробки ПЗ.
Платформа дозволяє розробнику вико-
ристовувати «хмарну» інфраструктуру в
плані користування веб-сервісами, що
надаються “хмарним” провайдером, а
також для розміщення на ній артефактів у
процесі розробки ПЗ. Відповідно модель
платформи містить щонайменше онто-
логічні моделі інструментів платформи,
включених до розробленої технології і
артефактів розробки.
Четвертий клас моделей – це
модель середовища розробки ПЗ. При
використанні “хмарних” технологій і сер-
вісно-орієнтованої парадигми технологія
розробки ПЗ стає інтегрованою і розподі-
леною у веб-середовищі. Що і впливає на
визначення середовища розробки ПЗ, як
системи технологічних, методичних та
інструментальних засобів (компонентів
технології), що використовуються для
розробки ПЗ, і розміщених у веб-
середовищі як веб-сервіси. Якщо всі ком-
поненти розробленої технології знахо-
дяться на одній платформі й на цій же
платформі зберігаються артефакти розро-
бки ПЗ, то до моделі середовища входить
одна модель платформи. Якщо ж ці ком-
поненти розміщені на декількох платфор-
мах, то до моделі середовища входять
моделі всіх цих платформ. Модель сере-
довища є інтегрованою моделлю і найви-
щою в ієрархії розглянутих моделей, оскі-
льки містить моделі платформ, онтологіч-
ні моделі компонентів технології та моде-
лі сумісності компонентів технології.
Крім того до неї входить ще й модель
технологічного процесу розробки ПЗ,
яка визначає технологічні операції та ме-
тоди, нотації й інструментальні засоби,
що використовуються на цих операціях та
взаємозв’язок між ними.
За допомогою моделі середовища,
застосовуючи агенти ТП, можна в значно-
му ступені автоматизувати керування про-
цесом розробки ПЗ в частині визначення
послідовності дій і застосування інструме-
нтів як веб-сервісів, які знаходяться у роз-
поділеному середовищі.
Концептуальна модель предмет-
ної області «Метатехнологія». Серед
усього спектру розроблених нами конце-
птуальних моделей домену метатехноло-
гії програмування визначальною є кон-
цептуальна модель предметної області
«Метатехнологія програмування». Вона
містить множину понять і зв’язків між
ними, які визначають сенс предметної
області та/або її конкретний об’єкт, і
представлена у вигляді семантичної ме-
режі на рис. 1.
Експертні та інтелектуальні інформаційні системи
110
Розробники
ПЗ
Сервісно-орієнтована
технологія програмування
(СОТП)
Технологічні
процеси
Методи Нотації
Інструмента-
льні засоби
Операції
технологічного
процесу
Стани
розроблюваного
ПЗ
Використовує
для
Складається із
Містить
Підтримує
Перетворює
Виконується
Використовує для
Рис. 1. Концептуальна модель ПрО «Метатехнологія»
На ній представлені наступні класи
об’єктів:
1) сервісно-орієнтована технологія
програмування, призначена для розробки
програмних засобів;
2) розробники програмного засо-
бу, які використовують СОТП для розроб-
ки ПЗ;
3) технологічні процеси;
4) методи розробки ПЗ;
5) нотації, якими фіксуються ста-
ни ПЗ в процесі розробки;
6) інструментальні засоби, які під-
тримують методи і нотації;
7) операції технологічного про-
цесу;
8) стани розроблюваного ПЗ.
Оскільки назви класів співпадають з
базовими поняттями ПрО «Метатехноло-
гія», які були описані вище, дамо лише
семантику зв’язків між класами.
Зв’язок «Використовує для» між
класами Розробники і СОТП означає, що
будь-який розробник ПЗ використовує
СОТП у процесі розробки ПЗ, застосовую-
Експертні та інтелектуальні інформаційні системи
111
чи всі компоненти СОТП. Той же самий
зв’язок між класами Методи і Нотації
означає, що метод використовує нотацію
для фіксації результатів свого виконання,
тобто деякого стану ПЗ.
Семантика зв’язку «Складається
із» між класом СОТП з одного боку і кла-
сами Технологічні процеси, Методи, Но-
тації, Інструментальні засоби з іншого
боку полягає у тому, що будь-який екзем-
пляр класу СОТП містить у собі екземп-
ляри інших перелічених класів як компо-
ненти. Тобто маємо зв’язок типу компо-
зиція.
Зв’язок «Містить» між класами Те-
хнологічні процеси і Технологічні операції
означає, що екземпляр першого класу
складається із певного числа екземплярів
другого класу.
Семантика зв’язку «Виконується»
між класами Технологічні операції і Мето-
ди, та полягає у тому, що будь-яка техно-
логічна операція виконується відповідним
методом.
Зв’язок «Перетворює» між класами
Технологічні операції і Стани розроблю-
ваного ПЗ означає, що виконання техно-
логічної операції переводить розроблюва-
не ПЗ із деякого проміжного стану в ін-
ший проміжний стан у процесі розробки.
При цьому кінцевий стан ПЗ фактично є
готовим.
Зв’язок «Підтримує» між класами
Інструментальні засоби і Методи, а також
Інструментальні засоби і Нотації означає,
що інструментальний засіб автоматизує
виконання методу і фіксацію результатів
на комп’ютері у відповідному операційно-
му середовищі.
Основні етапи і зміст метапроцесу
конструювання СОТП
Основою конструювання СОТП є
процесний підхід, що включає у себе
формування схеми ліній із процесів і опе-
рацій, необхідних для розробки компоне-
нтів майбутнього ПЗ. Ця схема являє со-
бою технологічний процес розробки ПЗ і
включає всі необхідні дії, які треба вико-
нати від постановки завдання до отри-
мання готового програмного засобу. При
цьому введемо одне обмеження: у процес
розробки включаються процеси, що вико-
нують дії, зв’язані тільки з розробкою ПЗ.
Тобто процеси інсталяції й супроводу ПЗ
ми не розглядаємо.
Головна вимога до побудови про-
цесу розробки ПЗ – комплектування його
із процесів ЖЦ, що відповідають розроб-
лювальному домену й стосуються власне
розробки ПЗ. У такий спосіб процес роз-
робки ПЗ виходить фактично із ЖЦ ПЗ.
Потім цей процес деталізується на
технологічні операції (ТО) і наповнюється
методами, нотаціями та інструментами,
які застосовуються розробниками для
створення ПЗ.
Виходячи із представленої вище
концептуальної моделі метатехнології, у
метапроцесі конструювання сервісно-
орієнтованої технології програмування
виділяються шість наступних етапів:
1) визначення і фіксація вимог до
створюваної СОТП та вибір моделі техно-
логічного процесу розробки ПЗ;
2) специфікація вимог до методів і
нотацій, як компонент СОТП;
3) вибір методів і нотацій, які задо-
вольняють визначеним вимогам;
4) специфікація вимог до інструме-
нтів – компонентів СОТП;
5) пошук і добір потрібних інстру-
ментів, які задовольняють визначеним ви-
могам у веб-середовищі;
6) інтеграція компонентів і ство-
рення розподіленого середовища розробки
ПЗ.
Перший з цих етапів має за кінце-
ву мету визначення моделі технологічно-
го процесу (ТП), яка буде покладена в
основу конструйованої СОТП. Визначен-
ня вимог до СОТП проводиться на основі
загальних специфікацій ПЗ, яке буде роз-
роблятися за допомогою цієї технології,
та специфікацій задач предметної області,
яка автоматизується цим ПЗ. Технологіч-
ний процес розробки ПЗ визначає дії, їх
послідовність, необхідний склад виконав-
ців, засоби і ресурси, і ділиться на сукуп-
ність послідовно-паралельних, зв'язаних і
супідрядних ланцюжків дій. Кожна з цих
дій є ТО, яка переводить розроблюване
Експертні та інтелектуальні інформаційні системи
112
ПЗ із деякого вхідного у вихідний (для
даної ТО) стан.
Таким чином, технологія програ-
мування задається регламентованою пос-
лідовністю ТО, виконуваних на основі
того або іншого методу, внаслідок чого
стає ясним, не тільки, що має бути зроб-
лене для створення проекту, але як, ким і
в якій послідовності. Предметом будь-
якої обраної технології програмування
слугує відображення взаємозалежних ТО
на всіх стадіях життєвого циклу ПС.
Етапи 2, 4 і 3, 5 на перший погляд є
тотожними, але все ж таки відрізняються
для методів і нотацій з одного боку, і для
інструментів – з іншого. Це пов’язано з
тим, що інструменти, що включаються до
технології як Tool at a Service (TaaS), ма-
ють, по-перше, задовольняти специфіч-
ним вимогам якості, по-друге, автомати-
зовувати застосування вибраних методів і
нотацій. Інакше кажучи, методи і нотації є
первинними щодо інструментів і накла-
дають додаткові вимоги до останніх. Саме
тому вимоги до методів розробки і нота-
цій, якими фіксуються отримані артефак-
ти розробки, визначаються на окремому –
другому етапі.
На третьому етапі виконується до-
бір методів і нотацій, як компонентів
СОТП, виходячи з вимог до них. Також
виконується прив’язка вибраних компо-
нентів до етапів і операцій технологічного
процесу розробки ПЗ. При цьому врахо-
вується сумісність цих компонентів, яка,
щоправда, може встановлюватись апріорі
(метод використовує певну нотацію), коли
на одному етапі застосовується тільки
один метод. Якщо ж на різних операціях
або послідовностях операції використо-
вуються різні методи, то конструктор
СОТП має враховувати їхню сумісність за
нотаціями входу та виходу.
Четвертий етап – визначення вимог
до інструментів має за мету визначення
фактично двох груп вимог. Перша – це
вимоги сумісності, які полягають у забез-
печенні автоматизованої підтримки ін-
струментом раніше вибраних методів і
нотацій. Друга група містить вимоги яко-
сті, яким має відповідати інструмент, щоб
бути використаним як TaaS у “хмарній”
інфраструктурі, яка є базовою для розпо-
діленого середовища розробки ПЗ.
П’ятий етап – пошук і добір потрі-
бних інструментів у веб-середовищі є
найбільш важливим і трудомістким у
метапроцесі конструювання СОТП. Осно-
вою для нього є дві групи вимог до TaaS,
визначені на попередньому етапі й пред-
ставлені у вигляді онтологічних описів.
Пошук інструментів, представлених як
веб-сервіси за концепцією TaaS, викону-
ється у веб-середовищі за технологією
UDDI (Universal Description, Discovery and
Integration). Ця технологія передбачає ве-
дення реєстру веб-сервісів. Підключив-
шись до цього реєстру, конструктор до-
бирає сервіси, які найкращим чином задо-
вольняють визначеним вимогам. Техноло-
гія UDDI надає можливість пошуку і пуб-
лікації потрібного сервісу, при цьому ці
операції можуть виконуватися як конс-
труктором, так й іншим веб-сервісом або
спеціальною програмою клієнтом.
І на завершальному етапі інтеграції
компонентів і створення розподіленого
середовища розробки ПЗ відбувається
прив’язка компонентів СОТП до етапів і
операцій процесу розробки ПЗ. Вона про-
водиться з урахуванням місця знаходжен-
ня інструментів на технологічних плат-
формах у розподіленому середовищі роз-
робки. Таким чином при переході від тра-
диційної технології програмування до
сервісно-орієнтованої модель СОТП до-
повнюється п’ятим компонентом – мно-
жиною платформ, на яких розміщена
множина інструментів, що включені до
СОТП.
Таким чином привнесення в
метапроцес конструювання СОТП
онтологічного підходу та представлення
компонентів створюваної СОТП як веб-
сервісів означає, що за допомогою
онтологій специфікуються вимоги до
створюваної технології та її компонентів.
А для представлених у веб-середовищі
множин компонентів СОТП створюються
їх онтологічні описи. Потім шляхом
співставлення виконується пошук і добір
потрібних компонентів, з яких
формується потрібна технологія розробки
ПЗ. Схематично це показано на рис. 2.
Експертні та інтелектуальні інформаційні системи
113
Визначення
узагальнених вимог
до СОТП
Визначення вимог
до методів і нотацій
Вибір методів і
нотацій
Визначення вимог
до інструментів
Пошук і добір
інструментів (TaaS
Інтеграція
компонентів у
СОТП
Композиція сервісів
– інструментів
(TaaS)
Співставлення
онтологій
Онтологічні
специфікації вимог
до інструментів
Співставлення
онтологій
Онтологічні
специфікації вимог
до методів і нотацій
Онтологічний опис методів і
нотацій
Онтологічний опис
інструментів як TaaS
Рис. 2. Модель метатехнологічного процесу конструювання СОТП
Експертні та інтелектуальні інформаційні системи
114
Архітектура розподіленого
середовища розробки програмного
забезпечення
Концепція побудови СОТП перед-
бачає її функціонування у розподіленому
середовищі розробки ПЗ. Це викликано
тим, що самі інструменти розробки,
представлені як TaaS, розміщені у веб-
середовищі. В основі архітектури розпо-
діленого середовища розробки ПЗ ле-
жить парадигма глобальної розробки
програмного забезпечення – Global
Software Development (GSD).
Парадигма глобальної розробки
ПЗ – Global Software Development (GSD)
[4] – полягає у представленні інстру-
ментів розробки ПЗ у вигляді веб-
сервісів, доступних у веб-середовищі з
будь-якої точки планети. При цьому
колектив, що займається розробкою
проекту може бути територіально роз-
поділеним, тобто його учасники утво-
рюють групи, які можуть географічно
перебувати в різних точках і робити
свою частину роботи за проектом,
співпрацювати з іншими групами через
Інтернет-середовище. Кожна група ви-
конує конкретні роботи з створення
ПЗ, як правило на певному етапі роз-
робки.
Для виконання цих робіт викорис-
товуються відповідні інструменти, і
учасникам групи надається доступ до
них в Інтернет-середовищі. При цьому
інструменти для розробки ПЗ надають-
ся розроблювачам як веб-сервіси по
моделі TaaS (Tool as a Service) з вико-
ристанням «хмарної» технології. Інстру-
менти пов’язані з відповідними групами
й надаються тільки членам цієї групи.
Інструменти фізично розміщені у веб-
середовищі на платформах, які є части-
ною “хмарної” інфраструктури. Із плат-
форм створюється віртуальне середови-
ще розробки ПЗ, до якого також входять
клієнтські термінали розроблювачів і
репозиторій артефактів процесу роз-
робки. Інструменти в цьому середовищі
взаємодіють як між собою, так і з
репозиторієм на підставі прийнятого
стандарту. Структура середовища роз-
робки буде менш складною, якщо
провайдери, що пропонують інструменти
будуть групувати їх на платформах
відповідно до функціонального призна-
чення й націленими на підтримку
певного етапу процесу розробки. Оскіль-
ки колектив розроблювачів також
структурується подібним чином, це
забезпечить мінімум перехресних
посилань типу «розроблювач – плат-
форма». В ідеальному випадку всі
інструменти, необхідні певній групі
розроблювачів, будуть розміщені на
одній платформі.
Застосовуючи даний підхід до
СОТП, архітектуру інтегрованого розпо-
діленого середовища розробки ПЗ можна
графічно показати на рис. 3.
Структурно воно поділяється на:
клієнтські термінали розроб-
ників ПЗ, які можуть бути географічно
розподілені;
віртуальну технологічну плат-
форму розробки, яка містить інформацію
щодо знаходження у мережі включених
до СОТП інструментів-сервісів і артефа-
ктів проекту розробки ПЗ, а також забез-
печує доступ та взаємодію розробників із
інструментами та артефактами;
“хмарний” хостинг інструмен-
тів, що входять до СОТП;
“хмарний” хостинг артефактів
які продукуються і використовуються в
процесі розробки ПЗ.
Експертні та інтелектуальні інформаційні системи
115
Хмарний хостинг інструментів-
сервісів (TaaS)
Хмарний хостинг артефактів
проекту розробки програмного
забезпечення
Територіально розподілені групи розробників програмного забезпечення
Розробник-2 Розробник-NРозробник-1
...
Віртуальна технологічна платформа розробки
Забезпечення доступу і взаємодії з
TaaS, що включені до СОТП
Забезпечення доступу і взаємодії з
репозиторієм артефактів розробки
ПЗ
Рис. 3. Архітектура інтегрованого розподіленого середовища розробки ПЗ
Висновки
Представлена концепція конструю-
вання СОТП із застосуванням онтології
для семантичних описів компонентів тех-
нології лежить в основі методології інте-
лектуалізованого створення СОТП. Серві-
сно-орієнтований підхід у поєднанні з
хмарними технологіями дозволяє викорис-
товувати СОТП у розподіленому середо-
вищі розробки ПЗ.
1. Зінькович В.М., Моренцов Є.І. Концепції та
засоби метатехнології для створення про-
блемно-орієнтованих технологій програ-
мування. Проблеми програмування. 2002.
№ 3-4. С. 74–82.
2. McGuinness, D.L. and Harmelen F.V. OWL
Web Ontology Language Overview. 2004.
[Електронний ресурс]. Режим доступу:
http://www.w3.org/TR/owl-features/.
3. Introduction to OWL. 2006. [Електронний
ресурс]. – Режим доступу:
http://www.w3schools.com/rdf/rdf_owl.asp.
4. Hashmi S.I. et al. Using the Cloud
to Facilitate Global Software Develop-
ment Challenges. Global Software
Експертні та інтелектуальні інформаційні системи
116
Engineering Workshop (ICGSEW), Sixth
IEEE International Conference. 2011.
P. 70–77.
References
1. Zinkovich V.M., Morentsov Y.I. (2002)
Concepts and means of a metatechnology
for creation problem-oriented software
technologies. Problems in programming. (3-
4). P. 74–82. (in Ukrainian).
2. McGuinness, D.L. and F.V. Harmelen.
OWL Web Ontology Language Overview.
2004. [Electronic resource]. Mode of
access:
http://www.w3.org/TR/owl-features/.
3. Introduction to OWL. 2006. [Electronic
resource]. – Mode of access:
http://www.w3schools.com/rdf/rdf_owl.asp.
4. Hashmi S.I. et al. Using the Cloud to
Facilitate Global Software Development
Challenges // Global Software Engineering
Workshop (ICGSEW), Sixth IEEE
International Conference. 2011. P. 70–77.
Одержано 07.02.2017
Про автора:
Моренцов Євген Іванович,
кандидат технічних наук,
старший науковий співробітник.
Кількість наукових публікацій в
українських виданнях – 40.
http://orcid.org/0000-0002-0497-11838.
Місце роботи автора:
Інститут програмних систем
НАН України,
03187, м. Київ,
проспект Академіка Глушкова, 40.
Тел.: 526 4286.
E-mail: yevhen18@diawest.net.ua
http://www.w3.org/TR/owl-features/
http://orcid.org/0000-0002-4078-1062
|