1. Введение
"Любовь к отеческим гробам"
А.С.Пушкин
Сибирская школа программирования имеет широкую мировую известность. В данной работе рассматриваются работы по символьным и аналитическим преобразованиям, проводимые в СО АН СССР с 1965 по 1975 годах, и работы, связанные с проектом АИСТ-0.
В 1966 году выдающийся ученый Андрей Петрович Ершов в рамках отдела программирования и конструкторского бюро системного программирования начал развертывание работ по созданию автоматических информационных станций АИСТ. Первой частью этого проекта была разработка системы разделения времени АИСТ-0. Такие свойства системы как разделение в процессах комплекса управления и обработки, иерархичность строения программного обеспечения, выделения ядра операционной системы, естественное сочетание режимов взаимодействия обеспечили должную эффективность системы АИСТ-0.
2. Проект АИСТ-0.
В 1966 году Андреем Петровичем Ершовым были инициированы работы по автоматическим информационным станциям (проект АИСТ). Этот проект объединял широкий круг исследований по архитектуре вычислительных комплексов, их программному обеспечению и моделированию вычислительных систем. В рамках этого проекта была создана первая в стране развитая система разделения времени АИСТ-0. Система была реализована на многомашинном комплексе из отечественных ЭВМ. Такие свойства системы как разделения в процессах комплекса управления и обработки, иерархичность строения программного обеспечения, выделение ядра операционной системы, продуманное сочетание раздичных режимов общения и обработки способствовали хорошей эффективности и гибкости системы.
В состав системных программ АИСТ-0 входила и системная программа аналитических преобразований АНАЛИТИК.
3. Работы по аналитическим преобразованиям.
Работа по созданию систем с возможностью выполнения аналитических выкладок развивалась вокруг трех направлений, а именно: создание аналитических процессоров для универсальных систем программирования, создание систем, работающих в режиме разделения времени, выполняющих универсальные аналитические преобразования и разработка специализированных систем.
Необходимость в вычислительных задачах часто выполнять аналитичекое дифференцирование, вызвало к жизни создание препроцессоров, которые выполняют перевод с расширенного языка программирования, допускающего дополнительную операцию дифференцирования на язык описания вычислительных алгоритмов. Одним из таких дифпроцессоров был ДИФПРОЦЕССОР, предназначенный для работы вместе с системой АЛЬФА. Помимо дифференцирования и подстановки в ДИФФПРОЦЕССОРе было возможно было выполнять приведение подобных, сокращение дробей и снятие лишних скобок в операциях одного порядка старшинства.
Система АНАЛИТИК разрабатывалась как системная программа для системы коллективного пользования АИСТ-0. Она предназначалась только для выполнения аналитических преобразований в режиме диалога. Основными объектами как входного так и выходного языка являлись формулы и функции. Набор операторов языка позволял выполнять такие действия как подстановку выражения вместо переменной, замену подвыражения на выражение ( в том числе и функциональную замену), упрощение и аналитическое дифференцирование.
Упрощение включало в себя приведение подобных, сокращение дроби, вынесение за скобки общего множителя и выполнение некоторых других действий. Кроме того операторы языка позволяли создавать и использовать индивидуальный архив.
В области машинного выполнения аналитических преобразований специальное внимание уделялось проблеме выбора формы представления выражений, в которой преобразования выполняются наиболее эффективно. В ряде работ исследовалась эффективность использования нескольких широко распространенных форм представления выражений и были получены некоторые оценки по преимущественному выбору тех или иных представлений для лпределенных классов алгоритмов.
В системе АНАЛИТИК преобразования проводились над выражениями, представленными схемами Канторовича. Схемы были определены и рассмотрены Л.В.Канторовичем в 1957г [4] и в последующем достаточно широко использовались многими исследователями. Можно отметить три витка использования схем для систем компьютерной алгебры. Первый виток охватил использование схем еще на ламповых ЭВМ. Второй виток составило широкое использование схемдля проведения аналитических вычислений на ЭВМ среднего поколения. И наконец, на третьем витке схемы продолжают использоваться при построении СКА на современным ЭВМ.
Для ряда задач из теориидифференциальных уравнений были разработаны специальные процессоры КИНО и ПАССИВ. Процессор КИНО выполнял построение определяющих уравнений по заданной системе дифференциальных уравнений, а процессор ПАССИВ приводил уравнения к пассивной форме, т.е. проверял условия совместности.
В обоих процессорах проводились такие аналитические преобразования как дифференцирование, раскрытие скобок и приведение подобных. Во всех программах аналитических преобразований особое внимание было обращено на внутреннюю форму представления выражений. Основным технологическим инструментом для разработки этих систем была система ЭПСИЛОН.
4. Заключение
Мы должны знать свою историю. Идеи и результаты ранней эпохи развития программирования нашли свое выражение и подтверждение во многих проектах сегодняшнего дня. Знание подходов и методов, прочно вошедших в практику современного программирования, является крепкой основой будущих исследований и практических разработок.
Литература
- А.П.Ершов, Ю.Л.Вишиневский, Г.И.Кожухин, Г.П.Макаров. Экспериментальная система коллективного пользования АИСТ-0. // Тр. 2-й Всесоюз. конф. по программированию: Заседание Н., г. Новосибирск: ВЦ СОАН СССР, 1970.-с.3-14.
- М.М.Бежанова, В.Л.Катков, И.В.Поттосин Работы по аналитическим преобразованиям в ВЦ СОАН СССР. //Вычислительная математика и вычислительная техника, вып.3, Харьков, 1972, с.18-20.
- Н.А.Калинина. Системная программа АНАЛИТИК. Работы по аналитическим преобразованиям в ВЦ СОАН СССР. //Вычислительная математика и вычислительная техника, вып.3, Харьков, 1972, с.33-37.
- Канторович Л.В. Об одной математической символике, удобной для проведения вычислений на машине//Докл. АН СССР, 1957, т. 113, № 4.