Журнал "Программная инженерия"
Теоретический и прикладной научно-технический журнал
ISSN 2220-3397
Номер 2 2023 год
Потребность в автоматизации процессов разработки программного обеспечения обусловливает необходимость поиска форм представления программ, которые могут подвергаться автоматическим преобразованиям без нарушения целостности и семантической значимости результатов таких преобразований. Ранее автором была предложена скобочная нотация для записи программ, которая допускает использование методов автоматической трансформации, а именно методов эволюционной разработки, используемых, в частности, в генетическом программировании. Но тогда были рассмотрены только линейные и древовидные структуры. В этой статье список доступных типов структур расширен, к нему добавлены циклические структуры, а также сложные структурные композиции, полученные путем объединения структур более простых типов. Также сформулировано правило, исключающее возможные аномалии при представлении циклических структур. В целом, предлагаемые методы основаны на концепции искусственной химии, где программы рассматривают как аналоги молекул, а преобразования программ — как аналоги реакций. Применение предложенной нотации проиллюстрировано на примерах формулы Кекуле и циклической программы, автоматически полученной в ходе предыдущих исследований. Полученные результаты демонстрируют, что предложенные нотация и методы позволяют составлять формулы, представляющие вычислительные структуры различных и даже смешанных типов. Полученные результаты необходимы для развития программной инженерии и искусственного интеллекта в целях разработки методов автоматического синтеза и преобразования программ.