Збіркове програмування компонентних і сервіс-орієнтованих прикладних програмних систем
Зафіксовано основні проблеми розроблення сучасних прикладних застосунків. Проаналізовано особливості їх постановок у парадигмах компонентного та сервісного програмування. Підсумовано результати фахівців ІПС НАНУ з опрацювання цих проблем у парадигмах програмування збіркового типу (поняття й реалізац...
Збережено в:
Дата: | 2017 |
---|---|
Автори: | , |
Формат: | Стаття |
Мова: | Ukrainian |
Опубліковано: |
Інститут програмних систем НАН України
2017
|
Назва видання: | Проблеми програмування |
Теми: | |
Онлайн доступ: | http://dspace.nbuv.gov.ua/handle/123456789/144494 |
Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
Цитувати: | Збіркове програмування компонентних і сервіс-орієнтованих прикладних програмних систем / П.І. Андон, О.О. Слабоспицька // Проблеми програмування. — 2017. — № 3. — С. 31-51. — Бібліогр.: 39 назв. — укр. |
Репозитарії
Digital Library of Periodicals of National Academy of Sciences of Ukraineid |
irk-123456789-144494 |
---|---|
record_format |
dspace |
spelling |
irk-123456789-1444942018-12-26T01:23:01Z Збіркове програмування компонентних і сервіс-орієнтованих прикладних програмних систем Андон, П.І. Слабоспицька, О.О. Методи та засоби програмної інженерії Зафіксовано основні проблеми розроблення сучасних прикладних застосунків. Проаналізовано особливості їх постановок у парадигмах компонентного та сервісного програмування. Підсумовано результати фахівців ІПС НАНУ з опрацювання цих проблем у парадигмах програмування збіркового типу (поняття й реалізація інтерфейсу, об’єктно-компонентний метод програмування, компонентні алгебри, методи перетворення типів даних, формальні засоби забезпечення змінності компонентних застосунків за рахунок управління їх варіабельністю). Показано розвиток доробку компонентного програмування в парадигмі сервісного програмування в семантичному Веб-середовищі (формальний апарат підтримки життєвого циклу композитного семантичного сервісу, методи оптимізації ярусно-паралельних композицій, моделі та методи забезпечення його адаптивності). Окреслено засоби технологічної підтримки застосування розробленого формального апарату компонентного програмування. Визначено проблеми для подальшого опрацювання в парадигмі сервісного програмування. Зафиксированы основные проблемы разработки современных прикладных программных систем. Проанализированы особенности их постановок в парадигмах компонентного и сервисного программирования. Подытожены результаты специалистов ИПС НАНУ по проработке этих проблем в парадигмах программирования сборочного типа (понятие и реализация интерфейса, объектно-компонентный метод программирования, компонентные алгебры, методы преобразования типов данных, формальные средства обеспечения изменяемости компонентных приложений за счет управления их вариабельностью). Показано развитие наработок компонентного программирования в русле парадигмы сервисного программирования в среде семантического Веба (формальный аппарат поддержки жизненного цикла композитного семантического сервиса, модели и методы обеспечения его адаптивности, методы оптимизации ярусно-параллельных композиций). Очерчены средства технологической поддержки применения разработанного формального аппарата компонентного программирования. Определены пробемы для дальнейшей разработки в парадигме сервисного программирования. Basic Issues are fixed for keen Applied Software Applications development. Their statements’ specifics are analyzed for the paradigms of Component and Service programming. The results of SSI NASU researchers are summed up pertaining to cope these Issues with the paradigms of assembly type (interface concept and implementation, object-component programming method, component algebras, methods for data types transforming, formalisms to enable component applications changeability through their variability management). Amplification of the Component programming backlog in Semantic Web with the Service programming paradigm is highlighted (formal tools to support life cycle of composite Semantic Service, models and methods to enable its adaptation, methods to optimize layer-parallel compositions). The tools are drafted to technologically maintain usage of Component programming formalisms elaborated. The Problems are defined for fur-their exploration with the Service programming paradigm. 2017 Article Збіркове програмування компонентних і сервіс-орієнтованих прикладних програмних систем / П.І. Андон, О.О. Слабоспицька // Проблеми програмування. — 2017. — № 3. — С. 31-51. — Бібліогр.: 39 назв. — укр. 1727-4907 http://dspace.nbuv.gov.ua/handle/123456789/144494 519.164:004.14 uk Проблеми програмування Інститут програмних систем НАН України |
institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
collection |
DSpace DC |
language |
Ukrainian |
topic |
Методи та засоби програмної інженерії Методи та засоби програмної інженерії |
spellingShingle |
Методи та засоби програмної інженерії Методи та засоби програмної інженерії Андон, П.І. Слабоспицька, О.О. Збіркове програмування компонентних і сервіс-орієнтованих прикладних програмних систем Проблеми програмування |
description |
Зафіксовано основні проблеми розроблення сучасних прикладних застосунків. Проаналізовано особливості їх постановок у парадигмах компонентного та сервісного програмування. Підсумовано результати фахівців ІПС НАНУ з опрацювання цих проблем у парадигмах програмування збіркового типу (поняття й реалізація інтерфейсу, об’єктно-компонентний метод програмування, компонентні алгебри, методи перетворення типів даних, формальні засоби забезпечення змінності компонентних застосунків за рахунок управління їх варіабельністю). Показано розвиток доробку компонентного програмування в парадигмі сервісного програмування в семантичному Веб-середовищі (формальний апарат підтримки життєвого циклу композитного семантичного сервісу, методи оптимізації ярусно-паралельних композицій, моделі та методи забезпечення його адаптивності). Окреслено засоби технологічної підтримки застосування розробленого формального апарату компонентного програмування. Визначено проблеми для подальшого опрацювання в парадигмі сервісного програмування. |
format |
Article |
author |
Андон, П.І. Слабоспицька, О.О. |
author_facet |
Андон, П.І. Слабоспицька, О.О. |
author_sort |
Андон, П.І. |
title |
Збіркове програмування компонентних і сервіс-орієнтованих прикладних програмних систем |
title_short |
Збіркове програмування компонентних і сервіс-орієнтованих прикладних програмних систем |
title_full |
Збіркове програмування компонентних і сервіс-орієнтованих прикладних програмних систем |
title_fullStr |
Збіркове програмування компонентних і сервіс-орієнтованих прикладних програмних систем |
title_full_unstemmed |
Збіркове програмування компонентних і сервіс-орієнтованих прикладних програмних систем |
title_sort |
збіркове програмування компонентних і сервіс-орієнтованих прикладних програмних систем |
publisher |
Інститут програмних систем НАН України |
publishDate |
2017 |
topic_facet |
Методи та засоби програмної інженерії |
url |
http://dspace.nbuv.gov.ua/handle/123456789/144494 |
citation_txt |
Збіркове програмування компонентних і сервіс-орієнтованих прикладних програмних систем / П.І. Андон, О.О. Слабоспицька // Проблеми програмування. — 2017. — № 3. — С. 31-51. — Бібліогр.: 39 назв. — укр. |
series |
Проблеми програмування |
work_keys_str_mv |
AT andonpí zbírkoveprogramuvannâkomponentnihíservísoríêntovanihprikladnihprogramnihsistem AT slabospicʹkaoo zbírkoveprogramuvannâkomponentnihíservísoríêntovanihprikladnihprogramnihsistem |
first_indexed |
2025-07-10T19:30:46Z |
last_indexed |
2025-07-10T19:30:46Z |
_version_ |
1837289564843016192 |
fulltext |
Методи та засоби програмної інженерії
© П.І. Андон, О.О. Слабоспицька, 2017
ISSN 1727-4907. Проблеми програмування. 2017. № 3 31
УДК 519.164:004.14
П.І. Андон, О.О. Слабоспицька
ЗБІРКОВЕ ПРОГРАМУВАННЯ
КОМПОНЕНТНИХ І СЕРВІС-ОРІЄНТОВАНИХ
ПРИКЛАДНИХ ПРОГРАМНИХ СИСТЕМ
Зафіксовано основні проблеми розроблення сучасних прикладних застосунків. Проаналізовано особли-
вості їх постановок у парадигмах компонентного та сервісного програмування. Підсумовано результати
фахівців ІПС НАНУ з опрацювання цих проблем у парадигмах програмування збіркового типу (понят-
тя й реалізація інтерфейсу, об’єктно-компонентний метод програмування, компонентні алгебри, методи
перетворення типів даних, формальні засоби забезпечення змінності компонентних застосунків за ра-
хунок управління їх варіабельністю). Показано розвиток доробку компонентного програмування в па-
радигмі сервісного програмування в семантичному Веб-середовищі (формальний апарат підтримки
життєвого циклу композитного семантичного сервісу, методи оптимізації ярусно-паралельних компо-
зицій, моделі та методи забезпечення його адаптивності). Окреслено засоби технологічної підтримки
застосування розробленого формального апарату компонентного програмування. Визначено проблеми
для подальшого опрацювання в парадигмі сервісного програмування.
Ключові слова: збіркове програмування, сервісне програмування, метод зборки, інтерфейс, семантич-
ний Веб-сервіс, компонування семантичних Веб-сервісів, об’єкт, компонент, інженерія якості, стандар-
тизація програмного забезпечення, ярусно-паралельний граф, адаптивний композитний сервіс.
Актуальні проблеми
та засади їх опрацювання
За умов стрімкого розвитку програ-
мної індустрії у світі та в Україні дедалі
перспективнішою парадигмою програмної
інженерії стає сервісне програмування
[1, 2]. Один з його актуальним викликів –
автоматизована побудова й супровід сер-
віс-орієнтованих прикладних програмних
систем (СоПС) на підтримку ділових про-
цесів сучасних організацій. Саме вона є
предметом досліджень колективу фахівців
Інституту програмних систем (ІПС) НАН
України під керівництвом директора ІПС,
академіка НАН України, доктора фіз.-мат.
наук П.І. Андона протягом останнього де-
сятиріччя.
Для повно-аспектного опрацювання
цього виклику прийнято низку установчих
тез [3].
1. Узгоджене застосуванням інте-
лектуальних технологій і стандартів сема-
нтичного Вебу [1-4].
2. Конструювання СоПС згідно з
де-факто стандартним п’ятирівневим шаб-
лоном сервіс-орієнтованої архітектури
[1–3, 5], показаним на рис. 1.
3. Конструювання третього (сер-
вісного) рівня СоПС як on-line композиції
виконуваних семантичних Веб-сервісів,
відшукуваних в Інтернет.
4. Розмежоване дослідження під-
ходів до компонування семантичних Веб-
сервісів на функціональному та процесному
рівнях [3, 6].
5. Застосування мов BPMN, BPEL
та OWL-S, SWSL і SA-WSDL [3] для фор-
мального опису першого, другого й тре-
тього рівнів СоПС відповідно.
6. Збагачення (“семантизація”)
описів Веб-сервісів автоматично оброблю-
ваними семантичними анотаціями [3, 6].
7. Застосування наукового дороб-
ку, отриманого в 1976 – 2012 рр. у руслі
розвинутої концепції збіркового програму-
вання у відділі програмної інженерії ІПС
НАНУ під керівництвом доктора фіз.-мат.
наук, професора К.М. Лавріщевої, до конс-
труювання другого (компонентного) рівня
СоПС та його подальший розвиток для
сервісного рівня.
Наведені положення разом утво-
рюють підґрунтя ефективного опрацюван-
ня загальних проблем інженерії складних
розподілених програмних систем (ПС):
– інтероперабельності (П1);
Методи та засоби програмної інженерії
32
Рис. 1. П’ятирівневий шаблон сервіс-орієнтованої архітектури для СоПС
– повторної застосовності програ-
мних ресурсів (П2);
– змінюваності ПС за нових вимог
та умов застосування (П3);
– автоматизованого синтезу ПС з
програмних ресурсів на підтримку заданих
вимог (П4);
– ресурсно-ефективного керування
якістю ПС в її життєвому циклі (П5).
У статті зроблено спробу простежи-
ти зв’язок парадигм компонентного та сер-
вісного програмування під час опрацюван-
ня перерахованих проблем у побудові
СоПС. Підсумовано актуальні результати
та окреслено проблеми для подальшого
опрацювання.
Формальний апарат
збіркового програмування
Концепція збіркового програму-
вання. Опрацювання зафіксованих про-
блем П1–П5 розробки СоПС в ІПС НАН
України було розпочато на компонентному
рівні СоПС (див. рис. 1). Розвинуто вітчи-
зняну концепцію збіркового програмуван-
ня складних (розподілених) ПС для певної
предметної області (ПрО) [7–11]. Її сут-
ність – втілення ідеї академіка В.М. Глуш-
кова щодо автоматичного виробництва ПС
з різнорідних готових ресурсів повторного
використання (РПВ) на «збиральному кон-
веєрі» подібно до промислового конвеєр-
ного виробництва. Таким чином, базовими
поняттями збіркового програмування є:
1) РПВ – об’єкт зборки («деталь»);
2) метод зборки («конвеєр»);
3) інтерфейс між мовами програму-
вання та між програмними РПВ («засіб
з’єднання деталей»).
Метод збірки – спосіб організації
необхідної взаємодії різнорідних програм-
них РПВ у структурованій ПС із взаємно
однозначним перетворенням типів їх вхід-
них і вихідних даних. Міжмовний інтер-
фейс – сукупність формальних засобів
цього перетворення для різномовних (і,
можливо, різноплатформних) РПВ. Інтер-
фейс між програмними РПВ – сукупність
формальних засобів організації обміну да-
ними між ними.
З позицій збіркового програмування
модульне, об’єктне, компонентне й сервіс-
не програмування уніфіковано як парадиг-
ми збіркового типу [7–9]. У руслі перших
трьох парадигм запропоновано формаліз-
Методи та засоби програмної інженерії
33
ми для методу зборки відповідних РПВ та
інтерфейсу, підсумовані в табл. 1 на підс-
таві [9].
Як свідчить таблиця, кожна паради-
гма долає певні обмеження попередніх па-
радигм з опрацювання проблем П1–П4.
Крім того, подібність компонента
повторного використання (КПВ) і Веб-
сервісу, зокрема сервісу семантичного
Вебу, зумовлюють перспективність вироб-
лених в ІПС НАНУ рішень [1–3] з подаль-
шого розвитку формального апарату ком-
понентного програмування для автомати-
зованої підтримки життєвого циклу СоПС
як (адаптивного) композитного сервісу се-
мантичного Вебу. Ці рішення виділено в
останньому стовпці таблиці й уточнено
далі.
Таблиця
Доробок ІПС НАНУ в руслі парадигм програмування збіркового типу
Базове
поняття
Парадигма програмування:
модульне (1976–1983) об’єктне (з 1983) компонентне (з 2000) сервісне (з 2007)
1 2 3 4 5
Програ-
мний
РПВ –
об’єкт
зборки
Модуль – логічно заве-
ршений, незалежний і
повторно застосовний
фрагмент коду деякою
мовою програмування
для виконання певної
функції [7–10]
Об’єкт – іменова-
на частина дійс-
ності з певним
рівнем абстракції
щодо цільової
ПрО та цілком
обумовленою по-
ведінкою [7–9,
11], трактована як
клас у сенсі
Г. Буча [12]
КПВ – незалежна від
МП програмна сутність
із певними прикладни-
ми сервісами, доступ-
ними лише через інтер-
фейси, що визначають
функції КПВ і спосіб
звернення до них [7–11]
(Семантичний)
Веб-сервіс – засто-
сунок, незалежний
від контексту й
стану інших серві-
сів, ідентифікова-
ний URI, де інтер-
фейс і засоби зв’я-
зування описані
XML і семантично
анотовані [3, 4, 6]
Метод
зборки
Добір, розміщення в
структурі цільової ПС і
генерування посередни-
ків взаємодії модулів з
перетворенням типів
даних – на підставі пас-
портів модулів і ПС [7–
10, 13, 14]
Реалізація компо-
зиції операцій
взаємодії функці-
ональних та інтер-
фейсних об’єктів
згідно з
об’єктним графом
ПС [15]
Автоматичний добір
мето-дів і їх віддалений
виклик з необхідним
перетворенням типів
даних для КПВ, взаємо-
діючих згідно з ко-
мпонентною моделлю
ПС, за рахунок систем-
них сервісів компонен-
тного середовища [7–
11, 16, 17]
Обмін повідомлен-
ня-ми між семан-
тичними Веб-
сервісами згідно з
явним (через вхо-
ди/виходи) чи не-
явним (через сер-
віс-оркестратор)
графом композиції
за HTTP, SOAP [3–
6]
Міжмов-
ний інте-
рфейс
Система процедур ізо-
морфного перетворення
між заданими парами
типів даних для фіксо-
ваних пар поширених
МП ЄС ЕОМ [8, 13, 14]
Поповнена систе-
ма процедур для
складних типів
об’єктно-орієнто-
ваних МП (порт-
фель, контейнер,
протокол та ін.)
[7–9, 15]
Системні сервіси ком-
понентного середовища
з реалізації поповненої
системи процедур [7–9,
11, 17]
Засоби операційних
систем і спеціалізо-
ваних двигунців
для реалізації сер-
віс-орієнтованої
архітектури в Се-
мантичному Вебі
[3]
Інтер-
фейс між
РПВ
Система модулів-посе-
редників, генерованих
на підставі паспортів
взаємодіючих модулів
[13, 14]
Система інтер-
фейсних об’єктів
[15]
Системні сервіси ком-
понентного середовища
з віддаленого виклику
цільових методів [7–9,
11, 17]
Те ж саме
Методи та засоби програмної інженерії
34
Закінчення таблиці
1 2 3 4 5
Подання
РПВ
Паспорт спеціальною
мовою [13, 14]
Клас у сенсі
Г. Буча [12]
Кортеж описів вхідних і
вихідних інтерфейсів
(зазвичай мовою IDL),
ідентифікаторів реалі-
зацій певними МП і
системних сервісів се-
редовища [7–9, 16, 17]
Функціонального
рівня – кортежі:
входів/виходів (IO);
IO з перед- і пост-
умовами (IOPE), де
елементам зістав-
лено концепти пев-
ної онтології [3].
Процесного рівня –
BPEL- і WSDL-
описи з семантич-
ними анотаціями
Цільова
ПС –
резуль-
тат збор-
ки
Агрегат локальних мо-
дулів, структуру якого
визначає паспорт ПС
[13, 14]
Система функціо-
нальних та інтер-
фейсних об’єктів,
взаємодіючих за
об’єктним графом
[9, 15]
Система (розподілених)
КПВ, взаємодіючих
згідно з компонентним
графом за рахунок сер-
вісів компонентного
середовища [7–9, 11, 17]
СоПС – адаптивний
динамічний компо-
зитний Веб-сервіс –
система взаємодію-
чих сервісів, on-line
відшукуваних і
замінюваних для
задоволення нових
вимог і пристосу-
вання до нових
(не)передбачених
ситуацій [3, 18, 19]
Пробле-
ма
Частково – П1, П2, П4 П1, частково П2,
П4
П1, П2, П4, частково П3 П2–П4, частково
П1, П5
Недолік Реактивне повторне ви-
користання, локаль-
ність, одномовність мо-
дулів, спеціальні засоби
взаємодії
Потреба ручного
зв’язування з ви-
могами, одномов-
ність об’єктів,
спеціальні засоби
взаємодії
Спеціальні засоби взає-
модії, надавані систем-
ними сервісами компо-
нентних середовищ,
обмеженість змін під
час виконання
Труднощі гаранту-
вання якості серві-
су, опрацювання
Big Data, керування
мережевими ресур-
сами
Поряд з формалізмами окремих
парадигм, для застосування методів збор-
ки запропоновано універсальні формальні
засоби перетворення типів вхідних/ви-
хідних даних взаємодіючих різномовних
(і, можливо, різноплатформних) РПВ
[7–11]:
– подання типу даних певної мови
програмування (МП) алгебраїчною систе-
мою, де носій – множина значень типу, а
сигнатура – перелік операцій на носії;
– формалізацію перетворення ти-
пів даних як ізоморфізму відповідних їм
алгебраїчних систем;
– алгоритми взаємно однозначного
перетворення між фундаментальними ти-
пами даних МП (простими й складними)
та загальними типами даних стандарту
ISO/IEC 11404:2007 (примітивними, агре-
гатними і генерованими).
Запропоновані засоби налаштовано
для модульного, об’єктного й компонент-
ного програмування згідно з особливостя-
ми відповідних РПВ (див. таблицю).
Модульне програмування. У цій
парадигмі створено систему автоматизації
виробництва програм (АПРОП) [13, 14] –
Методи та засоби програмної інженерії
35
одну з перших «фабрик програм» академі-
ка В.М. Глушкова. В ній реалізовано:
– технологію побудови банка мо-
дулів для автоматизації розв’язання задач
певної ПрО та опису модулів спеціальни-
ми паспортами;
– бібліотеку з 64 інтерфейсних
функцій, кожна з яких реалізує припусти-
ме перетворення між типами даних поши-
рених МП ОС ЕС (Фортран, Алгол, Кобол,
ПЛ/1, Асемблер);
– спеціальний модуль – монітор,
що реалізує метод зборки та міжмодуль-
ний і міжмовний інтерфейси (за допо-
могою генерування інтерфейсних моду-
лів-посередників з операторами виклику
необхідних інтерфейсних функцій для
обміну даними між взаємодіючими моду-
лями).
Об’єктне програмування. Цю па-
радигму розвинуто формалізмами функ-
ціонального й інтерфейсного об’єктів (ще
трактованих як класи в сенсі Г. Буча [12]).
Вони є «наступниками» цільового модуля
та модуля-посередника в модульному
програмуванні. Функціональний об’єкт,
локальний або віддалений в гетерогенно-
му середовищі, – формальне подання очі-
куваних функцій (розподіленої) ПС
(РПС), які забезпечать розв’язання задач
певної ПрО. Інтерфейсний об’єкт – по-
дання операцій виклику методів функціо-
нальних об’єктів і необхідного перетво-
рення типів їх вхідних/вихідних даних,
що опосередковує взаємодію функціона-
льних об’єктів. Побудовано алгебру опе-
рацій взаємодії функціонального й інтер-
фейсного об’єктів між собою та з
об’єктним середовищем [7, 15]. Надані
формалізми підтримують підвищення рів-
ня адекватності проектування розподіле-
них ПС та повторного використання
об’єктів за рахунок оптимізації об’єкт-
ного графу для ПрО.
Компонентне програмування. Ро-
зглянуті формалізми об’єктного програму-
вання розвинуто для опрацювання їх об-
межень – зорієнтованості на конкретну ро-
зподілену ПС (РПС) і певну МП, немож-
ливість змінення без доступу до коду.
Центральним складником розроб-
леного формального апарату є об’єктно-
компонентний метод проектування ПС
(ОКМ) К. Лавріщевої, В. Грищенка [8–11,
16, 17]. Сутність ОКМ – подання цільово-
го домену (тобто всіх ПС на підтримку
потреб суб’єктів цільової ПрО) трійкою
взаємопов’язаних моделей – об’єктною,
інтерфейсною, компонентною. Ці моделі
являють собою графи, вершинами яких є
запропоновані моделі [9,11,16] відповідно
об’єктів ПрО, їх інтерфейсів і КПВ реалі-
зації інтерфейсів, а дугами – класифіка-
ційні й предметні відношення між верши-
нами. Отже, модель окремої (розподіле-
ної) ПС – трійка відповідних підграфів.
Для об’єкта запропоновано [16]
первинне подання трикутником Г. Фреге.
Він пов’язує:
– знак – ідентифікатор, що позна-
чає певну сутність об’єктивної дійсності;
– денотат – позначену сутність;
– концепт – сукупність значущих
для проектувальника домену властивостей
цієї сутності, тобто предикатів, які можна
отримати з множини унарних предикатів
“мати властивість”, істинних для неї, за
допомогою логічних зв’язок.
Передбачено уточнення таких “три-
кутників” до класу в сенсі Г. Буча.
Інтерфейс подано унікальним ім’ям
і переліком сигнатур методів із специфіка-
ціями їх вхідних/вихідних даних. Моделлю
КПВ є кортеж, утворений унікальним
ім’ям, множинами вхідних і вихідних інте-
рфейсів та реалізацій їх методів певними
МП, інтерфейсом керування екземплярами
КПВ і множиною системних сервісів.
ОКМ охоплює два кроки: об’єктний
аналіз домену та проектування КПВ.
Мета об’єктного аналізу – подати
домен графом функціональних та інтер-
фейсних об’єктів – класів у сенсі Г. Буча,
методи яких реалізують усі функції мож-
ливих ПС, запитані суб’єктами ПрО, та їх
взаємодії з необхідним перетворенням да-
них. Відповідно, дуги подають відношення
взаємодії між об’єктами.
Для цього послідовно формують
підграфи трьох проміжних рівнів [9, 11, 16]:
Методи та засоби програмної інженерії
36
– узагальнюючого, де вершинами є
об’єкти – трикутники Фреге з невизначе-
ними концептами, значущі для суб’єкта
аналізу, а множина дуг порожня;
– структурно-впорядковуючого, де
вершини тієї ж природи, а дуги подають
відношення Is_a й Part_of між ними на під-
ставі їх денотатів у теоретико-множин-
ному сенсі;
– характеристичного, де формують
концепти для вершин, уточнюють відно-
шення Is_a й Part_of та фіксують предмет-
ні відношення між ними згідно зі складом
концептів.
Нарешті, на четвертому поведінко-
вому рівні на підставі сформованих кон-
цептів визначають методи об’єктів, фор-
мують їх інтерфейси й зіставляють кож-
ному трикутнику Фреге один чи декілька
класів. Складають послідовності станів
отриманих класів і діаграми переходів
станів. Залежність від часу враховано до-
лученням до формованого підграфа спеці-
ального об’єкта Timer для надсилання по-
відомлень про поточний час за певним
регламентом. Решта об’єктів мають від-
повідний метод, що аналізує отримане
значення та, за потреби, ініціює перехід
до іншого стану.
На підтримку адекватного форму-
вання зазначених рівнів запропоновано
двоосновну алгебраїчну систему об’єкт-
ного аналізу [9, 16]. Вона містить:
– множини подань об’єктів (трику-
тником Фреге і класом);
– операції декомпозиційної зміни
денотату об’єкта для формування нових
(не)однорідних об’єктів;
– операції композиційної зміни де-
нотатів (не)однорідних об’єктів для фор-
мування нового об’єкта;
– операції розширення/звуження
концептів наявних об’єктів;
– унарні відношення “мати власти-
вість”, відповідні значущим властивостям
об’єктів ПрО;
– відношення Is_a, Part_of й істотні
класифікаційні відношення об’єктів ПрО.
У свою чергу, проектування КПВ
передбачає ізоморфне відображення побу-
дованого графу класів у граф моделей їх
інтерфейсів та побудову сукупності моде-
лей компонентів, які разом ресурсно ефек-
тивно реалізують методи інтерфейсів.
Для розширення сфери застосуван-
ня ОКМ і підвищення його ефективності
запропоновано решту формалізмів [9, 11,
16]:
– моделі компонентної програми
разом з умовами її цілісності та компонен-
тного середовища;
– відношення тотожності, еквіва-
лентності, подібності, успадкування, конт-
ракту компонентів і зв’язування їх екземп-
лярів;
– двоосновну зовнішню компонен-
тну алгебру, що поєднує операції розгор-
тання компонента в компонентному сере-
довищі, (комутативне й асоціативне)
об’єднання середовищ і вилучення компо-
нента з середовища;
– внутрішню алгебру рефакто-
рингу компонента з операціями долучення
нової реалізації для існуючого інтерфейсу
й разом з новим інтерфейсом, заміщення
існуючої реалізації новою без зміни вхід-
ного інтерфейсу, долучення нового вхідно-
го інтерфейсу для існуючої реалізації;
– алгебру реінжинірингу компоне-
нта, де операції рефакторингу доповнено
вилученням інтерфейсу, зміненням його
сигнатури, вилученням реалізації;
– багатоосновну алгебру операцій
взаємного ізоморфного перетворення фу-
ндаментальних типів даних поширених
МП (простих, структурованих і складних
неструктурованих) між собою та між за-
гальними типами ISO/IEC 11404:2007 під
час взаємодії різномовних і/або різноплат-
формних КПВ.
Зазначені формалізми інтегровано в
інформаційній технології автоматизова-
ної зборки ПС для певної ПрО з поперед-
ньо відшуканих/розроблених КПВ. Метод
зборки реалізовано ресурсно ефективною
композицією операцій компонентних
алгебр та алгебри реінжинірингу за ком-
понентною моделлю ПС.
Таким чином, запропонований апа-
рат компонентного програмування вперше
Методи та засоби програмної інженерії
37
уможливлює проактивне повторне вико-
ристання КПВ за рахунок формального
зв’язку очікуваних функцій РПС з інтер-
фейсами КПВ їх реалізації, запроваджено-
го в ОКМ, і змінення компонентної РПС
без доступу до коду операціями запропо-
нованих алгебр [9, 11, 16]. Однак потребу
й аргументи цих операцій усе ще має ви-
значати користувач/супроводжувач РПС у
ручному режимі на підставі внутрішньої
структури КПВ.
Значна трудомісткість і тривалість
цього все ще “ручного” змінення та висока
ймовірність незадовільної якості зміненої
РПС через помилки його виконавця зумо-
вили зосередження подальших досліджень
на формальних засобах збіркового програ-
мування автоматизовано змінюваних та
адаптовних РПС.
Забезпечення змінюваності
складних РПС
Формальні засоби забезпечення
змінюваності. Створені засоби є результа-
том узгодженого розвитку [20–24] двох
загальновизнаних підходів до індустріаль-
но-го виробництва змінюваних ПС: гене-
рувального програмування (K. Czarnecki)
та побудови ліній програмних продуктів
(K. Pohl). Їх об’єднує перехід від розгляду
окремої ПС до Сімейства ПС (СПС). СПС
– це поповнюваний набір ПС, елементи
якого мають керовану множину спільних
властивостей на підтримку потреб спожи-
вачів у ПрО й розробляються попередньо
визначеним способом із спільної множини
РПВ1. Властивість – вимога, функція чи
нефункціональна характеристика, запитана
споживачами.
Незалежно від підходу, визначаль-
ними особливостями СПС є [21, 22]:
– простори Проблеми й Рішень,
утворені передбаченими для ПрО обов’яз-
ковими та змінними властивостями РПС і,
відповідно, РПВ з правилами їх компону-
вання в РПС для реалізації властивостей;
– формалізм моделі властивостей
(МВ) – їх дерева з відношеннями обумов-
леності, зіставлення, виключення й варіан-
1 http://www.sei.cmu.edu/productlines/
тного підпорядкуванням [21], що є де-фак-
то стандартом опису простору проблеми;
– процеси конструювання домену
(де розробляють РПВ) і застосунків (де
РПВ компонують у ПС із спільними й пе-
редбаченими змінними властивостями);
– процес керування варіабельніс-
тю – здатністю ПС до ефективного розвит-
ку, зміни, налаштування або конфігуру-
вання для використання в певному кон-
тексті, проявленої точками варіантності
(проявами артефактів, реалізованих кіль-
кома способами) та їх варіантами [23].
Зафіксовано критичне обмеження
обох підходів – відсутність формалізму
зв’язування властивостей ПС з ресурсами
їх реалізації. Саме воно вимагає “ручного”
компонування РПВ або визначення гене-
руючої моделі [20].
Для подолання цього обмеження:
– розроблено моделі варіабельно-
сті в структурі й артефактах СПС [21,
23], що поширюють МВ на основні арте-
факти процесу розробки (вимоги, архітек-
туру, програмні РПВ тощо) за допомогою
формалізованих зв’язків трасовності, та
модель оцінювання рівня варіабельності
[23];
– за допомогою ОКМ першу
модель перетворено в об’єктно-ком-
понентну модель варіабельності зміню-
ваної компонентної РПС, розглядуваної
як сімейство її передбачених варіантів
[21] і сімейства таких РПС [22], а другу –
в подібну модель передбаченого варіанта
компонентної РПС або члена їх сімейства.
В цих моделях канонічні для ОКМ графи
об’єктів, інтерфейсів і КПВ доповнено
формалізованими точками варіабельності
й їх варіантами, що описують припустимі
зміни функцій РПС. Для побудови такого
графу “варіабельних об’єктів” розвинуто
багатотуровий Процес конструктивного
аналізу ПрО [22] з використанням технік
Інженерії співпраці для експертного зіс-
тавлення властивостей ПрО потенційним
РПС;
– запропоновано рамкову модель
сімейства змінюваних РПС, зокрема ком-
понентних [21], складником якої є зазна-
http://gsd.uwaterloo.ca/kczarnec
Методи та засоби програмної інженерії
38
чена модель варіабельності в структурі
зокрема, її об’єктно-компонентне уточ-
нення), яка уможливлює автоматизоване
змінне компонування РПВ згідно з визна-
ченими в ній зв’язками трасовності;
– третю модель доповнено рам-
ковим переліком проявів незадовільної ва-
ріабельності сімейства змінних компонен-
тних РПС і перетворено в діагностичну
модель оцінювання рівня варіабельності
компонентних РПС та їх СПС [22].
На підставі наданої моделі змінної
компонентної РПС формалізовано опера-
ції її первинного компонування (з КПВ
і/або інших РПС) і (не)передбаченого
змінення для адаптації до нових вимог й
умов вико-нання. Показано, що ці змінен-
ня (шляхом спеціального вилучення, до-
лучення й заміни варіантів у точках варіа-
бельності об’єктів і КПВ) утворюють дво-
основні алгебри (не)передбачених варіан-
тів РПС [22]. Надані алгебри являють со-
бою розвиток алгебр рефакторингу й ре-
інжинірингу в ОКМ для складених зміню-
ваних КПВ.
Побудовано рамкову технологічну
модель процесу автоматизованого виро-
бництва СПС [24]. Його подано компо-
зицією операцій запроваджених функцій
обґрунтованого керування варіабельніс-
тю [23–26] у середовищі трьох вище-
зазначених рамкових моделей згідно з
генерувальною моделлю. Вона визначена
як відображення між просторами про-
блеми й рішень відповідно до зв’язків
трасовності у моделі варіабельності в
структурі СПС.
Перелік функцій узагальнює дії у
відомому циклі PDCA Е. Дьомінга в індус-
тріальних технологіях розроблення СПС.
Він охоплює: технологічну підготовку й
ініціалізацію модельного середовища,
планування варіабельності в структурі й
артефактах СПС, її реалізацію, відстежен-
ня задовільності й актуалізацію СПС для
опрацювання незадовільності.
Технологія конфігураційного
збирання змінюваних РПС. На підтрим-
ку конструювання РПС з РПВ (зокрема, з
КПВ) запропоновано [21, 25, 26] інтегру-
вати процес керування конфігурацією
РПВ до спеціального процесу проактив-
ного обґрунтованого керування варіабель-
ністю РПС. Він є технологічним уточ-
ненням розглянутого процесу виробницт-
ва СПС [24] за рахунок надання функціям
керування варіабельністю спеціального
змісту:
– планування складу РПС і РПВ
(КПВ) з їх варіантами для цільової ПрО;
– добір, налаштування або безпо-
середня розробка термінальних РПВ
(КПВ) та їх автоматизоване компонування
(“збирання”) у цільові РПС за моделлю
варіабельності в структурі чи її ОКМ-
уточненням;
– відстеження відповідності скла-
ду РПС і РПВ (КПВ) потребам споживачів
з діагностуванням невідповідностей і ви-
роблення коригуючих дій щодо відповід-
них артефактів;
– актуалізація моделі варіабельно-
сті в структурі (її ОКМ-уточнення) і/або
поточного складу РПС і РПВ (КПВ) для
опрацювання незадовільності.
На підтримку виконання наведених
функцій, вищезазначене модельне середо-
вище доповнено репозиторіями [25, 26]:
РПВ (КПВ); профілів варіабельності; пос-
тановок і апробованих методів для оптимі-
заційних задач ресурсно ефективного пла-
нування, експертно-аналітичного оціню-
вання [27] та ідентифікації структури бага-
товимірних даних; показових метрик варі-
абельності.
Для другої функції – реалізації варі-
абельності запропоновано архітектурні рі-
шення спеціалізованого інструментального
засобу, Конфігуратора РПС [25, 26]. Він
надає зацікавленим особам інтерфейс ав-
томатизованого створення РПС із задани-
ми функціями з наперед розроблених КПВ
або змінення існуючої РПС.
Технологічна підтримка
формального апарата
Інженерія якості ПС. Для цільово-
го опрацювання проблеми П5 незалежно
від парадигм програмування запропонова-
но парадигму якості ПС і відповідну їй
концепцію Інженерії якості [28]. Їх визна-
чальна особливість – акцент на випере-
Методи та засоби програмної інженерії
39
джуючому керуванні якістю в життєвому
циклі (ЖЦ) ПС, узгодженому на всіх рів-
нях керівних впливів (від організації у ці-
лому до функціональних проектних груп) і
для всіх об’єктів ЖЦ, якість яких можна
визначити, виміряти й підвищувати (від
процесів ЖЦ до окремих артефактів про-
грамних проектів).
Інженерію якості визначено [28] як
інтегрований процес забезпечення для всіх
релевантних об’єктів ЖЦ на кожній його
стадії певних властивостей, що характери-
зують їх якість, які можна прогнозувати,
вимірювати і вдосконалювати за допомо-
гою системи спеціальних процесів, методів
і технологічних засобів.
На підтримку інженерії якості:
а) сформовано відповідне Ядро
знань [28], що систематизує кращі практи-
ки керування якістю в ЖЦ ПС та постано-
вки й методи розв’язання задач на їх підт-
римку відповідно до стадій ЖЦ ПС на під-
ставі відомих ядер знань з програмної ін-
женерії (SWEBOK) та проектного мене-
джменту (PMBOK);
б) запропоновано оригінальний
каркас інженерії надійності ПС [29–32].
Він містить постановки й методи
розв’язання на стадіях ЖЦ ПС її основних
задач – від розподілу вимог до надійності
за логічними модулями ПС до оптимізації
витрат на усунення причин виявлених де-
фектів, із застосуванням апарату мереж
Байєса й методу аналізу ієрархій Т. Сааті;
в) розроблено технологічну мо-
дель процесу ресурсно ефективного тес-
тування різнорідних ПС за умов обмеже-
них ресурсів [33], яка інтегрує цілі, задачі й
дії з тестування, розподілені в ДСТУ
ISO/IEC 12207 серед процесів ЖЦ. Поста-
влено й розв’язано, для основних моделей
зростання надійності, задачу визначення
оптимального моменту випуску ПС, для
якого ризик її подальшої відмови мінімізу-
ється, але витрати на тестування ще не
перевищують можливого збитку в разі
відмови;
г) розроблено математичну мо-
дель нового процесу обґрунтованого екс-
пертного оцінювання об’єктів ЖЦ ПС,
запропонованого до інтеграції в ЖЦ, та
систему методів узгодженої підтримки
його операцій [27]. Модель поєднує по-
дання його інформаційного й технологіч-
ного середовища та підпроцеси розв’я-
зання задач з операціями підготовки, про-
ведення й інтеграції результатів взаємо-
пов’язаних експертиз оцінюваних об’єктів
ЖЦ ПС. Запровадження процесу умож-
ливлює створення баз досвіду розроблен-
ня ПС на необхідних організаційних рів-
нях і створює передумови вдосконалення
процесів ЖЦ ПС й підвищення ефектив-
ності дій їх учасників;
д) надано рамкову технологію ін-
телектуального керування значущими
показниками об’єктів ЖЦ (ризиком, ви-
тратами, зрілістю процесів тощо), техно-
логічне й математичне ядро якої складає
розроблений формальний апарат експерт-
ного оцінювання. Уточнено постановки
задач і надано методи їх розв’язання для
ризику невиконання програмного проекту
[34];
е) побудовано онтологію ПрО те-
стування засобами редактора онтологій
Protégé [20].
Розвинуто засади інженерії якості
СПС [20, 35]:
– запропоновано рамкову модель
його якості разом з варіабельністю як
ключовим чинником впливу на решту ха-
рактеристик;
– надано систему показників яко-
сті архітектури СПС та уточнено для них
процес експертного оцінювання із застосу-
ванням взаємопов’язаних оцінних моделей
– аргументованого дерева цінності, мережі
Байєса, ієрархії Т. Сааті – у відповідних
ситуаціях оцінювання;
– розроблено рамкові процедури
підвищення гнучкості й ефективності спів-
праці учасників процесу аналізу ПрО для
формування простору проблеми СПС за
допомогою гнучких методологій та уніфі-
кованих шаблонів елементарних перегово-
рних дій (так званих сінклетів) з арсеналу
Інженерії співпраці [22].
Стандартизація в програмній ін-
женерії. Для надання нормативно-
методичної підтримки вирішення вищеза-
Методи та засоби програмної інженерії
40
значених проблем П1–П5 побудови ПС фа-
хівцями ІПС:
– розроблено понад 30 спеціалі-
зованих ДСТУ серій «Інформаційні техно-
логії» та «Програмна інженерія», гармоні-
зованих з міжнародними (зокрема, груп
15504, 14143, 9126, 250XX). Вони техно-
логічно й методично уточнюють описи ві-
дповідних процесів у еталонній моделі ЖЦ
за ДСТУ ISO/IEC 12207:2014;
– створено понад 20 методик з
обґрунтованого спадкоємного оцінювання
значущих показників об’єктів ЖЦ ПС і ке-
рування ними (зокрема, функціонального
розміру ПС, ризику невиконання програм-
ного проекту, технологічної зрілості про-
цесів ЖЦ, витрат на розроблення ПС);
– визначено склад інструментів
підтримки виконання, оцінювання й удо-
сконалення процесів і розроблено макети
ПС на підтримку окремих методик з оці-
нювання трудомісткості й ризику. Удоско-
налені версії цих ПС і досі мають попит.
Для розбудови та вдосконалення
національної системи стандартизації в
галузі програмування, інформаційних
технологій та програмної інженерії в
ІПС запропоновано інструментально- та
організаційно-орієнтовані моделі станда-
ртизації [36], зокрема, принципово нові,
повторну, часткову, зорієнтовану на гене-
ровану програмну продукцію, інтегрова-
ну. Запропоновано узагальнену концепту-
альну модель стандартизації документу-
вання комп’ютерних програм, яка містить
вимогу використання генерованого доку-
ментування. На її основі розроблено склад
першої черги «Єдиної системи стандартів
документування комп’ютерних програм»,
наданої Держспоживстандарту як про-
позиції до Державного плану стандарти-
зації.
Апробація теоретичного доробку
Практичну значущість розроблених
формальних засобів засвідчено їх успіш-
ною різноаспектною апробацією.
Систему АПРОП успішно впрова-
джено в 52 організаціях СРСР. Її також за-
стосовано для виробництва вбудованих
бортових програм як базовий складник ін-
струментально-технологічних комплексів
“Прометей” і “РУЗА” [13, 14], що постав-
лялися в галузеві організації Міністерства
радіопромисловості СРСР до 1991 р.
Розроблені формальні й технологі-
чні засоби компонентного програмування
РПС, зокрема макетний зразок Конфігу-
ратора і технологічну схему збирання
КПВ за його допомогою, реалізовано в
інструментально-технологічному компле-
ксі виробництва програм ІПС НАНУ
(ІТК) (http://sestudy.edu-ua.net) [37] та
експериментальній фабриці програм КНУ
ім. Т. Шевченка (programsfactory.univ.
kiev.ua).
Як показано на рис. 2, реалізація
комплексної технології збирання змінюва-
них РПС з КПВ в ІТК охоплює вкладені
технології, подані у форматі технологічних
ліній [20]:
– проектування РПС з урахуван-
ням їх ЖЦ за ДСТУ ISO/IEC 12207:2014;
– збереження результатів проек-
тування в репозиторії КПВ;
– онтологічного опису доменів;
– специфікації різнорідних про-
грамних РПВ відповідними МП та їх нако-
пичення в репозиторії;
– вибору КПВ у репозиторії;
– конфігураційного збирання різ-
норідних КПВ у (змінювану) ПС з пере-
творенням даних для них;
– тестування КПВ і РПС, збиран-
ня даних для контролювання їх якості.
Для реалізації процедур перетво-
рення даних в ІТК передбачено бібліотеку
функцій перетворення між загальними
(примітивними, агрегатними й генерова-
ними) та фундаментальними (простими,
структурними і складними) типами даних
для поширених МП, необхідних у гетеро-
генному середовищі взаємодії різномовних
КПВ і РПС.
ІТК і студентську фабрику успішно
застосовують на факультеті комп’ютерних
наук та кібернетики КНУ ім. Т. Шевченка
у навчанні студентів технологіям програм-
ної інженерії [20].
Методи та засоби програмної інженерії
41
Схема технології розробки базових КПВ
Окремі технології
“складального конвеєру”
змінюваних ПС
Інфраструктура
підтримки технології
ЕЛЕКТРОННЕ НАВЧАННЯ
Методична та інструментальна підтримка технологічних ліній
Конфігуратор
Рис. 2. Структура технологій ІТК ІПС НАН України
Формальний апарат підтримки
життєвого циклу СоПС
Уточнення засад досліджень. Тех-
нічні рішення щодо семантичних Веб-
сервісів у ролі РПВ, окреслені в таблиці,
зумовлюють їх істотні переваги в опрацю-
ванні проблем П1–П5 для СоПС: загально-
доступність, слабке зв’язування, можли-
вість автоматично взаємодіяти незалежно
від платформи і, завдяки протоколу HTTP,
через міжмережний екран. Однак необхід-
ною передумовою досягнення переваг є
збагачення описів Веб-сервісів семантич-
ними анотаціями функціонального й про-
цесного рівня із застосуванням стандартів
саме семантичного Вебу [4] згідно з поло-
женнями T1, T4. Ці анотації уможливлю-
ють автоматичне зіставлення як входів і
виходів, так і додаткових складників опису
семантичних Веб-сервісів, на якому ґрун-
туються розвинуті алгоритми їх автомати-
чного компонування, надані далі. Таким
чином, програмування в семантичному
Вебі можна визначити як традиційне серві-
сне програмування, але з анотаціями.
Семантичний веб – це загально-
доступна глобальна семантична мережа,
формована на основі мережі Інтернет за
допомогою стандартизованого подання
інформації, придатного для машинного
оброблення. Автоматичний аналіз даних,
виведення висновків, перетворення даних і
висновків у практично корисні артефакти в
Семантичному вебі можливі завдяки двом
його особливостям: наявності уніфіковано-
го ідентифікатору ресурсів (URI) [3, 4] та
використанню онтологій, описаних стан-
дартизованими мовами.
URI – це Інтернет-адреса, яку засто-
совують для однозначного машинно-
сприйманого посилання на довільний об'-
єкт (веб-сторінку, файл, скриньку елект-
ронної пошти, художній твір, абстрактне
поняття тощо). Унікальнсть URI уможлив-
лює збирання інформації про деякий
об’єкт з рідних джерел.
Основними складниками “стеку”
стандартів для мов опису онтологій семан-
тичного Вебу є XML, XML Schema, RDF,
RDF Schema, OWL [3].
XML надає синтаксис для визначен-
ня структури документа, що підлягає ма-
шинній обробці, та не має семантичного
навантаження. XML Schema визначає об-
Методи та засоби програмної інженерії
42
меження на структуру XML-документа,
дотримання яких можна перевірити за до-
помогою стандартного синтаксичного ана-
лізатору мови XML.
RDF надає простий спосіб опису ек-
земплярів даних у форматі суб’єкт-
відношення-об’єкт, причому в цій трійці
застосовують тільки ідентифікатори ресу-
рсів (крім об’єкта, який може бути літера-
лом). Стандартизовано відображення цих
трійок в XML-документи визначеної стру-
ктури. RDF Schema описує набір атрибутів
(відношень) для визначення нових типів
даних, описаних RDF. Мовою підтримано
також відношення спадкування типів та-
ких даних.
OWL надає додаткові можливості,
розширює можливості опису нових типів
(зокрема, долученням перерахувань), а та-
кож дозволяє описувати нові типи даних
RDF Schema в термінах вже існуючих (на-
приклад, визначати тип, який є перетином
або об’єднанням двох існуючих). Мова
ґрунтується на дескриптивній логіці й по-
єднує три вкладені підмножини: OWL Lite,
OWL DL і OWL Full.
SPARQL дозволяє запитувати дані у
форматі RDF і формувати протоколи для
передавання запитів і отримання відпові-
дей на них.
Таким чином, на підставі окресле-
ного уточнення установчих тез Т1–Т6 пос-
тавлено спеціальні питання опрацювання
проблем П1–П5 для СоПС і надано поточні
конструктивні відповіді на них [3].
У відповідь на питання специфіка-
ції (як визначити однозначно синтаксис
і семантику Веб-сервісу?) для подальшо-
го аналізу відібрано множину перспекти-
вних засобів його опису [6]: OWL-S2,
каркас SWSF3 з онтологією SWSO й мо-
вою SWSL, онтологію WSMO4 з мовою
WSML, мови RDF і RDF-S, WSDL-S і
SA-WSDL5. Відповіддю на питання публі-
кування (як зробити доступною інформа-
цію про веб-сервіси?) є застосування
2 http://www.w3.org/Submission/OWL-S/
3 http://www.w3.org/Submission/SWSF-SWSO/
4 http://www.w3.org/Submission/WSMO-primer/
5 https://www.w3.org/TR/2007/NOTE-sawsdl-guide-
20070828/
реєстрів сервісів із специфікацією UDDI
та її семантичних розширень. Для відпо-
відей на питання виявлення (як знайти
прийнятний(і) сервіс(и) для певного за-
вдання?) та вибору (як знайти серед них
найкращий?) відібрано базові критерії се-
мантичного метчмейкінгу [18, 38] – збіг,
включення, вміщення, несумісність та по-
казники якості Веб-сервісів (QoS) й алго-
ритми хешування [18].
Питання компонування семантич-
них Веб-сервісів (як зібрати кілька атома-
рних і композитних сервісів для конкрет-
ної роботи?) передбачено опрацювати на-
самперед за допомогою графо-орієнтова-
них підходів функціонального рівня [38],
які ґрунтуються на поданні Веб-сервісів
у форматі (IO) й (IOPE). Далі отриманий
доробок буде розвинуто для процесного
рівня за рахунок універсальних технік
планування через перевірку моделей [19].
Ці ж техніки й відповідні їм інструмента-
льні засоби обрано як підґрунтя вирішен-
ня питання верифікації (як перевірити
атомарні й композитні веб-сервіси?).
Для відповіді на чергове питання
інтероперабельності (як долати різно-
рідність даних, що ними обмінюються
веб-сервіси) обрано перспективні підходи
Extract, Transform, Load6 і Linked Data7.
Для вирішення питань взаємодії
запитувачів і постачальників сервісів (які
дані й посередники протоколу потрібні
для них?) і посередництва (як забезпечи-
ти прямий доступ запитувачів до опублі-
кованих сервісів) вибрано специфікацію
UDDI з її семантичними розширеннями та
подання функцій композитних сервісів
моделлю властивостей для їх семантично-
го анотування й публікування.
Відповідь на питання моніторин-
гу/керування (як керувати мережними
ресурсами, гарантуючи QoS?) надають
сучасні підходи дискретної оптимізації
на графах. Нарешті, відповіддю на остан-
нє питання виконання (як надійно викона-
ти семантичний Веб-сервіс) є розвиток
окресленого вище доробку Інженерії
6 http://www.dataintegration.info/etl
7 http://linkeddata.org/
Методи та засоби програмної інженерії
43
якості та забезпечення його адаптивності
до відмов.
Компонування семантичних Веб-
сервісів. На підтримку життєвого циклу
(ЖЦ) СоПС розроблено його високорів-
неву схему як композиції базових задач,
розв’язуваних у семантичному Вебі із за-
стосуванням вище зафіксованих відпові-
дей, показану на рис. 3. Згідно з рисун-
ком, центральну роль у ЖЦ СоПС відіг-
рають взаємопов’язані задачі on-line ви-
явлення й компонування семантичних
Ідентифікатори: URI Множина символів: UNICODE
Синтаксис: XML
Таксономіі: RDFS
Запитування:
SPARQL
Обмін даними: RDF
Онтології: OWL
Правила:
RIF/SWRL
Уніфікована логіка
Доведення
Довіра
Інтерфейс користувача та застосунки
Стейк специфікацій семантичного Вебу
HTTP, SMTP, FTP, IIOP
Транспортна інфраструктура
SOAP
Обмін повідомленнями
Публікація
Виявлення
Життєвий цикл
семантичного
Веб-сервісу
Публікування
Виявлення
Компонування
Вибір Виклик
WSDL
Обмін повідомленнями
UDDI
Публікування/
відшукування сервісів
X
M
L
Протоколи Веб-сервісів
Семантичний Веб
Рис. 3. Схема ЖЦ СоПС
Веб-сервісів. Наразі їх досліджено в най-
простішій постановці функціонального рі-
вня з використанням каркасу P. Rodri-
guez-Mier і C. Pedrinaci [2, 3, 38, 39]. Його
вибір зумовлено перевагами порівняно з
аналогами:
– мінімальною втратою продук-
тивності між виявленням і композицією;
– відсутністю припущень про ло-
кальну доступність сервісів і завантаження
їх реєстрів у пам’ять двигунця пошуку;
– наявністю оптимального алго-
ритму для вилучення з графа найкращої
композиції, що мінімізує кількість серві-
сів, та алгоритмів оптимізації графа для
підвищення масштабовності формованого
композитного Веб-сервісу [39].
Досліджувана постановка має ви-
гляд:
для запиту ,r rr In Out , складено-
го множинами доступних вхідних і вихід-
них концептів деякої онтології O , і мно-
жини { ( , ), 1}j j jW w In Out j семанти-
чних Веб-сервісів з реєстрів Інтернет, теж
поданих парами вхідних і вихідних конце-
птів O , знайти динамічний композитний
Веб-сервіс
(( , ), ( , )), ,c wc wcw In Out P S S W (1)
такий, що
;wc wc wcr r rIn In Out Outn uI O t , (2)
де – оператор метчмейкінгу [38], що
зіставляє парі множин концептів підмно-
жину першої з них, елементи якої
пов’язані з кожним концептом другої від-
ношенням збігу або включення;
– відношення часткового порядку
на S, що неявно подає послідовність вико-
нання компонентних сервісів.
Таким чином, формований сервіс cw
має викликатися за запитаними входами
rIn й надавати запитані виходи rOut .
Оригінальний алгоритм компонування від
входів (P. Rodriguez-Mier) [38] забезпечує
подання cw графом композиції – орієнто-
ваним ациклічним графом, де вершинами
є компонентні сервіси jw W і вхідні й
вихідні концепти для них, а ребра поєд-
нують: вхідні, що з’єднують вхідні конце-
пти з їх сервісами; вихідні, що зіставляють
сервісам вихідні концепти, та проміжні,
що подають відношення збігу або вклю-
чення концептів. Цей граф є ярусно-
паралельним [3], тобто його розбито на
шари (яруси), кожний з яких містить усі ті
сервіси, входи яких відповідають, у сенсі
оператора , виходам сервісів поперед-
нього шару. Граф доповнено нульовим і
додатковим ярусами, які містять технічні
сервіси (, rIn ) і ( rIn , ).
Методи та засоби програмної інженерії
44
Наданий алгоритм передбачає роз-
межоване виявлення сервісів, семантично
відповідних запитаним множинам входів
rIn і виходів rOut , із застосуванням лише
деяких/довільних їх елементів. Тому граф
композиції первинно є надлишковим і
містить усі сервіси з W , які можна безпо-
середньо чи опосередковано викликати
за запитаними входами rIn . Однак алго-
ритм аж ніяк не гарантує, що всі гілки
графа досягнуть запитаних виходів. Тому
запропонований каркас передбачає по-
дальшу оптимізацію первинного графа
композиції для перетворення її на припу-
стиму або оптимальну з найменшою кі-
лькістю складників для заданого рівня
QoS, які й становлять інтерес для конст-
руювання СоПС.
Композицію, задану сервісом cw
(1), (2) для запиту { , }r rr In Out , звуть
припустимою, коли кожний її сервіс мож-
на викликати, тобто у графі композиції
немає гілок, не пов’язаних з деяким вхід-
ним концептом – елементом rIn .
Ефективний за “розумної” розмір-
ності множини rIn , алгоритм компону-
вання “від входів” може стати незручним,
коли вона дуже мала або дуже велика.
Тому запропоновано його розвиток –
побудову cw (1), (2) “від виходів” [3].
Вона особливо доцільна за неприйнятної
розмірності множини rIn і прийнятної –
rOut . Розроблений алгоритм являє собою
“обернення” оригінального алгоритму
для припустимої композиції [38]. Ре-
зультат його застосування показано на
рис. 4.
Алгоритм вибирає з W усі сервіси,
що надають виходи, відповідні вхідним
концептам кожного ярусу. Далі для кож-
ного вибраного сервісу зіставляються на-
явні концепти та його незіставлені вихо-
ди. Всі виходи, які зіставлено, вилучають
з неузгодженого набору виходів для пото-
чного сервісу. Якщо немає незіставлених
виходів, то сервіс є викличним і, отже,
прийнятним у поточному ярусі. Напри-
клад, для композиції на рис. 4 першими
прийнятними є сервіси в ярусі L1, виходи
яких повністю семантично узгоджені з
запитаними виходами rOut в ярусі L0.
Рис. 4. Граф композиції 1w – 10w “назад”
Другий ярус L2 складають ті серві-
си, виходи яких повністю узгоджені з вхо-
дами попередніх ярусів, і т. д. Для кожного
сервісу алгоритм зберігає ті його виходи,
які вже були семантично узгоджені з вхо-
дами сервісів попереднього ярусу. Він ли-
ше встановлює відповідність між новими
входами сервісів попереднього ярусу та
рештою ще не зіставлених виходів кожно-
го сервісу. Отже, кількість неузгоджених
виходів кожного сервісу монотонно змен-
шується з кожним ярусом.
Як оригінальну композицію “від
входів”, так і розглянуту композицію “від
виходів” можна далі оптимізувати за до-
помогою оригінальних технік застосування
інвертованих індексів, обрізування, домі-
нування інтерфейсу [38] та мінімізації кі-
лькості сервісів для заданого рівня певних
показників QoS [39].
Для ресурсно ефективної побудови
СоПС додатково запроваджено спеціальні
класи оптимізованих композицій – норма-
льні та безнадлишкові [3].
Припустиму композицію семанти-
чних Веб-сервісів названо нормальною,
якщо в ній немає сервісів, входи яких
Методи та засоби програмної інженерії
45
не є семантично зіставленими з виходами
деякого іншого сервісу чи вхідними кон-
цептами запиту rIn (названі іррелевант-
ними за виходом) і сервіси, виходи яких
не є семантично зіставленими з входами
деякого іншого сервісу чи вихідними
концептами rOut (названі іррелевантни-
ми за входом).
Запропонований алгоритм перетво-
рення допустимої композиції у нормаль-
ну, або її нормалізації, полягає в послідо-
вному вилученні з неї кожного іррелеван-
тного за входом і за виходом сервісу (як
первинного, так і поточно отриманого)
разом з усіма семантичними зв’язками йо-
го входів з іншими сервісами композиції.
Очевидно, алгоритм зберігає припусти-
мість композиції, натомість “очищуючи”
її від “даремних” сервісів, як показано,
наприклад, на рис. 4.
Нормальну композицію названо
безнадлишковою, якщо після вилучення з
неї довільного сервісу (разом з усіма се-
мантичними зв’язками його входів з ін-
шими сервісами) та нормалізації хоча б
один з вихідних концептів запиту rOut
вже не буде семантично зіставлений з ви-
ходом деякого сервісу, тобто буде пору-
шено припустимість композиції. Отже,
безнадлишкова композиція є мінімальною
у тому сенсі, що з неї не можна вилучати
сервіси.
Розроблений алгоритм перетворен-
ня нормальної композиції у безнадлиш-
кову передбачає поярусне (починаючи,
наприклад, з останнього ярусу) виконання
для кожного сервісу в ярусі таких кроків.
1. Перевіряння можливості його ви-
лучення без порушення припустимості
композиції.
2. За можливості – вилучення серві-
су, нормалізація залишкової композиції та
розгляд наступного сервісу вже в отрима-
ній нормальній композиції. За неможливо-
сті вилучення – перехід до наступного
кроку.
3. Аналіз наступного сервісу ярусу,
поки всі вони не будуть проаналізовані.
Описаний алгоритм залишає в ярусі
лише сервіси, які не можна вилучити, або
робить його пустим. Далі кроки 1–3 вико-
нують для ярусу, суміжного з обробленим,
доки не буде розглянуто всі яруси.
У залежності від порядку розгляду
ярусів і сервісів у ярусі наданий алгоритм
генерує різні конфігурації безнадлишко-
вих композицій. Одну з них, отриману
після вилучення з нормальної композиції
на рис. 4 сервісів 2w , 7w , 10w , показано
на рис. 5. Для побудови СоПС доцільна
подальша мінімізація, на множині без-
надлишкових композицій, цільових кри-
теріїв нефункціональної природи, зокрема
кількості сервісів, їх сукупної вартості,
показників структури їх зв’язків за допо-
могою технік [42].
Рис. 5. Безнадлишкова композиція
Побудова адаптивного композит-
ного семантичного сервісу. Як показано
на рис. 1, розглянута динамічна компози-
ція семантичних Веб-сервісів (нормальна
чи безнадлишкова) ефективно підтри-
мує поточний діловий процес певного
споживача. Але в актуальних ПрО, де
ролі, взаємодії, потреби й пріоритети
суб’єктів і параметри інфраструктури
доступу до сервісів різнорідні й непе-
редбачувано змінні, вимоги до якості
СоПС дедалі жорсткіші, а ресурси обме-
женіші, – цього недостатньо [38]. Стійке
досягнення декларованих переваг сервіс-
ного програмування – зниження трудо-
Методи та засоби програмної інженерії
46
місткості та контролювання якості й оку-
пності СоПС [1, 2, 5] – додатково вима-
гає їх адаптивності й застосовності тре-
тіми сторонами ПрО для довільного ме-
тоду динамічного компонування. Адап-
тивність визначено як здатність до змін
поведінки для задоволення нових вимог і
пристосування до нових (не)передба-
чених ситуацій.
Запропоновано підхід до побудови
динамічного композитного семантичного
Веб-сервісу із зазначеними властивостя-
ми, названого адаптивним композитним
сервісом (АКС) [3]. Він узагальнює мо-
дель адаптивного компонування Веб-
сервісів різнорідними споживачами [19]
та розглянуті вище формальні засоби
забезпечення адаптовності ПС [22] для
семантичних Веб-сервісів. Підхід є інва-
ріантним щодо графо-орієнтованого ме-
тоду компонування складників АКС, фік-
суючи єдину природну вимогу: якщо
композиції Веб-сервісів з двох різних
множин реалізують певний запит, то його
реалізує й композиція елементів їх
об’єднання. Зокрема, описи графо-
орієнтованого алгоритму за входа-
ми/виходами (P. Rodríguez-Mier [38]) і но-
рмальної й безнадлишкової композиції
засвідчують їх відповідність цій вимозі.
Розвинутий підхід передбачає:
а) формулювання вимог до процесу
побудови/супроводу АКС;
б) визначення згідно з ними рамко-
вих моделей: власне АКС; процесу його
побудови (з етапами проектування й адап-
тування до змін потреб споживачів у фун-
кціях та умов виконання); окремого етапу;
операцій адаптування АКС;
в) уточнення рамкових моделей для
ефективних графо-орієнтованих методів
компонування, насамперед нормального та
безнадлишкового;
г) розвиток методів адаптування
АКС за проявів її незадовільної якості.
Висунуті вимоги охоплюють: відс-
теження залежностей між подіями – підс-
тавами адаптації АКС, узгодження дій з
адаптації на його рівнях (див. рис. 1) та
урахування неповноти даних про стан
АКС і контекст його виконання.
Сутність підходу – побудова АКС
як динамічної лінії змінних композитних
семантичних Веб-сервісів, названих ці-
льовими (ЦС), на підтримку ділових про-
цесів різнорідних суб’єктів цільової ПрО.
Динамічна лінія продуктів [3, 19] є розви-
тком розглянутої вище статичної лінії за
рахунок припущення про змінність у часі
складу і структури просторів проблеми й
рішень згідно зі змінами потреб спожива-
чів та умов виконання продуктів. Відпо-
відно, МВ стає змінною в часі, а каноніч-
на варіабельність – варіабельністю під час
виконання.
Запропоновано моделювання про-
цесу побудови АКС як процесу поетапно-
го керування його варіабельністю під час
виконання. Як і для адаптовних ПС, його
подано композицією п’яти вищезазначе-
них функцій керування варіабельністю.
Однак в АКС їх призначенням є форму-
вання нових або зміна наявних ЦС, а їх
операції виконуються в інформаційному
середовищі поточного етапу між момен-
тами адаптаційної зміни АКС, коли його
варіабельність усе ще відповідає вимогам
до неї з боку зацікавлених сторін.
Відповідно, визначено дві рамкові
підстави адаптування АКС: незадовіль-
ність його очікуваної чи поточної варіа-
бельності. Для діагностування типу не-
задовільності й рекомендування адапта-
ційних дій з її опрацювання розроблено
діагностичну підмодель варіабельності
композитних Веб-сервісів [19], що узага-
льнює об’єктно-компонентну діагностич-
ну модель варіабельності, розглянуту ви-
ще.
Наразі побудовано рамкову модель
АКС. Це поповнюваний кортеж його узго-
джених подань у просторах Проблеми й
рішень у періоди між адаптаційними змі-
нами, впродовж яких його варіабельність
відповідає потребам зацікавлених сторін.
Високорівневу внутрішню структуру тако-
го подання показано на рис. 6 і детально
розглянуто в [3] разом з операціями адап-
тування.
Методи та засоби програмної інженерії
47
Модель
власти-
востей
АКС
Конфігурації
функцій
АКС
Платформа АКС
Правила
kt-компонування ЦС
Проміжні й термінальні
ЦС для реалізації
конфігурацій
функцій АКС
SVt
AVt
DVt
К
о
н
с
т
р
у
ю
в
а
н
н
я
д
о
м
е
н
у
К
о
н
с
т
р
у
ю
в
а
н
н
я
з
а
с
т
о
с
у
н
к
ів
Інтернет-реєстри
семантичних
Веб-сервісів
Реєстр
UDDI
kt -компонування атомарних семантичних Веб-сервісів і ЦС
tkt
Інтернет
Репозиторій АКС -
множини ЦС на
підтримку його
функцій і відношень
між ЦС
Публікування ЦС з АКС й АКС у цілому
Простір
рішень
Простір
проблеми
Позначення:
SVt – модель динамічної варіабельності в структурі АКС;
AVt – модель динамічної варіабельності в артефактах АКС;
DVt – діагностична модель варіабельності АКС;
kt – метод компонування семантичних Веб-сервісів;
tkt – відображення реалізації функцій АКС за рахунок kt
Рис. 6. Внутрішня структура АКС у період
між його зміненнями в моменти t і t+1
Висновки
Проаналізовано особливості поста-
новки та вирішення загальних проблем
конструювання сервіс-орієнтованих прик-
ладних програмних систем на компонент-
ному й сервісному рівнях сервіс-
орієнтованої архітектури. Підсумовано ак-
туальні результати фахівців ІПС НАН Ук-
раїни з опрацювання цих проблем, отри-
мані в парадигмах компонентного та серві-
сного програмування, висвітлено взає-
мозв’язки між ними. Визначено низку ак-
туальних проблем подальшого розвитку
розробленого формального апарату побу-
дови сервіс-орієнтованих прикладних про-
грамних систем як адаптивних композит-
них сервісів у семантичному Веб-
середовищі:
1) формалізація показників якості
композитного сервісу як підстав для його
адаптування;
2) оптимізація динамічних компо-
зицій з використанням показників якості в
ролі цільових критеріїв і в ролі обмежень;
3) забезпечення ефективної взаємо-
дії різнорідних сервісів з великими обся-
гами неструктурованих і різнотипних да-
них, зокрема розвиток підходу Extract-
Transform-Load;
4) перехід до семантичної сервіс-
орієнтованої й сервіс-компонентної архі-
тектури.
1. Андон П.І., Бабенко Л.П. Проблеми і мож-
ливості програмування в середовищі
SEMANTIC WEB. Проблеми програмуван-
ня. 2012. № 2-3. С. 363–373.
2. Андон П.І., Дерецький В.О. Проблеми по-
будови сервіс-орієнтованих прикладних
інформаційних систем в semantic web се-
редовищі на основі агентного підходу.
Проблеми програмування. 2006. № 2-3.
С. 493–502.
3. ДР 0112U002764 Розробка теоретичних
основ та прикладних питань побудови сер-
віс-орієнтованих прикладних програмних
систем у семантичному Веб-середовищі.
Звіт про НДР (заключний). К.:, ІПС НАНУ,
2016. 280 с.
4. Сторінка ”W3C Semantic Web Activity”.
[Електронний ресурс]. – Режим доступу:
https://www.w3.org/2001/sw/.
5. Laskey K. OASIS Reference Architecture
Foundation for Service Oriented Architecture.
Version 1.0. 2012. [Електронний ресурс].
Режим доступу: https://docs.oasis-open.org/
soa- rm/soa-ra/v1.0/soa-ra-v1.0.pdf.
6. Lausen H. A Conceptual and Formal
Framework for Semantic Web Services (v1).
2011. [Електронний ресурс]. Режим досту-
пу: https://www.sti-innsbruck.at/sites/default/
files /D2.4.5.pdf.
7. Лаврищева Е.М. Парадигмы программиро-
вания сборочного типа в программной ин-
женерии. Сб. трудов международной конф.
УкрПРОГ–2014. К.: ИПС НАНУ, 2014.
С. 76–92.
8. Лаврищева Е.М. Software Engineering ком-
пьютерных систем. Парадигмы, техноло-
гии и CASE – средства программирования.
К.: Наук. думка. 2013. 283 с.
Методи та засоби програмної інженерії
48
9. Лаврищева Е.М., Грищенко В.Н. Сбороч-
ное программирование. Основы индустрии
программных продуктов. 2-изд. Доп. и пе-
рераб. К.: Наук. думка, 2009. 372 с.
10. Лаврищева Е.М. Сборочное программиро-
вание. Теория и практика. Кибернетика и
системный анализ. 2009. № 6. С. 1–12.
11. Лавріщева К.М., Колесник А.Л., Стеняшин
А.Ю. Об’єктно-компонентне проектування
програмних систем. Теоретичні і прикладні
питання. Вісник КГУ, серія фіз.-мат. наук.
2013. № 4. С. 150–162.
12. Буч Г. Объектно-ориентированный анализ
и проектирование с примерами приложе-
ний на С++. М.: Издательство "Бином".
СПб.: "Невский диалект", 2001. 560 с.
13. Лаврищева Е.М., Грищенко В.Н. Связь
разноязыковых модулей в ОС ЕС. М.: Фи-
нансы и статистика, 1982. 127 с.
14. Глушков В.М., Стогний А.А., Лаврищева
Е.М., Моренцов Е.И. Система автомати-
зации производства программ (АПРОП).
Киев: Ин-т кибернетики АН УССР, 1976.
134 с.
15. Лаврищева Е.М. Методы программирова-
ния. Теория, инженерия, практика. Киев,
Наук. думка, 2006. 454 с.
16. Грищенко В.М. Метод об’єктно-компо-
нентного проектування програмних сис-
тем. Проблеми програмування. 2007. № 2.
С. 113–125.
17. Lavrischeva E., Stenyashin A., Kolesnyk A.
Object-Component Development of Appli-
cation and Systems. Theory and Practice.
JSEA. 2014. N 7. P. 756–769. [Електронний
ресурс]. Режим доступу: http://file.scirp.org/
pdf/JSEA_2014080715053066.pdf.
18. Ремарович С. Системи виявлення Web-
сервісів в сервіс-орієнтованій архітектурі:
проблеми і рішення. Проблеми програму-
вання. 2015. № 3. C. 53–71.
19. Слабоспицька О.О. Технологічна модель
процесу побудови та використання адапти-
вної композиції Web-сервісів. Проблеми
програмування. 2015. № 2. C. 52–62.
20. Лавріщева К.М., Коваль Г.І., Бабенко Л.П.
та ін. Нові теоретичні засади технології
виробництва сімейств програмних систем
у контексті генерувального програмуван-
ня: монографія [Текст]. Ін-т програмних
систем. Київ: [б. и.], 2011. 277с. Деп. у
ДНТБ України 5.10.11, №67-Ук2011.
21. Лаврищева Е.М., Слабоспицкая О.А. Тех-
нология моделирования изменяемых про-
граммных продуктов и систем. Труды XII
Междунар. науч.-практ. конф.
TAAPSD’2015. Киев, 23-26 ноября 2015г.
С. 118–127.
22. Slabospickaya O. Feature Model of Software
Product Line Enhancing to Enable Product
Adaptability. Bull. of Univ. of Kiev. Series:
Ph.&Math., spec. is. 2014. P. 151–158.
23. Лаврiщева К.М., Слабоспицька О.О., Коле-
сник А.Л., Коваль Г.I. Теоретичнi аспекти
керування варiабельнiстю в сiмействах
програмних систем. Вiсник КНУ, серiя
фiз.-мат. науки. 2011. № 1. С. 151–158.
24. Слабоспицька О.О. Технологічна модель
процесу автоматизованого виробництва
сімейств програмних систем. Проблеми
програмування. 2011. № 1. С. 39–48.
25. Kolesnyk A., Slabospitskaya O. Tested
Approach for Variability Management
Enhancing in Software Product Line. Proc.
8-th Int. Conf. ICTERI 2012, Kherson,
Ukraine, June 6–10, 2012. [Електронний ре-
сурс]. Режим доступу: ceur-ws.org/Vol-
848/ICTERI-2012-CEUR-WS-paper-31-p–
155–162.pdf.
26. Slabospitskaya O., Kolesnik A. The Model for
Enhanced Variability Management Process
in Software Product Line. Mayr H.C.,
Kop C., Liddle S., Ginige A. Information
Systems: Methods, Models and Applications.
Revised selected papers of 4-th International
United Information Systems Conference
(UNISCON 2012). Yalta, Ukraine, June 2012.
P. 162–171.
27. Лаврищева Е.М., Слабоспицкая О.А. Под-
ход к экспертному оцениванию в програ-
ммной инженерии. Кибернетика и систе-
мный анализ. 2009. № 4. С. 151–168.
28. Андон Ф.И., Коваль Г.И., Коротун Т.М.,
Лаврищева Е.М., Суслов В.Ю. Основы ин-
женерии качества программных систем.
2-е изд. К.: Академпериодика. 2007. 672 с.
29. Лаврищева Е.М, Коваль Г.И., Коротун
Т.М. Подход к управлению качеством про-
граммных систем обработки данных. Ки-
бернетика и системный анализ. 2006. № 5.
C. 174–185.
30. Коваль Г.І. Основні задачі підтримки
прийняття рішень в інженерії надійності
програмних систем. Проблеми програму-
вання. 2005. № 3. С. 35–41.
31. Мороз Г.Б., Коваль Г.И., Коротун Т.М.
Концепция профилей в инженерии надеж-
ности программных систем. Мат. машини
і системи. 2004. № 1. С. 166–182.
32. Slabospickaya O. А process for consistent
and informed assessment of software
reliability over its life cycle. Математичні
машини і системи. 2010. № 1. С. 218–224.
http://irbis-nbuv.gov.ua/cgi-bin/irbis_nbuv/cgiirbis_64.exe?Z21ID=&I21DBN=REF&P21DBN=REF&S21STN=1&S21REF=10&S21FMT=fullwebr&C21COM=S&S21CNR=20&S21P01=0&S21P02=0&S21P03=TJ=&S21COLORTERMS=1&S21STR=%D0%9C%D0%B0%D1%82.%20%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B8%20%D1%96%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8
http://irbis-nbuv.gov.ua/cgi-bin/irbis_nbuv/cgiirbis_64.exe?Z21ID=&I21DBN=REF&P21DBN=REF&S21STN=1&S21REF=10&S21FMT=fullwebr&C21COM=S&S21CNR=20&S21P01=0&S21P02=0&S21P03=TJ=&S21COLORTERMS=1&S21STR=%D0%9C%D0%B0%D1%82.%20%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B8%20%D1%96%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8
Методи та засоби програмної інженерії
49
33. Мороз Г.Б., Коротун Т.М. Ризико-
операційний підхід до вирішення пробле-
ми оптимального випуску програмних си-
стем. Проблеми програмування (Спецви-
пуск конференції УкрПРОГ-2006). 2006.
№ 2-3. С. 231–236.
34. Слабоспицька О.О., Коваль Г.І. Інтегрова-
на технологія інтелектуального керування
ризиками програмних проектів. Киберне-
тика и системный анализ. 2009. № 6.
C. 137–143.
35. Лавріщева К.М., Коваль Г.І., Коротун Т.М.
Підходи інженерії якості сімейств програ-
мних систем. Проблеми програмування
(Спецвипуск конференції УкрПРОГ-2008).
2008. № 2-3. С. 219 – 228.
36. Андон Ф.И., Бабко Л.Д. Стандартизация
инженерии систем и программных средств
в Украине. Кибернетика и системный ана-
лиз. 2009. Т. 45. № 6. С. 144–148.
37. Лавріщева K.М., Зінькович В.М., Колесник
А.Л. Інструментально-технологічний ком-
плекс розробки і навчання прийомам виро-
бництва програмних систем. Свідоцтво про
реєстрацію авторського права на твір
№ 45292 від 27.08.2012. Державна служба
інтелектуальної власності України. Київ.
2012.
38. Rodriguez-Mier P., Pedrinaci C., Mucientes
M., Lama M. An Integrated Semantic Web
Service Discovery and Composition
Framework, 2015. [Electronic resourse].
Mode of access: https://arxiv.org/pdf/
1502.02840.pdf.
39. Rodriguez-Mier P., Mucientes M., Lama M.
Hybrid Optimization Algorithm for Large-
Scale QoS-Aware Service Composition. IEEE
Transactions on Services Computing, 2015.
[Electronic resourse]. Mode of access:
https://arxiv.org/pdf/1509.06254.pdf.
References
1. Andon P.I., Babenko L.P. The Problems and
Opportunities of Programming in
SEMANTIC WEB. Problems in
Programming. 2012. N 2-3. P. 363–373. (In
Ukrainian).
2. Andon P.I., Deretsky V.A. The Problems of
Applied Service-oriented Information
Systems Engineering in Semantic Web based
on Agent Approach. Problems in
Programming. 2006. N 2-3. P. 493–502. (in
Ukrainian).
3. DR 0112U002764 Theoretical Fundamentals
and Applied Issues Investigation of Applied
Service-oriented Information Systems
Engineering in Semantic Web. Research
report (final). ). К.: SSI NASU, 2016.
280 p.
4. Page ”W3C Semantic Web Activity”.
[Electronic Resource]. Mode of access:
https://www.w3.org/2001/sw/.
5. Laskey K. OASIS Reference Architecture
Foundation for Service Oriented
Architecture. Version 1.0. 2012. [Electronic
Resource]. Mode of access: https://docs.
oasis-open.org/soa-rm/soa-ra/v1.0/soa-ra-
v1.0.pdf.
6. Lausen H. A Conceptual and Formal
Framework for Semantic Web Services (v1)
2011. [Electronic Resource]. – Mode of
access: https://www.sti-innsbruck.at/sites/
default/files /D2.4.5.pdf.
7. Lavrischeva E.M. Рaradigms of programming
assembling type in software engeneering.
Problems in Programming. 2014. N 2-3.
P. 121–132. (In Ukrainian).
8. Лаврищева Е.М. Software Engineering of
Computer Systems. Paradigms, technologies
and CASE-tools for Programming. К.: Nauk.
Dumka. 2013. 283 p.
9. Lavrischeva E.M., Grischenko V.N.
Assembly Programming. Basics of Software
Industry. Kyiv: Naukova Dumka, 2009 (2nd
ed.). 372 p. (in Russian).
10. Lavrischeva E.M. Assembly Programming.
Theory and Practice. Cybernetics and Systems
Analysis, 2009. N 6. P. 1–12. (in Russian).
11. Lavrishcheva E., Stenyashin A., Kolesnyk A.
Object-Component De-sign. Theoretical and
Applied Issues. Visn. Ser. Fiz.-Mat. Nayky,
Kyiv St. Univ. im. Tarasa Shevchenka.
Special Issue, 2013. N 4. P. 150–162. (in
Russian).
12. Booch G. Object-oriented Analysis and
Design with Examples of C++ Applications.
М.: "Binom Ed.", SPb.: "Nesky dialect",
2001. 560 p.
13. Lavrischeva E.M., Grischenko V.N.
Interconnection of Multilingual Modules in
OS ES. М.: Finansy i Statystika, 1982. 127 p.
(in Russian).
14. Glushkov V.M., Stogniy A.A., Lavrischeva
E.M., Morentsov E.I. The System for Program
Production Automation (APROP). Kiev:
Методи та засоби програмної інженерії
50
Institute of Cybernetics of USSR AS, 1976.
134 p. (in Russian).
15. Lavrischeva E.M. Methods of Programming.
Theory, Engineering, Practice. Kiev, Nauk.
Dumka, 2006. 454 p.
16. Grischenko V.N. The Method for Object-
Component Software Design. Problems in
Programming. 2007. N 2. P. 113–125. (in
Russian).
17. Lavrischeva E., Stenyashin A., Kolesnyk A.
Object-Component Development of
Application and Systems. Theory and Prac-
tice. JSEA. 2014. N 7. P. 756–769.
[Electronic Resource]. Mode of access:
http://file.scirp.org/pdf/JSEA_2014080715053
066.pdf.
18. Remarovich S. The Systems for Web-service
Discovery in Service0Oriented Arcitecture:
Problems and Solutions. Problems in
Programming. 2015. N 3. P. 53–71. (in
Ukrainian).
19. Slabospitska О.О. Technological Model for
the Process of Adaptive Web Service
Composition Engineering and Use. Problems
in Programming. 2015. N 2. P. 52–62. (in
Ukrainian).
20. Lavrischeva E., Koval G., Babenko L. et al.
New Theoretical Foundations of Production
Methods of Software Systems in Generative
Programming Context. Electronic monograph,
in: UK-2011, Vol. 67. Kiev (2011) (in
Ukrainian).
21. Lavrischeva K.M., Slabospickaya O.A.
Technology for Changeable Software
Products and Systems Modelling. Proc. 12th
Int. Conf. TAAPSD’2015. Kiev, November
23-26. P. 118–127. (in Russian).
22. Slabospickaya O. Feature Model of Software
Product Line Enhancing to Enable Product
Adaptability. Bull. of Univ. of Kiev. Series:
Ph.&Math., spec. is. 2014. P. 151–158.
23. Lavrischeva K., Slabospitskaya O., Kolesnik
A., Koval G. The Theoretical View for
Software Family Variability Management.
Visn., Ser. Fiz.-Mat. Nayky, Kyiv Univ. im.
Tarasa Shevchenka. 2011. N 1. P. 45–53. (in
Ukrainian).
24. Slabospickaya O.О. Technological Model for
Software Family Automated Production
Process. Problems in Programming. 2011.
N 1. P. 39–48. (in Ukrainian).
25. Kolesnyk A., Slabospitskaya O. Tested
Approach for Variability Management
Enhancing in Software Product Line. Proc.
8-th Int. Conf. ICTERI 2012, Kherson,
Ukraine, June 6–10, 2012. [Electronic
Resource]. Mode of access: ceur-
ws.org/Vol-848/ICTERI-2012-CEUR-WS-
paper-31-p–155–162.pdf.
26. Slabospitskaya O., Kolesnik A. The Model
for Enhanced Variability Management
Process in Software Product Line. Mayr
H.C., Kop C., Liddle S., Ginige A.
Information Systems: Methods, Models and
Applications. Revised selected papers of 4-th
International United Information Systems
Conference (UNISCON 2012). Yalta,
Ukraine, June 2012. P. 162–171.
27. Lavrischeva Е.М., Slabospitskaya O.O. An
approach for Expert Assessment in Software
Engineering. Cybernetics and Systems
Analysis. 2009. N 4. P.151–168. (in
Russian).
28. Andon P.I., Koval G.I., Korotune T.M.,
Lavrischeva E.M., Suslov V.Yu. The
Fundamentals for Software Quality
Engineering. 2-nd ed. К.: Akademperiodika.
2007. 672 p. (in Russian).
29. Lavrischeva E.М., Koval G.I., Korotune T.M.
An Approach for Quality Management of
Data Processing Software Systems.
Cybernetics and Systems Analysis. 2006. N 5.
P. 174–185. (in Russian).
30. Koval G.І. The Basic Tasks for Decision
Making in Software Reliability Engineering.
Problems in Programming. 2005. N 3.
P. 35–41. (in Ukrainian).
31. Moroz G.B., Koval G.І., Korotune T.M. The
Concept of Reliaility Profiles in in Software
Reliability Engineering. Mathematical
machines and Systems. 2004. N 1.
P. 166–182. ((in Russian).
32. Slabospickaya O. А process for consistent and
informed assessment of software reliability
over its life cycle. Mathematical machines and
Systems. 2010. N 1. P. 218–224.
33. Moroz G.B., Korotune T.M. Risk-Operational
Approach for the Problem of Optimal
Software Delivery Solving. Problems in
Programming. 2006. N 2-3. P. 231–236. (in
Ukrainian).
34. Slabospitska О.О., Koval G.I. An Integrated
Technology for Software Project Risks Smart
Management. Cybernetics and Systems
Analysis. 2009. N 6. P. 137–143. (In
Ukrainian).
35. Lavrischeva E.М., Koval G.I., Korotune T.M.
Approaches for Quality Engineering of
Software System Families. Problems in
Programming. 2008. N 2-3. P. 219–228. (in
Ukrainian).
Методи та засоби програмної інженерії
51
36. Andon P.I., Babko L.D. Systems and
Software Engineering Standardization in
Ukraine. Cybernetics and Systems Analysis.
2009. Vol. 45. N 6. P. 144–148. (in Russian).
37. Lavrischeva K.M., Zinkovich V.M., Kolesnik
A.L. Instrumental-Techno-logical Complex
for Software Development and Production
Scills Learning. A Certificate for authors’
intellectual property N 45292 at 27.08.2012.
State Intellectual Property Service of Ukraine.
Kyiv, 2012. (In Ukrainian).
38. Rodriguez Mier P., Pedrinaci C., Mucientes
M., Lama M. An Integrated Semantic Web
Service Discovery and Composition
Framework. 2015. [Electronic resourse].
Mode of access: https://arxiv.org/pdf/
1502.02840.pdf.
39. Rodriguez-Mier P., Mucientes M., Lama M.
Hybrid Optimization Algorithm for Large-
Scale QoS-Aware Service Composition. IEEE
Transactions on Services Computing, 2015.
[Electronic resourse]. Mode of access:
https://arxiv.org/pdf/1509.06254.pdf.
Одержано 15.08.2017
Про авторів:
Андон Пилип Іларіонович,
академік НАН України,
директор Інституту програмних
систем НАН України,
Кількість наукових публікацій в
українських виданнях – 400.
Кількість наукових публікацій в
зарубіжних індексованих виданнях – 10.
http://orcid.org/0000-0001-6546-0826.
Слабоспицька Ольга Олександрівна,
кандидат фізико-математичних наук,
старший науковий співробітник.
Кількість наукових публікацій в
українських виданнях – понад 50.
Кількість наукових публікацій в
зарубіжних індексованих виданнях – 5.
http://orcid.org/0000-0001-6556-0947.
Місце роботи авторів:
Інститут програмних систем
НАН України,
03187, м. Київ,
проспект Академіка Глушкова, 40.
Тел.: +38(044) 526 4286.
Е-mail: olsips2017@gmail.com
mailto:olsips2017@gmail.com
|