Formal methods and software tools of automated design and synthesis of parallel programs are proposed. The
developed facilities use the language based on the Glushkov system of algorithmic algebras intended for a highlevel
and natural linguistic representation of algorithms and apply rewriting rules technique to transform programs.
The tools also use the method of syntactically correct algorithm scheme design which eliminates syntax errors during
the construction of algorithms and programs. The approach is illustrated on developing the parallel N-body simulation
program for the executing on a graphics processing unit.
Запропоновані формальні методи та інструментальні засоби автоматизованого проектування та синтезу
паралельних програм. Розроблені засоби використовують мову, яка ґрунтується на системах алгоритмічних алгебр Глушкова і орієнтована на високорівневе та природно-лінгвістичне подання алгоритмів, а також застосовують техніку переписувальних правил для трансформації програм. Особливістю розробленого інструментарію є також використання методу проектування синтаксично правильних схем алгоритмів, який виключає можливість виникнення помилок у процесі побудови специфікацій алгоритмів та програм. Підхід проілюстровано на розробці паралельної програми чисельного інтегрування задачі N тіл, призначеної для виконання на графічному прискорювачі.
Предложены формальные методы и инструментальные средства автоматизированного проектирования и
синтеза параллельных программ. Разработанные средства используют язык, базирующийся на системах
алгоритмических алгебр Глушкова и ориентированный на высокоуровневое и естественно-лингвистическое представление алгоритмов, а также применяют переписывающие правила для трансформации программ. Особенность разработанного инструментария также состоит в использовании метода проектирования синтаксически правильных схем алгоритмов, который исключает возможность возникновения
ошибок в процессе построения спецификаций алгоритмов и программ. Подход проиллюстрирован на разработке параллельной программы численного интегрирования задачи N тел, предназначенной для выполнения на графическом ускорителе.