Очерки истории отечественной программной инженерии в 1940-е – 80-е годы - Владимир Липаев
Шрифт:
Интервал:
Закладка:
• измерение параметров движения цели – опасного космического аппарата агрессора по данным радиолокационных станций;
• прогнозирование движения космического аппарата – цели;
• расчет траектории наведения на цель космического аппарата перехватчика;
• определение параметров движения космического аппарата – перехватчика по данным радиолокатора;
• расчет параметров старта ракеты – перехватчика и программы расчетов первого витка движения цели;
• подготовка и выдача информации на стартовую позицию КА для перехвата цели;
• наведение космического аппарата – перехватчика на цель методом трех импульсной коррекции его траектории.
Необходимость разработки программ реального времени с высоким качеством функционирования, надежности, ресурсными ограничениями по занимаемой памяти, временам реакций по разным задачам для еще несуществующей машины в заданные сроки привело к необходимости выполнения ряда научных работ (Владимир Федорович Гребенкин):
• разработке специального программного комплекса решения задач реального времени: диспетчеризации и планирования функциональных задач, контроля, обмена и резервирования;
• разработке кросс-систем отладки, позволяющих отлаживать программы на универсальной ЭВМ М-50 в архитектуре и формате команд управляющей, специализированной ЭВМ БШВЦ и поставлять на объект внедрения инсталляционный комплект перфокарт;
• разработке методов оценки трудозатрат на программные работы и прогнозированию сроков и количества исполнителей на основе статистики по имеющимся аналогам.
Все это явилось основой развития программной инженерии как метода создания специальной программной продукции. Программное изделие для системы «ИС» представляло собой комплект перфокарт (толщиной 30 см) и комплект программной документации. Общий объем разработанного программного обеспечения составлял – 40 тыс. слов, среди которого:
• функциональное программное обеспечение по орбитальным расчетам и обработке радиолокационных измерений – 32 тыс. слов
• системные задачи, явившиеся прообразом операционной системы реального времени: счет времени, организация запуска задач по запланированному времени, контроль вычислений с восстановлением при сбоях, диспетчеризация задач, сохранение и восстановление результатов вычислений, организация резервирования по информации и вычислительным машинам – 5 тыс. слов;
• средства отладки в виде кросс программ, позволяющих документировать работу отлаживаемой программы – 3 тыс. слов.
Для решения этих задач оказалось необходимым создание специальной аппаратно-программной системы, обеспечивающей мультипрограммную организацию вычислительного процесса. Повышенные требования по надежности и уровню автоматизации были решены путем создания трех машинного комплекса с аппаратной организацией межмашинного обмена. Характеристики разработанной на предприятии специализированной ЭВМ БШВЦ были следующие:
• двухадресная система команд с использованием трех индексных регистров;
• 42-разрядная структура слова, из которых 2 контрольных;
• арифметика с плавающей запятой, 6 разрядов – порядок числа, 34 разряда – мантисса;
• объем ОЗУ – 32 тысячи слов;
• внешняя память на магнитном барабане объемом 50 тысяч слов;
• быстродействие – 50 тысяч простых операций в секунду;
• прямой канал обмена с получением информации от абонента в ОЗУ;
• мультиплексные каналы для обмена с внутренними абонентами.
Вы числительный центр из трех машин БШВЦ с дополнительным оборудованием занимал площадь 600 кв.м. и потреблял около 1000 кВт. В состав радиолокационной станции определения координат и передачи команд (СОК ПК) входила ЭВМ БШМ, обеспечивающая взаимодействие устройств СОК ПК. Сложности разработки ПО БШМ состояли в необходимости обслуживания устройств СОК ПК за интервал времени 0,3 сек. при имеющейся арифметике с фиксированной запятой.
С 1963-го года начали появляться первые алгоритмы по расчетам орбитальных параметров, команд коррекции, обработке измерений, прогнозу местоположения КА. Алгоритмы программировались и отрабатывались на универсальной ЭВМ М-50. Стали возможны оценки объемов, трудозатрат и сроков на программные работы. Выявилось, что срок готовности системы к натурным испытаниям определяется тремя годами с момента поставки управляющей ЭВМ. Это означало, что поставленные технические средства должны были ожидать окончания отладки программного обеспечения в течение трех лет. Этот факт способствовал быстрому внедрению кросс-системы отладки программ для БШВЦ на М-50. Исходные команды программ набивались на разработанном перфораторе в формате БШВЦ, отлаживались на интерпретаторе в системе команд БШВЦ на М-50 с замедлением в 100 раз. Способ перевода отлаженных процедур в макрокоманды позволил отладить программы реального времени к моменту поставки макетного образца БШВЦ. Кросс-система функционировала в 1964-й – 1966-й годы и выполнила свое предназначение. С 1966-го года отладка программ выполнялась непосредственно на объектах внедрения систем ИС и МКРЦ двумя лабораториями программистов по 15 специалистов. Размеры программных комплексов по современной классификации соответствовали «средним» проектам (30–40 тыс. строк). В дальнейшем процесс сопровождения комплексов программ были выполнены версии на персональных ЭВМ с одновременной модернизацией средств сопряжения с абонентами.
За короткий срок был создан наземный командный пункт управления, разработана аппаратура управления КА-перехватчика. После целого ряда успешных экспериментов 1 ноября 1968-го года впервые в мировой практике были осуществлены орбитальный перехват и кинетическое поражение КА-мишени. В общей сложности в ходе испытаний по поражению космических объектов было выполнено 7 натурных работ с положительными результатами, что подтвердило высокие тактико-технические характеристики системы «ИС». В 1973-м году она была принята на вооружение.
Практически одновременно с разработкой системы «ИС» выполнялась разработка системы морской космической разведки и целеуказания (УС), для которой использованы аналогичные технические средства и базовые структуры программного комплекса. Отличие от системы «ИС» состояло в составе задач функционального программного продукта. Система «УС» была принята на вооружение в 1975 году.
6.3. Крупные комплексы программ реального времени в системах предупреждения о ракетном нападении
В 1971-м году в «ЦНИИ «Комета» (Анатолий Иванович Савин, Виктор Порфирьевич Мисник) начались работы по созданию космической системы обнаружения стартов баллистических ракет «УСК» для предупреждения о возможности ракетного нападения (СПРН) [13, 11]. Группировка космических аппаратов с геостационарными орбитами наблюдала за постоянными районами. Кадр размером в пространстве 1000x1000 км. с возможными отметками факелов стартующих ракет с периодом четыре секунды сбрасывался на командный пункт, где выполнялась обработка информации с выделением сигнала и определением параметров возможной траектории стартующей ракеты. Задача решалась путем создания и комплексирования программно-технических средств, выполняющих самостоятельные функции, объединенные единой целью. Конструкторы наземных и бортовых средств применили различные вычислительные машины. Комплекс управления радиолинией применил трехмашинный вычислительный комплекс из прототипов ЭВМ ЕС (МСМ) с урезанным форматом данных и усложненной системой прерываний. Комплекс управления КА совместили с управлением радиолинией. В комплексе обработки информации применялась ЭВМ М-10 с векторной арифметикой, целесообразной для выполнения однотипных операций над массивами данных. Комплекс обработки телеметрической информации составлял двухмашинный вычислительный комплекс из ЭВМ МСМ. Бортовая специализированная ЭВМ, размещенная на КА (МБУ-03) и ЭВМ контроля и обслуживания КА на стартовой позиции (МК-100) разрабатывались на предприятии «ЦНИИ «Комета».
Общий объем программного комплекса для функционирования системы «УСК» составил около 300 тысяч строк исходных команд, большинство из которых разрабатывались в машинных кодах с простейшими средствами отладки. Кросс-системы применялись отдельными группами разработчиков для предварительной отладки компонентов программного комплекса, чаще всего библиотек стандартных программ. В разработке участвовали около 300 специалистов. Имевшийся на предприятии опыт, полученный до начала создания программных средств «УСК», позволил вести разработку методами, которые сейчас можно оценить, как начало применения программной инженерии, осознаваемой и создаваемой в процессе производственной и научной деятельности во взаимодействии с другими организациями и прежде всего с МНИИПА при работах по НИР ПРОМЕТЕЙ (1980-е годы). Определились этапы разработки в виде: проектирование, программирование, комплексирование и испытания. Выполнялось планирование работ, основанное на предполагаемых трудозатратах, и управление на основе технических решений и распределении ресурсов, необходимых для разработки комплекса программ. Появилась покомпонентная структура программного обеспечения с выделением операционной системы. Определялось качество программ, в том числе надежность, определяемую ошибками, приводящими к нарушению функций и даже отказам.