Method of increasing the reliability of knowledge software-oriented systems due to code re-use mechanisms
Intelligent IT and robotics in the field of Security and Defense
DOI:10.33099/2311-7249/2021-42-3-45-54
УДК: 004.054
Ігор Анатолійович Костюк (доктор філософії) 1
Максим Анатолійович Павленко (доктор технічних наук, професор) 2
Сергій Валерійович Осієвський (кандидат технічних наук) 2
Олексій Юрійович Несміян (кандидат технічних наук) 2
1
2
Національний університет оборони України імені Івана Черняховського, Київ, Україна
Харківський національний університет повітряних сил імені Івана Кожедуба, Харків, Україна
МЕТОД ПІДВИЩЕННЯ НАДІЙНОСТІ ПРОГРАМНОГО
ЗАБЕЗПЕЧЕННЯ ЗНАННЯ-ОРІЄНТОВАНИХ СИСТЕМ ЗА
РАХУНОК МЕХАНІЗМІВ ПОВТОРНОГО ВИКОРИСТАННЯ КОДУ
Розглянуті питання можливості застосування механізму повторного використання коду
в процесі проектування та розробки програмного забезпечення знання-орієнтованих систем.
Доведена необхідність окремого дослідження питань розробки програмного забезпечення
аналітичного та інформаційного ресурсів, що забезпечують підтримку всіх учасників процесу
розробки програмного забезпечення знання-орієнтованих систем. Показана необхідність
використання механізмів повторного використання раніше розробленого і верифікованого
програмного коду, як елементу інформаційного ресурсу. В рамках розробленого методу
підвищення надійності програмного забезпечення знання-орієнтованих систем за рахунок
механізмів повторного використання коду запропонована нова візуальна форма подання
бібліотек функцій у вигляді єдиної програмної оболонки. В якості базового інструментарію
вирішення завдання розробки інформаційного ресурсу запропоновано використовувати UML
(Unified Modeling Language) – уніфіковану мову моделювання, в основу якої покладено
парадигму об'єктно-орієнтованого програмування. Зазначений вибір обґрунтований тим, що
UML є невід'ємною частиною уніфікованого процесу розробки програмного забезпечення та по
суті являється відкритим стандартом, що використовує графічні позначення для створення
абстрактної моделі системи. Отримані теоретичні положення відображені в наскрізному
прикладі, що відображає однин з можливих варіантів організації бібліотек функцій як
елементу інформаційного ресурсу. Розроблено та обґрунтовано діаграми варіантів
використання, діаграми взаємодії, діаграми послідовності, діаграми класів. На основі
отриманих практичних результатів запропоновано структурну схему методу, яка, на відміну
від існуючих рішень включає процедуру вироблення коректур для основних UML-діаграм за
вимогами середовищ програмування.
Ключові слова: UML-діаграма, програмне забезпечення, програмний код, інформаційний
ресурс, клас, функція, модель.
Вступ
Постановка
проблеми.
Програмне
забезпечення знання-орієнтованих інформаційних
систем (ЗОІС), характеризується орієнтацією на
предметну область для якої вона розробляється та,
відповідно, реалізацією складних математичних
моделей (досить часто унікальних та характерних
лише для певної предметної області), які є
алгоритмічним поданням реальних фізичних
процесів. Нерідко, реальні завдання, вирішення
яких необхідно реалізувати в ЗОІС потребують
спільного застосування апарату декількох галузей
знань,
що
суттєво
ускладнює
процес
математичного опису і, як наслідок, програмної
реалізації цих завдань. Крім цього, значна
кількість логіко-математичних моделей будуються
на алгебраїчних виразах, що вимагає застосування
різних методів обчислювальної математики для
можливості отримання по ним чисельних
розрахунків, що вимагає наявності професійних
знань методів обчислювальної математики та має
вирішальне значення в програмній реалізації
зазначених математичних моделей [1,2].
Тобто, розробка програмного забезпечення
ЗОІС полягає не лише в програмній реалізації
складних прикладних функцій, що дозволяють
реалізувати функціональність системи, а й в
розробці численних програмних механізмів які
забезпечують
надійність
і
коректність
© І.А.Костюк, М.А.Павленко, С.В.Осієвський, О.Ю.Несміян
Modern Information Technologies in the Sphere of Security and Defence № 3 (42)/2021
ISSN 2311-7249 (Print)/ISSN 2410-7336 (Online)
45
Інтелектуальні ІТ та робототехніка у сфері безпеки та оборони
обчислювального процесу, зручний інтерфейс
користувача,
раціональне
використання
обчислювальних ресурсів, сумісну взаємодію
різнотипних програмних додатків в рамках
єдиного проекту. Крім цього, програмна реалізація
математичних моделей, передбачає наявність
знань розробниками відповідних прикладних
теорій пов’язаних зі специфічністю предметних
областей.
Сформована на сьогоднішній день практика
розробки програмного забезпечення передбачає
розмежування сфер відповідальності в процесі
розробки програмного забезпечення. Тобто
розробники програмного забезпечення повинні в
першу чергу відповідати за реалізацію спільних
програмних механізмів, що забезпечують коректну
поведінку програми в рамках відповідної
операційної системи, а також коректну взаємодію
програмних блоків між собою, а завдання
створення програмних алгоритмів, що реалізують
необхідні логіко-математичні моделі, виноситься в
окрему задачу, яка вирішується інженерами зі
знань, архітекторами та експертами. Висока
трудомісткість і наукоємність даного процесу, а
також необхідність забезпечення взаємодії
фахівців в різних областях знань призводить до
значних витрат на даний процес.
Саме зазначена обставина, в першу чергу,
говорить
про
необхідність
використання
механізмів повторного використання раніше
розробленого і верифікованого програмного коду,
як елементу інформаційного ресурсу. Іншими
словами, процес розробки ЗОІС, із застосуванням
будь-якого з існуючих на сьогоднішній день
підходів до проектування і створення програмної
продукції є надзвичайно складним і трудомістким
процесом. Незважаючи на те, що нові підходи до
програмування дозволяють, з одного боку, суттєво
підвищувати ефективність розробки програмного
забезпечення, з іншого боку, постійно зростаючі
вимоги
до
функціональної
складності,
можливостям
міжпрограмної
взаємодії,
ергономіки і т.д. зазначеного класу систем
вимагають все більш тривалих термінів їх
розробки.
Аналіз останніх досліджень і публікацій. З
метою зниження витрат часу на розробку
програмної продукції, з моменту появи перших
підходів
до
програмування,
стали
використовуватися і розвиватися так звані
механізми повторно використовуваного коду [3-5].
Сутність цих механізмів полягає в ідеї, повторного
використання в нових розробках раніше
розробленого програмного коду.
В даний час до механізмів повторно
використовуваного коду відносять бази або
бібліотеки функцій, процедур, класів, об'єктів і
агентів. Для позначення більш загальної категорії,
що термінологічно об'єднує вище зазначені бази і
бібліотеки,
в
роботі
введено
термін
“інформаційний ресурс”.
Слід зазначити, що при розробці прикладного
програмного забезпечення загального призначення
46
ISSN 2311-7249 (Print) / ISSN 2410-7336 (Online)
(такого, що не містить елементів інтелектуальних
систем) прийнято використовувати інформаційноаналітичний ресурс, що містить теоретичні описи
завдань з використанням положень відомих
методологій та їх п (...truncated)