ОПИС ЗНАНЬ ПРО ВИХІДНИЙ КОД З ВИКОРИСТАННЯМ ОНТОЛОГІЇ
DOI:
https://doi.org/10.36994/2788-5518-2023-01-05-14Ключові слова:
онтологія; OWL; база знань; система перетворення коду в онтологію; REST; семантичний веб; reasonerАнотація
Дане дослідження зосереджене на використанні онтології як формальної баз знань для представлення вихідного коду в автоматизованих системах. Шляхом створення онтології, яка відображає концепції, зв'язки та властивості елементів вихідного коду, стає можливим зберігання та організація знань про кодову базу. Це надає різноманітні функціональні можливості, такі як автоматизований аналіз коду та створення знань про структуру та поведінку коду. Метою цього дослідження є перевірка можливості використання онтології як формальної бази знань про вихідний код в автоматизованих системах. Огляд останніх статей показав, що існуючі інструменти для роботи з онтологіями не надають безпосередньо функціональності для перетворення коду в знання, тому ідея, запропонована в статті, має новизну. Стаття досліджує використання мови OWL як основної мови представлення онтології через її виразність, підтримку механізмів логічного виведення та сумісність зі стандартами семантичної мережі. Пропонується створення представлень онтології для різних елементів коду, з класами, що представляють основні типи сутностей, та окремими екземплярами, що представляють конкретні екземпляри всередині кодової бази. Для перевірки концепції та демонстрації очікуваних результатів будується система-прототип, яка складається з клієнта для розбору вихідного коду, RESTful API для зв'язку між компонентами та менеджера онтологій. Система використовує такі бібліотеки, як SwiftSyntax для розбору Swift-коду, Alamofire для HTTP-зв'язку та бібліотеки маніпулювання OWL (наприклад, OWL-API та ONT-API) для роботи з онтологіями. Система має на меті вилучення знань з вихідного коду, перетворення його на сутності та аксіоми онтології та обробку онтологію за допомогою системи отримання знань (наприклад, HermiT). Зроблено висновок, що онтології ефективно зберігають знання про вихідний код та дозволяють різноманітні маніпуляції над ними. Однак, для реалізації збору більшого обсягу знань про вихідний код необхідно провести подальше дослідження для визначення оптимального набору властивостей та сутностей, які має підтримувати система перетворення коду в онтологію.
Посилання
Happel, H-J., Seedorf, S. Applications of ontologies in software engineering. In Proc. of Workshop on Sematic Web Enabled Software Engineering (SWESE) on the ISWC, 2006, pp. 5-9 .
As we may code. [Електронний ресурс] - Режим доступу: https://nshipster.com/as-we-may-code/#skip
OWL 2 Web Ontology Language. [Електронний ресурс] - Режим доступу: https://www.w3.org/TR/owl2-syntax/
Semantic Web Tool. [Електронний ресурс] - Режим доступу: https://www.w3.org/wiki/SemanticWebTools
Resource Description Framework (RDF). [Електронний ресурс]. - Режим доступу: https://www.w3.org/RDF/
Glimm, B., Horrocks, I., Motik, B., Stoilos, G., Wang, Z. HermiT: an OWL 2 reasoner. Journal of Automated Reasoning, Springer Netherlands, 2014, No. 53, pp. 245 – 269.
Horrocks, I., Motik, B., Wang, Z. The HermiT OWL Reasoner. CEUR Workshop Proceedings, 2012, Vol. 3(858).
Tkachuk, A., Bulakh, B. Research of possibilities of default refactoring actions in Swift language. Technology Audit and Production Reserves, 2022, No. 5(2(67), pp. 6–10. DOI: 10.15587/2706-5448.2022.266061
Tkachuk, A., Bulakh, B. Usage of formalized knowledge about source code for refactoring actions in Swift. Technology Audit and Production Reserves, 2022, No. 6(2(68), pp. 6–10. DOI: 10.15587/2706-5448.2022.267160
Ruta, M., Scioscia, F., Di Sciascio, E., Bilenchi, I. OWL API for iOS: early implementation and results. 13th OWL: Experiences and Directions Workshop and 5th OWL reasoner evaluation workshop (OWLED - ORE 2016), Springer, 2016, vol. 10161, pp. 141–152, DOI: 10.1007/978-3-319-54627-8
Ruta, M., Scioscia, F., Gramegna, F., Bilenchi, I., Di Sciascio, E. Mini-ME Swift: The First Mobile OWL Reasoner for iOS, In: The Semantic Web. ESWC 2019. Lecture Notes in Computer Science, 2019, vol. 11503, Springer, Cham, pp. 298-313. DOI: 10.1007/978-3-030-21348-0_20
An Introduction to the OWL API. [Електронний ресурс] - Режим доступу: http://syllabus.cs.manchester.ac.uk/pgt/2019/COMP62342/introduction-owl-api-msc.pdf
ONT-API: an RDF-centric Java library to work with OWL2. [Електронний ресурс] - Режим доступу: https://github.com/owlcs/ont-api
Dirsumilli, R., Mossakowski, T. RESTful Encapsulation of OWL API. 5th International Conference on Data Management Technologies and Applications, 2016, pp. 150 - 157. DOI: 10.5220/0005987201500157.

