МЕТОД АВТОМАТИЗОВАНОЇ КЛАСИФІКАЦІЇ ТИПІВ UML-ДІАГРАМ НА ОСНОВІ АНАЛІЗУ ПРОМІЖНОГО ПРЕДСТАВЛЕННЯ PLANTUML
DOI:
https://doi.org/10.31891/2307-5732-2026-365-78Ключові слова:
UML-діаграми, PlantUML, класифікація типів діаграм, проміжна репрезентація, евристична класифікація, семантико-синтаксичне узгодженняАнотація
PlantUML є одним із найпоширеніших форматів UML у репозиторіях програмного забезпечення з відкритим кодом, проте всі дев'ять стандартних типів UML-діаграм використовують єдину директиву @startuml без явного оголошення типу діаграми. Існуючі підходи до автоматизованої класифікації — нейронні мережі на основі зображень та методи на основі великих мовних моделей (LLM) — потребують згенерованих зображень, навчальних даних або зовнішніх сервісів інференсу, що обмежує їх застосування для детермінованої пакетної обробки великих текстових корпусів. Ця стаття порушує питання: якою мірою синтаксис PlantUML кодує тип діаграми? Запропоновано евристичний класифікатор, що працює на основі скомпільованого проміжного представлення PlantUML із використанням трирівневої стратегії диспетчеризації, яка поєднує аналіз класу діаграми, аналіз типів сутностей на рівні елементів та підрахунок за більшістю на основі візуальних символів. Класифікатор працює безпосередньо з результатами компілятора та не потребує навчальних даних, згенерованих зображень або зовнішніх API. Оцінювання проведено на 143 258 діаграмах із набору даних UML-in-the-Wild — корпусу PlantUML-файлів, видобутих із в відкритого коду на платформах GitHub та Bitbucket. Результати показали 95,96% загальної семантико-синтаксичної узгодженості між запропонованим синтаксичним класифікатором та опублікованою семантичною розміткою на основі LLM, із узгодженістю 93–99,7% для семи з дев'яти типів. Ручна перевірка 110 файлів з розбіжностями виявила, що жоден класифікатор не є однозначно кращим: у 47% випадків розбіжностей правильним виявився запропонований класифікатор, у 45% — LLM-класифікатор, а 8% є неоднозначними. Межа між діаграмами компонентів та діаграмами розгортання, де узгодженість знижується до 48–62%, зумовлена двома структурними механізмами: семантичним перевантаженням ключових слів (database, node та інші використовуються для позначення неінфраструктурних елементів) та асиметрією контейнер–елемент (контейнери node невидимі для аналізу на рівні сутностей). Ці обмеження є властивостями мови PlantUML, а не недоліками класифікатора.
Завантаження
Опубліковано
Номер
Розділ
Ліцензія
Авторське право (c) 2026 ВОЛОДИМИР ПОЛІЩУК, ВЛАДИСЛАВА СКІДАН (Автор)

Ця робота ліцензується відповідно до ліцензії Creative Commons Attribution 4.0 International License.