The software tool of constructive-synthesizing modeling

The concept of constructive-synthesizing modelling is presented. The basic principles are outlined. The classification of constructors by the purpose of constructing and external relations is presented. The types of constructors are defined: generating, transforming, analyzing, optimizing/adapting,...

Full description

Saved in:
Bibliographic Details
Date:2024
Main Authors: Shynkarenko, V.I., Chyhir, R.R.
Format: Article
Language:Ukrainian
Published: PROBLEMS IN PROGRAMMING 2024
Subjects:
Online Access:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/626
Tags: Add Tag
No Tags, Be the first to tag this record!
Journal Title:Problems in programming
Download file: Pdf

Institution

Problems in programming
id pp_isofts_kiev_ua-article-626
record_format ojs
resource_txt_mv ppisoftskievua/04/5d71e4f961eb21b4c796e9bca8dbb704.pdf
spelling pp_isofts_kiev_ua-article-6262025-02-15T10:20:50Z The software tool of constructive-synthesizing modeling Інструментальні засоби конструктивно-продукційного моделювання Shynkarenko, V.I. Chyhir, R.R. constructive-synthesizing modeling; software; constructor; algorithm; formal grammar; formalization UDC 510+004.4 конструктивно-продукційне моделювання; програмне забезпечення; конструктор; алгоритм; формальна граматика; формалізація УДК 510+004.4 The concept of constructive-synthesizing modelling is presented. The basic principles are outlined. The classification of constructors by the purpose of constructing and external relations is presented. The types of constructors are defined: generating, transforming, analyzing, optimizing/adapting, algorithmic; standalone, parametric, interactive, multi-designer. Achievements in the application of the constructive-synthesizing approach to solving a number of problems are presented. The tool software environment «Constructor 1.0» has been developed for the formation of constructors by means of the Python language using Qt technology to ensure cross-platform compatibility. for the formation of constructors. On the example of the geometric fractal formation , its functionality is demonstrated. First of all, it concerns the formation of such constructors as a standalone generating, parametric transforming, and unifying multiconstructor. The features of expending transformations in the formation of constructors are shown: specification, interpretation and concretization. The specialization of constructors determines the subject area of constuctiong, the necessary data and operations. To ensure the functioning of the constructing processes, all constructor operations must be interpreted by the corresponding procedures of the algorithmic constructor. The combination of the constructor (model of elements and possible operations) with the algorithmic constructor (model of the executor) forms a constructive system capable of autonomously performing constructing by an internal executor. In concretization, substitution rules and initial conditions are specified. The developed software environment provides a certain flexibility in terms of possible modifications of constructors and constructing processes. The developed tools can be the basis for modelling various structures and constructing processes, especially in the tasks of their optimization and structural adaptation.Problems in programming 2024; 2-3: 107-115 Представлена концепція конструктивно-продукційного моделювання. Викладені основні принципи. Представлена класифікація конструкторів за метою конструювання та зовнішніми зв’язками. Визначені типи конструкторів: породжуючий, трансформуючий, аналізуючий, оптимізуючий/адаптуючий, алгоритмічний; автономний, параметричний, інтерактивний, мультиконструктор. Представлені досягнення із застосування конструктивно-продукційного підходу у рішенні низки задач. Для формування конструкторів розроблено інструментальне програмне середовище «Конструктор 1.0» засобами мови Python із використанням технології Qt для забезпечення кросплатформеності для формування конструкторів. На прикладі формування геометричних фракталів продемонстровані його функціональні можливості. Насамперед це стосується формування таких конструкторів як автономний породжуючий, параметричний трансфомуючий, та об’єднуючий їх мультиконструктор. Показані особливості уточнюючих перетворень при формуванні конструкторів: спеціалізації, інтерпретації та конкретизації. Спеціалізація конструкторів визначає предметну область конструювання, необхідні дані і операції. Для забезпечення функціонування процесів конструювання всі операції конструкторів повинні інтерпретуватись відповідними процедурами алгоритмічного конструктору. Поєднанням конструктора (моделі елементів і можливих операцій) з алгоритмічним (моделі виконавця) формується конструктивна система, здатна автономно виконувати конструювання внутрішнім виконавцем. У проуесі конкретизації задаються правила підстановки та початкові умови. Розроблене програмне середовище забезпечує певну гнучкість щодо можливих модифікацій конструкторів і процесів конструювання. Розроблений інструментарій може бути основою для моделювання різних конструкцій і конструктивних процесів, особливо у задачах їх оптимізації та структурної адаптації.Problems in programming 2024; 2-3: 107-115 PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2024-12-17 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/626 10.15407/pp2024.02-03.107 PROBLEMS IN PROGRAMMING; No 2-3 (2024); 107-115 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 2-3 (2024); 107-115 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 2-3 (2024); 107-115 1727-4907 10.15407/pp2024.02-03 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/626/678 Copyright (c) 2024 PROBLEMS IN PROGRAMMING
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2025-02-15T10:20:50Z
collection OJS
language Ukrainian
topic constructive-synthesizing modeling
software
constructor
algorithm
formal grammar
formalization
UDC 510+004.4
spellingShingle constructive-synthesizing modeling
software
constructor
algorithm
formal grammar
formalization
UDC 510+004.4
Shynkarenko, V.I.
Chyhir, R.R.
The software tool of constructive-synthesizing modeling
topic_facet constructive-synthesizing modeling
software
constructor
algorithm
formal grammar
formalization
UDC 510+004.4
конструктивно-продукційне моделювання
програмне забезпечення
конструктор
алгоритм
формальна граматика
формалізація
УДК 510+004.4
format Article
author Shynkarenko, V.I.
Chyhir, R.R.
author_facet Shynkarenko, V.I.
Chyhir, R.R.
author_sort Shynkarenko, V.I.
title The software tool of constructive-synthesizing modeling
title_short The software tool of constructive-synthesizing modeling
title_full The software tool of constructive-synthesizing modeling
title_fullStr The software tool of constructive-synthesizing modeling
title_full_unstemmed The software tool of constructive-synthesizing modeling
title_sort software tool of constructive-synthesizing modeling
title_alt Інструментальні засоби конструктивно-продукційного моделювання
description The concept of constructive-synthesizing modelling is presented. The basic principles are outlined. The classification of constructors by the purpose of constructing and external relations is presented. The types of constructors are defined: generating, transforming, analyzing, optimizing/adapting, algorithmic; standalone, parametric, interactive, multi-designer. Achievements in the application of the constructive-synthesizing approach to solving a number of problems are presented. The tool software environment «Constructor 1.0» has been developed for the formation of constructors by means of the Python language using Qt technology to ensure cross-platform compatibility. for the formation of constructors. On the example of the geometric fractal formation , its functionality is demonstrated. First of all, it concerns the formation of such constructors as a standalone generating, parametric transforming, and unifying multiconstructor. The features of expending transformations in the formation of constructors are shown: specification, interpretation and concretization. The specialization of constructors determines the subject area of constuctiong, the necessary data and operations. To ensure the functioning of the constructing processes, all constructor operations must be interpreted by the corresponding procedures of the algorithmic constructor. The combination of the constructor (model of elements and possible operations) with the algorithmic constructor (model of the executor) forms a constructive system capable of autonomously performing constructing by an internal executor. In concretization, substitution rules and initial conditions are specified. The developed software environment provides a certain flexibility in terms of possible modifications of constructors and constructing processes. The developed tools can be the basis for modelling various structures and constructing processes, especially in the tasks of their optimization and structural adaptation.Problems in programming 2024; 2-3: 107-115
publisher PROBLEMS IN PROGRAMMING
publishDate 2024
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/626
work_keys_str_mv AT shynkarenkovi thesoftwaretoolofconstructivesynthesizingmodeling
AT chyhirrr thesoftwaretoolofconstructivesynthesizingmodeling
AT shynkarenkovi ínstrumentalʹnízasobikonstruktivnoprodukcíjnogomodelûvannâ
AT chyhirrr ínstrumentalʹnízasobikonstruktivnoprodukcíjnogomodelûvannâ
AT shynkarenkovi softwaretoolofconstructivesynthesizingmodeling
AT chyhirrr softwaretoolofconstructivesynthesizingmodeling
first_indexed 2025-07-17T09:57:39Z
last_indexed 2025-07-17T09:57:39Z
_version_ 1850410389627469824
fulltext Інструментальні засоби та середовища програмування 107 УДК 510+004.4 http://doi.org/10.15407/pp2024.02-03.107 В.І. Шинкаренко, Р.Р. Чигир ІНСТРУМЕНТАЛЬНІ ЗАСОБИ КОНСТРУКТИВНО-ПРОДУКЦІЙНОГО МОДЕЛЮВАННЯ Представлена концепція конструктивно-продукційного моделювання. Викладені основні принципи. Представлена класифікація конструкторів за метою конструювання та зовнішніми зв’язками. Визна- чені типи конструкторів: породжуючий, трансформуючий, аналізуючий, оптимізуючий/адаптуючий, алгоритмічний; автономний, параметричний, інтерактивний, мультиконструктор. Представлені дося- гнення із застосування конструктивно-продукційного підходу у рішенні низки задач. Для формуван- ня конструкторів розроблено інструментальне програмне середовище «Конструктор 1.0» засобами мови Python із використанням технології Qt для забезпечення кросплатформеності для формування конструкторів. На прикладі формування геометричних фракталів продемонстровані його функціона- льні можливості. Насамперед це стосується формування таких конструкторів як автономний поро- джуючий, параметричний трансфомуючий, та об’єднуючий їх мультиконструктор. Показані особли- вості уточнюючих перетворень при формуванні конструкторів: спеціалізації, інтерпретації та конк- ретизації. Спеціалізація конструкторів визначає предметну область конструювання, необхідні дані і операції. Для забезпечення функціонування процесів конструювання всі операції конструкторів по- винні інтерпретуватись відповідними процедурами алгоритмічного конструктору. Поєднанням конс- труктора (моделі елементів і можливих операцій) з алгоритмічним (моделі виконавця) формується конструктивна система, здатна автономно виконувати конструювання внутрішнім виконавцем. У проуесі конкретизації задаються правила підстановки та початкові умови. Розроблене програмне се- редовище забезпечує певну гнучкість щодо можливих модифікацій конструкторів і процесів конст- руювання. Розроблений інструментарій може бути основою для моделювання різних конструкцій і конструктивних процесів, особливо у задачах їх оптимізації та структурної адаптації. Ключові слова: конструктивно-продукційне моделювання, програмне забезпечення, конструктор, ал- горитм, формальна граматика, формалізація V.I.Shynkarenko, R.R.Chyhir THE SOFTWARE TOOL OF CONSTRUCTIVE-SYNTHESIZING MODELLING The concept of constructive-synthesizing modelling is presented. The basic principles are outlined. The clas- sification of constructors by the purpose of constructing and external relations is presented. The types of con- structors are defined: generating, transforming, analyzing, optimizing/adapting, algorithmic; standalone, par- ametric, interactive, multi-designer. Achievements in the application of the constructive-synthesizing ap- proach to solving a number of problems are presented. The tool software environment «Constructor 1.0» has been developed for the formation of constructors by means of the Python language using Qt technology to en- sure cross-platform compatibility. for the formation of constructors. On the example of the geometric fractal formation , its functionality is demonstrated. First of all, it concerns the formation of such constructors as a standalone generating, parametric transforming, and unifying multiconstructor. The features of expending transformations in the formation of constructors are shown: specification, interpretation and concretization. The specialization of constructors determines the subject area of constuctiong, the necessary data and opera- tions. To ensure the functioning of the constructing processes, all constructor operations must be interpre ted by the corresponding procedures of the algorithmic constructor. The combination of the constructor (model of elements and possible operations) with the algorithmic constructor (model of the executor) forms a construc- tive system capable of autonomously performing constructing by an internal executor. In concretization, sub- stitution rules and initial conditions are specified. The developed software environment provides a certain flexibility in terms of possible modifications of constructors and constructing processes. The developed tools can be the basis for modelling various structures and constructing processes, especially in the tasks of their optimization and structural adaptation. Key words: constructive-synthesizing modeling, software, constructor, algorithm, formal grammar, formali- zation © В.І. Шинкаренко, Р.Р. Чигир, 2024 ISSN 1727-4907. Проблеми програмування. 2024. №2-3 Інструментальні засоби та середовища програмування 108 Вступ Розглянемо конструктивну паради- гму сприйняття світу людиною і відповід- ний підхід до програмування. Основні положення конструктивної парадигми: − світ сприймається як сукупність конструкцій і конструктивних процесів; − конструкції складаються з де- яких елементів і інших конструкцій; − конструктивний процес склада- ється з елементарних дій (дискретних або неперервних, детермінованих або стохас- тичних тощо) та інших процесів; − елементи, конструкції, проміжні форми конструювання пов’язані між со- бою деякими відношеннями зв’язування; − елементи конструкцій, проміжні форми конструювання, конструкції, від- ношення та операції – кожен має свій на- бір деякий атрибутів; − у формуванні конструкцій вико- ристовується тріада: відношення → опера- ція → відношення. Останнє положення потребує де- яких пояснень. У алгебрі, наприклад, цілих чисел з заданою операцією додавання, за- пис «3+4» сприймається як відношення: треба скласти 3 і 4, в результаті операції складання отримаємо результат 7. Тобто маємо відношення → операція: треба до- дати і додавання. У конструктивній парадигмі: маємо відношення «гвинт можна закрутити у пе- вний отвір» (водночас повинні співпадати деякі іх атрибути: розмір отвору і гвинта, вид різьби, шаг різьби). Це відношення є основою операції закручування гвинта в отвір. У результаті операції встановлюєть- ся нове відношення «закручений» у конст- рукцію з отвором гвинт. Відношення між отвором і гвинтом змінилось за тріадою пов’язаних між собою відношень і опера- ції: можна закрутити → операція закру- чування → закручено. У результаті опера- ції залишаються всі аргументи (елементи) з новим відношенням. Парадигма конструкційно-продук- ційного моделювання з’явилася у резуль- таті невдалої спроби узагальнення відомих засобів формальних граматик. Як з’ясувалось, існує велика кількість моди- фікацій граматик [1, 2], таких як мульти- символьні [3], програмні, стохастичні [4, 5], зважені, індексні [6], матричні [7], різні графічні [5] та граматикоподібні L- системи [8], R-системи [9] тощо. Основні переваги запропонованого підходу: − засобами однієї моделі можна пов’язати конструкції з конструктивними процесами; − оптимізувати або адаптувати структуру конструкції і процесів (складові, їхні розташування, зв’язки); − моделювати конструкції, які складно, або навіть неможливо отримати іншими засобами; − виконувати співставлення конс- трукції; − моделювати, аналізувати і про- гнозувати конструктивні процеси. У представленій роботі розглянуті функціональні можливості розробленого авторами інструментального середовища «Конструктор 1.0» для автоматизації роз- робки конструктивно-продукційних моде- лей та їх використання. Пов’язані роботи Виконана низка досліджень з вико- ристанням конструктивно-продукційного моделювання, які засвідчують продуктив- ність та ефективність цього підходу. Наве- демо деякі з них. Виявлені нові можливості форму- вання геометричних фракталів [10]. А саме: формування фракталів з неоднорідних еле- ментів; комбінування різних, у тому числі класичних, фракталів у мультифракталах. Можливості формування фракталів розши- рені шляхом усунення необхідних за інших підходів обмежень: елементи формування фракталів повинні бути представлені істот- но непересічними множинами; застосову- ються лише стискаючі відображення. Структурну адаптацію алгоритмів і процесу стискання даних формалізовано су- купністю трьох конструкторів [11]: двоїсто- Інструментальні засоби та середовища програмування 109 го конструктора алгоритму стиснення (ком- пресії та декомпресії), перетворювача сконс- труйованого алгоритму в конструктивний процес стиснення і безпосередньо конструк- тора-адаптера. Реалізацією конструкторів є відповідне програмне забезпечення. Встано- влена його функціональна ефективність під час стискання різних банків даних. Розроблена конструкційно-продук- ційна модель природної мови [12] дозво- ляє: розглядати мову як конструктивний процес, що може бути використаний як основа для створення методології побудо- ви систем з високим ступенем інтелектуа- льності; удосконалити процеси семантич- ного аналізу, зокрема, у задачах зіставлен- ня та виявлення відповідного семантично- го змісту в текстах. Таким чином суттєво зменшується вплив синонімів, омонімів, перифразів та перекладу. Моделювання ґраток кристалів для дослідження існуючих і моделювання но- вих матеріалів, вивчення процесів криста- лізації. Для моделювання кристалічних ґраток застосоване конструктивно- продукційне моделювання [13]. Конструк- тори враховують атрибути елементної ба- зи, що дозволяє природним чином будува- ти фрактальні просторові графи за прави- лами підстановки. Кристалічні ґратки роз- глядаються як часткові випадки фракталь- них просторових графів. Використання моделювання у фор- муванні грозових розрядів на основі конс- труктивно-продукційного підходу дозво- ляє отримати реалістичний опис грозової фронтальної активності [14]. Такий підхід може бути покладено в основу вирішення динамічної задачі захисту від блискавок інженерних споруд та цивільних об’єктів, а також розробки стратегії поведінки літа- льних апаратів з метою мінімізації ризиків ураження блискавкою в умовах руху в гро- зовому фронті. Застосування засобів конструктив- но-продукційного моделювання дозволило формалізувати процеси і результат проєк- тування структур на логічному рівні [15]. Реалізація конструктора представляє мо- делі логічно пов'язаних конкретних елеме- нтів даних. Розроблена також конструкти- вна модель представлення і адаптації да- них у оперативній пам’яті за логічною мо- деллю. Для рішення кожної з цих і багатьох інших задач конструювання і моделювання (кодування і налагодження комп’ютерних програм, методу аналізу ієрархій, виявлен- ня запозичень у текстах, визначення ав- торського стилю і автора тексту, фракта- льних часових рядів, розкладу занять уні- верситету, формування онтологій залізни- чного транспорту) розроблялось спеціаль- не програмне забезпечення. Задача даної роботи – спростити конструктивне моде- лювання шляхом розробки універсального програмного середовища. Види конструкторів Усі конструктори формуються на основі узагальненого конструктора, теоре- тичні засади якого закладені в [1] (де для конструктора використовувався застарілий термін – формальна структура). Узагальнений конструктор (абстра- ктний) визначається як: , , ,C M=   де M – поновлюваний неоднорідний но- сій,  – сигнатура відносин та пов'язаних з ними операцій,  – інформаційне забезпе- чення конструювання: призначення, умови початку та завершення конструювання, правила підстановки та обмеження. Формування реальних конструкто- рів виконується уточнюючими перетво- реннями узагальненого: конкретизації, спеціалізації, інтерпретації та реалізації. Їх сутність покажемо далі на прикладах. За метою використання конструк- тори поділяються на: − породжуючі, які заданими пра- вилами виконують формування конструк- цій/конструктивних процесів (однієї або декількох); − трансформуючі, які за однією конструкцією (її моделлю) формують іншу. Наприклад, програму у кодах процесору у конструктивний процес її виконання; − аналізуючі, які виконують ана- ліз конструкцій. Наприклад, перевіряти чи може конструкція бути сформована за ная- вними правилами; Інструментальні засоби та середовища програмування 110 − оптимізуючі/адаптуючі, які зда- тні змінювати структуру конструкції (складові, їх порядок та зв’язки); − алгоритмічні – в поєднанні з ін- шими конструкторами створюють конс- труктивну систему: модель елементів, проміжних форм і можливих операцій над ними поєднується з моделлю внутрішньо- го виконавця, який вміє виконувати всі операції. За зовнішніми зв’язками виділяють- ся конструктори: − автономні, у яких є вся необхід- на інформація для досягнення мети і для цього не потрібна інформація ззовні; − параметричні, яким надаються зовнішні дані перед початком роботи через механізм параметрів; − інтерактивні, які мають операції отримання даних ззовні; − мультиконструктори, які скла- даються з декількох поєднаних конструк- торів. Функціональність «Конструктору 1.0» Програмне середовище «Конструк- тор 1.0» розроблено засобами мови Python із використанням технології Qt для забез- печення кросплатформеності. Продемонструємо його функціона- льність на прикладі моделювання геомет- ричного фракталу «Сніжинка Коха» [16]. На головному екрані додаємо до списку конструкторів почергово конструк- тори (рис. 1). Кожен з них наслідує всі властивості узагальненого конструктора. Спочатку додамо мультисимволь- ний автономний конструктор. Перейдемо його уточнення на на- ступному екрані (рис.2). У процесі спеціалізації задається предметна область, опис потрібних даних, елементів, відношень і операцій. У цьому конструкторі додаткових операцій не пе- редбачено, дані задаються як на рис.3. Без спеціалізації, інтерпретації та конкретиза- ції реалізація не доступна (не можлива). Для інтерпретації мультисимволь- ного конструктора потрібен відповідний алгоритмічний конструктор. Задаємо його у списку конструкторів. На рис.1 він на- званий як «L-системний». Його спеціаліза- ція (рис. 4) полягає у наданні налагодже- них процедур, які спроможні виконувати всі операції мультисимвольного констру- ювання. Рис. 1. Перелік конструкторів Рис. 2. Уточнюючі перетворення Рис.3. Спеціалізація мультисимвольного конструктора Інструментальні засоби та середовища програмування 111 Тепер можна повернутись до інтер- претації мультисимвольного конструктора (рис. 5). У процесі інтерпретації кожній до- пустимій операції мультисимвольного конструктора (вказаній під час його спеціа- лізації) ставиться у відповідність алгоритм алгоритмічного конструктора. Обов’язково повинні інтерпретуватись операції підста- новки, часткового і повного виводу, які ус- падковуються від узагальненого конструк- тора [1]. У результаті інтерпретації форму- ється конструктивна система яка поєднує конструктор з елементами і можливими операціями та модель внутрішнього вико- навця, здатного ці операції виконувати. Конкретизація (рис. 6 і 7) задає пра- вила підстановки (конструювання), які складаються з відношень підстановки і операцій над атрибутами та початкові умови формування. Так як мультисимвольний констру- ктор автономний, то після всіх уточнюю- чих перетворень стає можливою його реа- лізація, тобто формування фрактальної мультисимвольної послідовності за прави- лами формування «сніжинки Коха». Муль- тисимвольна послідовність буде збережена у заданий файл. Для відображення за цією послідов- ністю геометричного фракталу розробля- ється параметричний конструктор, параме- тром якого буде конструкція, сформована мультисимвольним конструктором. Задаємо параметричний конструк- тор відповідно до рис. 1. Він спеціалізується як на рис. 8 і 9. У цьому конструкторі вже задані деякі операції. Аналогічно з мультисивольним конструктором, для параметричного зада- ється відповідний алгоритмічний констру- ктор з відображення фракталу і виконуєть- ся інтепретація, як на рис. 10 (на відміну від першого конструктора є додаткові ін- терпретовані операції, повязаны з відрисо- вкою ліній та зміною поточного кута на- хилу). Рис. 4. Спеціалізація алгоритмічного конструктору Рис.5. Інтерпретація мультисимвольного конструктора Рис.6. Встановлення значень змінних під час конкретизації Рис. 7. Додавання правил підстановки під час конкретизації Інструментальні засоби та середовища програмування 112 Конкретизація графічного констру- ктора наведена на рис. 11 і 12 Виконати «Графічний» конструктор (етап реалізації) неможливо автономно. Він мо- же працювати лише у зв’язці з мультисим- вольним. Тому задається мультиконструк- тор «Сніжинка Коха». Він спеціалізується як на рис. 13 і рис. 14. Спочатку вказується як мультисимвольний і графічний конст- руктор поєднуються (рис.13), а потім які дії слід виконати для повного формування зображення сніжинки Коха. Так як «Графічний» конструктор є трансформуючим, задається два відношен- ня підстановки: перше використовується Рис. 11. Ініціалізація змінних графічного конструктора Рис. 8. Завдання змінних під час спеціалі- зації графічного конструктору Рис. 9. Завдання операцій під час спеціалі- зації графічного конструктору Рис. 10. Інтерпретація операцій графічного конструктора Рис.12. Завдання правил підстановки гра- фічного конструктора Інструментальні засоби та середовища програмування 113 для розбору вхідної конструкції (мульти- символьного ланцюжка), друге – для фор- мування вихідної конструкції (зображення сніжинки Коха). Задані операції над атрибутами змі- нюють поточний кут нахилу лінії з можли- вими стохастичними збуреннями. У процесі реалізації мультиконс- труктора отримаємо файл із зображенням сніжинки Коха (рис. 15). Розроблене інструментальне сере- довище є максимально гнучким щодо мо- жливих модифікацій. Так, наприклад, за- вдання ненульової дисперсії дозволить формувати сніжинку Коха з певними сто- хастичними збуреннями. Зміна аксіоми і правил у мультисимвольному конструкто- рі дає можливість формувати інші відомі і нові геометричні фрактали, зміна процеду- ри  у алгоритмічному конструкторі відо- браження фракталів дозволяє іншим чином рисувати лінії (змінивши колір, передуючі кольори, обрати інший тип ліній, замінив- ши лінію деяким зображенням тощо). Висновки Конструктивно-продукційне моде- лювання є особливо корисним у випадку рішення задач оптимізації та структурної адаптації конструкцій та конструктивних процесів. У роботі представлений інструмен- тарій для автоматизації формування конс- труктивно-продукційних моделей об’єктів та процесів різної природи. Наведено опис застосування цього інструментарію для розробки мультиконс- труктора та його використання на прикладі формування та відображення геометрич- них фракталів. У процесі розробки представленого інструментарію враховано та узагальнено досвід розробки більше 20 конструктивно- продукційних моделей, програмна реаліза- ція яких була індивідуальною для кожної з них. Застосування універсального ін- струментарію дозволить систематизувати процес розробки моделей та значно скоро- тити час їх формування. З метою подальшої розробки конст- рукторів для інших предметних областей можна формувати конструкції і конструк- тивні процеси іншої природи з викорис- танням уніфікованого інструментарію. Література 1. V.I. Shynkarenko , V.M. Ilman, Construc- tive-Synthesizing Structures and Their Grammatical Interpretations.; Part I. General- ized Formal Constructive-Synthesizing Struc- ture, Cybernetics and Systems Analysis, 2014. Рис. 14. Встановлення зв'язку між конс- трукторами Рис. 13. Порядок виконання мультисимво- льного конструктора Рис. 15. Сніжинка Коха Інструментальні засоби та середовища програмування 114 № 50(5), pp.665–662. doi: 10.1007/s10559- 014-9655-z; Part II. Refining Transfor- mations, Cybernetics and Systems Analysis, 2014. № 50(6). pp.829–841. doi: 10.1007/s10559-014-9674-9. 2. S. Müller, Grammatical theory: From trans- formational grammar to constraint-based ap- proaches, Language Science Press, 2023. doi: 10.5281/zenodo.3992307. 3. O. Iwashokun, A. Ade-Ibijola, Parsing of Re- search Documents into XML Using Formal Grammars, Applied Computational Intelli- gence and Soft Computing, 2024. doi: 10.1155/2024/6671359. 4. R. Wandr, A.L.S. Ferreira, R.V.S. Pessoa, A. Galv, A. Machado-Lima, A stochastic grammar approach to mass classification in mammograms, IEEE/ACM Transactions on Computational Biology and Bioinformatics, 2023. 5. X. Pu, M. Kay, A probabilistic grammar of graphics. CHI Conference on Human Factors in Computing Systems, 2020. pp.1–13. doi: 10.1109/TCBB.2023.3247144. 6. F. D'Alessandro, O.H. Ibarra, I. McQuillan, On finite-index indexed grammars and their restrictions, International Conference on Lan- guage and Automata Theory and Application, 2021. №279. С.287–298. doi: 10.1016/j.ic.2020.104613. 7. P. Prusinkiewicz, A. Lindenmayer, The algo- rithmic beauty of plants, Springer Science & Business Media, 2004. pp.228. doi: 10.1007/978-1-4613-8476-2. 8. L.P. Lisovik, T.A. Karnaukh, A method of specification of fractal sets, Cybernetics and Systems Analysis, 2009. № 45(3). pp..365– 372. doi: 10.1007/s10559-009-9117-1. 9. V.I. Shynkarenko, Constructive-Synthesizing Representation of Geometric Fractals, Cyber- netics and Systems Analysis, 2019. № 55. pp.186-199. doi: 10.1007/s10559-019-00123- w 10. V.I. Shynkarenko, T.M. Vasetska, Modeling the Adaptation of Compression Algorithms by Means of Constructive-Synthesizing Struc- tures, Cybernetics and Systems Analysis, 2015. № 51(6). pp.849–861. doi: 10.1007/s10559-015-9778-x. 11. V. Shynkarenko, O. Kuropiatnyk, Construc- tive Model of the Natural Language, Acta Cy- bernetica, 2018. № 23(4). С.995–1015. doi: 10.14232/actacyb.23.4.2018.2. 12. V. Shynkarenko, O. Letuchyi, R. Chyhir, Constructive-synthesizing modeling of fractal crystal lattices, 18th IEEE International Con- ference on Computer Science and Information Technologies (CSIT), 2023. doi:10.1109/CSIT61576.2023.10324251 13. V. Shynkarenko, K. Lytvynenko , R. Chyhir , I. Nikitina, Modeling of Lightning Flashes in Thunderstorm Front by Constructive Produc- tion of Fractal Time Series, Advances in Intel- ligent Systems and Computing IV, 2020. № 1080. pp.173–185. doi: 10.1007/978-3-030- 33695-0_13 14. В.И. Шинкаренко, В.М. Ильман, Г.В. За- була, Конструкционно-продукционная мо- дель структур данных на логическом уровне, Проблеми програмування, 2014. № 2-3. С. 10–16. 15. J.W. Harris, H. Stocker, Handbook of Math- ematics and Computational Science. Spring- er-Verlag, New York, 1998. pp.114–115. References 1. V.I. Shynkarenko , V.M. Ilman, Construc- tive-Synthesizing Structures and Their Grammatical Interpretations.; Part I. General- ized Formal Constructive-Synthesizing Structure, in: Cybernetics and Systems Anal- ysis, 2014. № 50(5), pp.665–662. doi: 10.1007/s10559-014-9655-z; Part II. Refin- ing Transformations, in: Cybernetics and Systems Analysis, 2014. № 50(6). С.829– 841. doi: 10.1007/s10559-014-9674-9. 2. S. Müller, Grammatical theory: From trans- formational grammar to constraint-based ap- proaches, Language Science Press, 2023. doi: 10.5281/zenodo.3992307. 3. O. Iwashokun, A. Ade-Ibijola, Parsing of Re- search Documents into XML Using Formal Grammars, in: Applied Computational Intel- ligence and Soft Computing, 2024. doi: 10.1155/2024/6671359. 4. R. Wandr, A.L.S. Ferreira, R.V.S. Pessoa, A. Galv, A. Machado-Lima, A stochastic grammar approach to mass classification in mammograms, in: IEEE/ACM Transactions on Computational Biology and Bioinformat- ics, 2023. 5. X. Pu, M. Kay, A probabilistic grammar of graphics, in: CHI Conference on Human Fac- tors in Computing Systems, 2020. pp.1–13. doi: 10.1109/TCBB.2023.3247144. 6. F. D'Alessandro, O.H. Ibarra, I. McQuillan, On finite-index indexed grammars and their restrictions, in: International Conference on Language and Automata Theory and Appli- cation, 2021. №279. pp.287–298. doi: 10.1016/j.ic.2020.104613. Інструментальні засоби та середовища програмування 115 7. P. Prusinkiewicz, A. Lindenmayer, The algo- rithmic beauty of plants, Springer Science & Business Media, 2004. pp.228. doi: 10.1007/978-1-4613-8476-2. 8. L.P. Lisovik, T.A. Karnaukh, A method of specification of fractal sets, in: Cybernetics and Systems Analysis, 2009. № 45(3). pp.365–372. doi: 10.1007/s10559-009-9117- 1. 9. V.I. Shynkarenko, Constructive-Synthesizing Representation of Geometric Fractals, in: Cybernetics and Systems Analysis, 2019. № 55. pp.186-199. doi: 10.1007/s10559-019- 00123-w 10. V.I. Shynkarenko, T.M. Vasetska, Modeling the Adaptation of Compression Algorithms by Means of Constructive-Synthesizing Structures, in: Cybernetics and Systems Analysis, 2015. № 51(6). pp.849–861. doi: 10.1007/s10559-015-9778-x. 11. V. Shynkarenko, O. Kuropiatnyk, Construc- tive Model of the Natural Language, in: Acta Cybernetica, 2018. № 23(4). pp.995–1015. doi: 10.14232/actacyb.23.4.2018.2. 12. V. Shynkarenko, O. Letuchyi, R. Chyhir, Constructive-synthesizing modeling of frac- tal crystal lattices, in: 18th IEEE Internation- al Conference on Computer Science and In- formation Technologies (CSIT), 2023. doi: 10.1109/CSIT61576.2023.10324251 13. V. Shynkarenko, K. Lytvynenko , R. Chyhir , I. Nikitina, Modeling of Lightning Flashes in Thunderstorm Front by Constructive Produc- tion of Fractal Time Series, in: Advances in Intelligent Systems and Computing IV, 2020. № 1080. pp.173–185. doi: 10.1007/978-3- 030-33695-0_13 14. V.I. Shynkarenko, V.M. Ilman, G.V. Zabula, Constructive-synthesizing model of data structures at logical level, in: Problems of programming, 2014. № 2-3. pp. 10–16. 15. J.W. Harris, H. Stocker, Handbook of Math- ematics and Computational Science. Spring- er-Verlag, New York, 1998. pp.114–115. Одержано: 14.04.2024 Внутрішня рецензія отримана: 23.04.2024 Зовнішня рецензія отримана: 30.04.2024 Про авторів: Шинкаренко Віктор Іванович, доктор технічних наук, професор. https://orcid.org/0000-0001-8738-7225. Чигир Роберт Романович, аспірант https://orcid.org/0000-0002-7439-7368. Місце роботи авторів: Український державний університет науки і технологій, тел. +38-056-373-15-05 E-mail: office@ust.edu.ua Веб-сайт: https://ust.edu.ua