ЗАСТОСУВАННЯ ШТУЧНОГО ІНТЕЛЕКТУ В СЕРВІСНО-ОРІЄНТОВАНОМУ ДИЗАЙНІ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
07.11.2023 12:42
[3. Technical sciences]
Author: Стисло Оксана Василівна, старший викладач кафедри інформаційних технологій, Заклад вищої освіти, «Університет Короля Данила», м. Івано-Франківськ;
Габурак Михайло Мирославович, магістр, Заклад вищої освіти «Університет Короля Данила», м. Івано-Франківськ;
Кравців Констянтин Ігорович, аспірант, Івано-Франківський національний технічний університет нафти і газу, м. Івано-Франківськ;
Процюк Володимир Васильович, аспірант, Івано-Франківський національний технічний університет нафти і газу, м. Івано-Франківськ
Сервісно-орієнтована архітектура (SOA) була обрана галуззю програмного забезпечення для створення розподілених і корпоративних програмних додатків, які повинні бути як високоякісними, так і адаптованими до змін ринку. Крім того, SOA створює можливості для підвищення гнучкості та швидкості узгодження потреб бізнесу з інфраструктурою інформаційних технологій. У цьому контексті SOA сприяє повторному використанню сервісів для швидкого створення додатків шляхом збирання вже реалізованих і доступних через Інтернет фрагментів програмного забезпечення, які називаються сервісами. Як кількість веб-сервісів, доступних в Інтернеті, так і потреба задовольнити численні вимоги користувачів і питання якості обслуговування (QoS) створюють нішу для застосування штучного інтелекту (AI)[1,2].
До послуг AI можна отримати доступ, зіставити та інтегрувати програми виявлення та композиції. Виявлення служб – це процес визначення місцезнаходження існуючих служб на основі опису їх функціональних і нефункціональних властивостей. Загалом, система для виявлення служб потребує мови опису послуги, засобу вибору послуги та архітектури виявлення, наприклад, децентралізованої P2P. Композиція сервісу поєднує ролі та функціональні можливості для об’єднання кількох сервісів в єдиний складений сервіс, який можна використовувати в подальших композиціях. Створення служб включає складні проблеми, які перевищують людські можливості для вирішення цього процесу повністю вручну. Виявлення та композиція служб розглядалося за допомогою кількох підходів для полегшення аутсорсингу функціональності в додатках на основі SOA. Однак послуги, отримані в результаті виявлення та композиції, можуть не відповідати вимогам QoS або бізнес-цілям, що спонукає розробників створювати нові служби за допомогою інструкцій з розробки. Далеко не випадковим процесом є розробка альтернативних послуг, що як правило, керується набором інструкцій, що включають знання про рекомендовані практики проектування, з метою вибору найбільш підходящого серед численних доступних альтернатив, навіть для невеликих просторів пошуку. У світлі вищевикладеного використання штучного інтелекту стає підходящою стратегією для вивчення можливих рішень для виявлення, створення та розробки послуг. Вибір відповідної альтернативи може спричинити помилки та забрати багато часу; отже, розробникам потрібна допомога ШІ у виборі серед ефективних альтернатив дизайну, які також підходять з точки зору властивостей атрибутів якості. В якості засобів аналізу, розглядаються такі критерії:
•Техніка ШІ. Ця функція представляє техніку штучного інтелекту та набір методів штучного інтелекту (наприклад, планування штучного інтелекту), які використовуються підходом, разом із параметрами та основними операторами. Цей критерій намагається виявити переваги техніки, а також її обмеження для вирішення певних проблем.
•Мова. Цей критерій стосується базової мови програмування кожного дослідницького підходу, наприклад Java, або моделі нотації, такої як Meta-object Facility (MOF).
•Мова моделювання. Ця функція описує модель специфікації для опису знань домену, і моделі для визначення питань семантичного вебу, наприклад OWL-S, серед інших.
•Платформа та середовище розгортання. Цей критерій стосується набору інструментів, які є частиною середовища розробки, наприклад Eclipse або Visual Studio. Крім того, цей критерій стосується середовища розгортання (наприклад, веб-програми або програми для настільних комп’ютерів), архітектурного стилю (наприклад, CORBA або ESB) та операційних систем (Windows або Linux), серед іншого.
•Вичерпний тест. Цей критерій оцінює, чи підхід був вичерпно перевірений за допомогою значної кількості прикладів.
•Властивості атрибутів якості . Цей критерій описує якість обслуговування (QoS), що означає як функціональні, так і нефункціональні аспекти веб-сервісу. В основному включаються нефункціональні представлення, максимізовані кожним підходом. Повний список представлено таким чином: доступність, масштабованість, ефективність, гнучкість, цілісність, сумісність, ремонтопридатність, портативність, безпека, продуктивність , надійність, багаторазове використання, стійкість, тестування та зручність використання.
Отже, основна перевага використання штучний інтелект полягає в його ефективній роботі в динамічних, розподілених, недетермінованих і невизначених середовищах; скорочення простору пошуку. Крім того, ШІ є багатообіцяючим при високій масштабованості, де потрібна верифікація та валідація складу сервісу щодо відсутності тупикових ситуацій і властивостей безпеки.
Література:
1. Barenkamp, Marco, Jonas Rebstadt, and Oliver Thomas. "Applications of AI in classical software engineering." AI Perspectives 2.1 (2020).
2. Vassilev, Vassil, Viktor Sowinski-Mydlarz, and Sylvia Ilieva. "Hybrid AI for data platforms." (2021).