Ломоносовская премия - 1974: НИВЦ
Эффективность применения вычислительной техники в учебном процессе, автоматизация научных исследований существенно зависит от того, насколько полно представлены в библиотеках программ общего назначения и проблемно-ориентированных пакетах современные численные методы. При этом на первое место выдвигаются две проблемы: обеспечение качества и сертифицированности программного продукта, и проблема интенсификации труда программистов и снижения себестоимости программного продукта, разрабатываемого с целью широкого применения на возможно большем числе типов ЭВМ. Решение указанных проблем было достигнуто при помощи разработанной в НИВЦ многоязыковой системы автоматизированной генерации программ – Генератора программ, ориентированного на различные методы и приёмы генерации. В системе имеется два языка, управляющие процессами генерации. Первый язык предназначен для описания процессов генерации программ методом рекурсивной сборки по шаблонам, называемый методом макрогенерации. Второй – ориентирован на описание вычислений шаблонов в зависимости от значений управляющих параметров, которые определяются в процессе сборки. Этот язык применяется в тех случаях, когда процесс генерации не сводится или сводится с большими накладными расходами к рекурсивной сборке шаблонов. Генератор программ обладает внутренним языком, на котором осуществляются процессы конструирования целевых программ. Ядром Генератора является макропроцессор, осуществляющий по запросу пользователя сборку программ из шаблонов, помещённых предварительно в банк системы. Все процессы Генератора программ управляются ведущей программой-монитором, работа которого регламентируется при помощи специального языка директив. Генерирующий потенциал системы зависит от полноты и удачной организации банка шаблонов. В банк Генератора программ включены пакеты шаблонов, ориентированные на генерацию целевых программ решения типовых задач численного анализа: линейной алгебры, интерполирования и теории приближений, численного дифференцирования и интегрирования, решения обыкновенных дифференциальных уравнений. В рамках разработанной технологии были сгенерированы крупные программные комплексы, нашедшие применение в МГУ и других научных и промышленных организациях страны.