Очерки истории отечественной программной инженерии в 1940-е – 80-е годы
Шрифт:
Сергей Алексеевич Лебедев являлся инициатором внедрения электронной вы числительной техники в оборонные системы: в радиолокацию, ракетостроение и системы передачи данных. По его инициативе впервые в СССР, а возможно и в мире, проведены работы по фиксированию данных с радиолокационных станций сопровождения целей в цифровом виде и по передаче управляющей информации для наведения самолета или ракеты на цель. Преимущества вычислительной техники в системах военного применения были впервые продемонстрированы под руководством С.А. Лебедева в «Системе А» – экспериментальной системе противоракетной обороны (ПРО). Данный комплекс управлял радиолокационной станцией дальнего обнаружения и сопровождения цели и точного наведения противоракеты на баллистическую ракету противника [8, 9]. Были разработаны принципы построения вычислительных средств противоракетной обороны и создан высокопроизводительный вычислительный комплекс для решения задач высококачественного
С 1953-го года Михаил Романович Шура-Бура работал в Отделении прикладной математики Математического института им. В.А. Стеклова, созданном М.В. Келдышем в 1953-м году и преобразованном затем в Институт прикладной математики АН СССР (ныне ИПМ РАН им. М.В. Келдыша). В эти годы главной задачей и организационным успехом М.Р. Шуры-Буры как руководителя отдела программирования в ИПМ было формирование отдела [11]. Первым результатом работы отдела в 1953-м – 1955-м годах было применение программ для расчета энергии взрывов при моделировании ядерного оружия на ЭВМ «Стрела». Постановки задач и методы расчетов для этих программ готовили отделы математиков (А.Н. Тихонов, А.А. Самарский, И.М. Гельфанд). Программирование задач такой сложности в машинных кодах на ЭВМ, имевшей оперативную память емкостью всего 1000 ячеек, неработающий накопитель на магнитной ленте и частые сбои в арифметике и управлении, требовало от программистов виртуозного умения и оригинальных находок в организации отладки программ и счета. В 1954 – м году М.Р. Шура-Бура защитил диссертацию на соискание ученой степени доктора физико-математических наук.
В середине 50-х годов отдел программирования был привлечен М.В. Келдышем к расчетам траекторий искусственных спутников Земли (ИСЗ). Программы, разработанные сотрудниками отдела, возглавляемого Михаилом Романовичем, для ЭВМ «Стрела», а затем М-20, должны были обеспечивать круглосуточный режим обработки измерений траекторий ИСЗ. Они использовались, начиная с 1957-го года при запуске первых и последующих ИСЗ, при полете Ю.А. Гагарина в 1961-м году и затем в течение последующих 10 лет. Значение этих работ трудно переоценить, потому что результаты траекторных расчетов, производимых в разных организациях, иногда не совпадали, что для управления космическими полетами было недопустимо.
Весьма значительным было влияние ИПМ и лично М.Р. Шуры-Буры на выбор архитектуры отечественных универсальных компьютеров. В 1955-м году на начальной стадии проекта ЭВМ первого поколения М-20 в разработке участвовали три человека: С. А. Лебедев (общие характеристики и структура машины), М.Р. Шура-Бура (система команд), П.П. Головистиков (схемотехника). Основные архитектурные решения М-20, предложил М.Р. Шура-Бура. Эти архитектурные решения М-20 были сохранены в ЭВМ М-220, М222, построенных на основе полупроводниковой элементной базы. Эти машины стали «рабочими лошадками» для выполнения научных и инженерных расчетов во многих исследовательских, проектных и оборонных организациях страны. Это была одна из немногих моделей ЭВМ, при создании которой объединились проектанты, конструкторы и математики, представленные ИТМ и ВТ, конструкторским бюро, создавшим машину «Стрела».
Эта солидная основа возлагала большую ответственность на разработчиков, поскольку ее архитектуре предстояло воплотиться в нескольких крупных сериях ЭВМ (М-20, БЭСМ-4, М-220). Для машин типа М-20 – БЭСМ-4, которая также относилась к семейству машин С.А. Лебедева, было разработано, по крайней мере, три системы технологических программ в ИПМ АН СССР, в МГУ, в СО АН СССР. Эти системы отличались мнемоникой задания кодов операций, методами кодирования адресных полей машинных команд и методами настройки программ при размещении их в памяти. В это же время велись интенсивные работы по созданию систем библиотечных программ, отличавшихся друг от друга по правилам размещения их в оперативной памяти и по механизмам обращения к ним. В автокодах учитывалась необходимость размещения библиотечных программ в любом месте оперативной памяти, и были разработаны механизмы настройки подпрограмм по адресам размещения. При проектировании архитектуры машин предусматривалась аппаратная поддержка механизмов обращения к подпрограммам (процедурам) и методов передачи
В сферу научных исследований и разработок в начале 60 – х годов в Советском Союзе (почти одновременно в несколько ином виде в США) вошел и был апробирован новый широкий класс вычислительных систем и телекоммуникационных сетей реального времени – первый советский прототип современных информационных глобальных сетей и Интернета. В нем основными компонентами и источниками информации являлись траектории воздушных объектов, характеризующиеся их назначением, координатами и обобщенными параметрами движения, определяющие требования к функциям сложных комплексов программ управления в системе противовоздушной обороны (ПВО) [12]. Телекоммуникационные сети ЭВМ обеспечили обмен и обобщение информации от радиолокационных узлов на большой территории страны для непрерывного обнаружения и сопровождения воздушных объектов. К таким системам заказчиком предъявлялись высокие требования к качеству функционирования и гарантированного решения задач.
Примером оригинальных (в то время секретных) работ в НИИ-5 (МНИИПА) являлось создание программ реального времени и телекоммуникационной сети системы ПВО страны и радиолокационного узла (РЛУ) «Межа» (главный конструктор Владимир Алексеевич Шабалин, заместитель – Анатолий Николаевич Коротоношко). Программный комплекс обработки радиолокационной информации в 1962-м – 68-м годах на ЭВМ 5Э89 был создан под руководством Владимира Васильевича Липаева (докторская диссертация – 1967-й год по специальности радиолокация). При этом был разработан в 1962-м году принципиально новый тип операционной системы реального времени на ЭВМ для автоматической синхронизации и управления динамическим решением разнородных задач о движущихся воздушных объектах при случайных потоках информации из внешней среды и случайной длительности обработки каждого сообщения. Операционная система обеспечивала функционирование комплекса программ телекоммуникационные сети для транспортировки и обработки информации на ЭВМ между несколькими соседними РЛУ о траекториях движения динамических объектов и для обобщения характеристик их траекторий.
В эти годы генерирование динамических тестов от внешних объектов на специализированных мобильных ЭВМ было невозможно вследствие ограниченности их вычислительных ресурсов. В 1965-м году для имитации тестов от движущихся объектов внешней среды в реальном времени были разработаны программы формирования магнитофильмов на универсальной ЭВМ М-20. На этой машине предварительно формировались и записывались на специализированных магнитофонах наборы динамических тестов о разнообразных ситуациях воздушной обстановки и движения объектов с регистрацией значений реального времени сообщений и их координат с точностью до секунды. Имитации внешней среды и динамических тестов в реальном времени, впоследствии стало широко применяться при разработке комплексов программ оборонных систем для испытаний и гарантирования их качества.
Возрастание сложности и ответственности оборонных зада ч, которые решаются крупными системами, а также увеличение возможного ущерба от недостаточного качества комплексов программ, значительно повысило актуальность освоения методов стандартизированного описания требований, а также оценивания характеристик качества на различных этапах жизненного цикла сложных комплексов программ. Широкое многообразие классов и видов программ, обусловленное различными функциями оборонных систем, предопределяло формальные трудности, связанные с методами и процедурами доказательства соответствия программного продукта условиям контрактов, требованиям заказчиков и потребителей. По мере расширения сферы применения и увеличения сложности выделились области, в которых ошибки или недостаточное качество программ или данных могли нанести ущерб, значительно превышающий положительный эффект от их использования.
Для создания безопасных систем и программных продуктов, прежде всего, необходимо было формализовать их назначение, функции и основные характеристики. На этой основе должны разрабатываться требования к безопасности и другим характеристикам качества, к обработанной информации для потребителей, адекватной назначению и функциям систем. Требования к функциям систем и программным продуктам, а также к безопасности их функционирования должны были соответствовать доступным ресурсам для их реализации с учетом допустимого ущерба – рисков при неполном выполнении требований. Основными источниками отказовых ситуаций были некорректные исходные требования, сбои и отказы в аппаратуре, дефекты или ошибки в программах и данных функциональных задач, проявляющиеся при их исполнении в соответствии с назначением. Стратегической задачей в жизненном цикле оборонных систем стало обеспечение требуемого качества программных продуктов при реальных ограничениях на использование вычислительных и иных ресурсов, выделяемых для их разработки и применения.