Владимир Липаев - Очерки истории отечественной программной инженерии в 1940-е – 80-е годы
Общий объем программного комплекса для функционирования системы «УСК» составил около 300 тысяч строк исходных команд, большинство из которых разрабатывались в машинных кодах с простейшими средствами отладки. Кросс-системы применялись отдельными группами разработчиков для предварительной отладки компонентов программного комплекса, чаще всего библиотек стандартных программ. В разработке участвовали около 300 специалистов. Имевшийся на предприятии опыт, полученный до начала создания программных средств «УСК», позволил вести разработку методами, которые сейчас можно оценить, как начало применения программной инженерии, осознаваемой и создаваемой в процессе производственной и научной деятельности во взаимодействии с другими организациями и прежде всего с МНИИПА при работах по НИР ПРОМЕТЕЙ (1980-е годы). Определились этапы разработки в виде: проектирование, программирование, комплексирование и испытания. Выполнялось планирование работ, основанное на предполагаемых трудозатратах, и управление на основе технических решений и распределении ресурсов, необходимых для разработки комплекса программ. Появилась покомпонентная структура программного обеспечения с выделением операционной системы. Определялось качество программ, в том числе надежность, определяемую ошибками, приводящими к нарушению функций и даже отказам.
Комплекс программ управления системой и радиолинией представлял собой множество объектов, которые в случайные моменты времени поставляли информацию в вычислительный центр (ВЦ). Информация должна была быть обработана к заданному моменту и выдана на объект. При нескольких десятках объектов организация процесса обслуживания представляла собой новую задачу, которая потребовала создания специализированной операционной системы реального времени (СОС РВ). Эта система была создана в виде комбинации трех систем массового обслуживания в составе: прием заявок на обслуживание; организация вычислений с динамическими приоритетами с учетом параметров каждого одиночного процесса; организация обмена с учетом пропускной способности каналов. Часть процессов определяла качество системы по обеспечению надежности процесса средствами контроля и резервирования.
Обработка информации отличалась высокой функциональной сложностью, связанной со стохастическими процессами, выделением сигнала среди помех, которые не поддавались математическому описанию, в связи с новизной предметной области (космос, факел наземной ракеты, аппаратура обнаружения, космический аппарат, динамика орбиты). Прием и обработка телеметрии характеризовалась разнообразными потоками сообщений, что потребовало решения задач по оптимизации времени и методов обработки. Проверка и контроль КА на стартовой позиции должны были выполнять полноценный контроль КА в период предстартовой подготовки, что обеспечивалось применением штатной и имитационной аппаратуры и проведением проверки работы в соответствии с реальной временной диаграммой функционирования КА на орбите. Объемы программных комплексов, обеспечивавших функционирование системы (без учета технологических средств разработки программ и проверки технических средств) составляли:
• управления системой и радиолинией – 100 тыс. строк;
• обработки информации внешней обстановки – 100 тыс. строк;
• приема и обработки телеметрии КА – 50 тыс. строк;
• проверки и контроля КА на стартовой позиции – 30 тыс. строк;
• программы необслуживаемой бортовой системы КА – 4 тыс. строк.
В 1978-м году были завершены государственные испытания, и в 1979-м году она была принята на вооружение.
В 1980-м году начались работы по созданию глобальной космической системы обнаружения стартов баллистических ракет «УСК-МО». Группировка КА на стационарных орбитах должна была наблюдать за всеми ракетоопасными районами мира. Это потребовало создания новой системы, которая по основным компонентам входящих систем совпадала с «УСК», а по сложности решаемых задач превосходила ее в несколько раз. Комплекс управления КА базировался на ВК 3700, состоящий из трех ЭВМ 70Т6. Комплекс обработки информации составлял спецвычислитель разработки ЦНИИ «Комета» для предварительной обработки информации, ВК «Эльбрус» для определения параметров траекторий ракет и двух ЭВМ 70Т6 для формирования и выдачи информации внешним абонентам. Комплекс обработки телеметрической информации включал двухмашинный вычислительный комплекс из ЭВМ ЕС 1045. Бортовая ЭВМ, размещенная на КА была ЭВМ МБУ-3 разработки ЦНИИ «Комета». Комплекс контроля и обслуживания КА на стартовой позиции включал ЭВМ СМ 1425 и группу ЭВМ «Электроника».
Общий объем комплекса программ для обеспечения функционирования системы «УСК-МО» достигал 650 тыс. строк команд. Применялись средства автоматизации и языки высокого уровня. Кросссистемы разрабатывались и применялись отдельными группами разработчиков, прежде всего, для отладки встроенного комплекса программ для бортовой ЭВМ. В разработке программ участвовало около 500 специалистов. Успешному созданию программных комплексов способствовало последовательное формирование программной инженерии в ЦНИИ «Комета», во многом благодаря участию в Координационном совете Министерства радиопромышленности СССР по автоматизации проектирования программного обеспечения и в НИР ПРОМЕТЕЙ по разработке автоматизированных технологий создания крупномасштабных программных средств для систем реального времени.
Работы ЦНИИ КОМЕТА проводились по созданию сквозной автоматизированной технологии разработки алгоритмического и программного обеспечения для необслуживаемых специализированных бортовых вычислительных комплексов космических аппаратов (КА) системы предупреждения о ракетном нападении [9, 11]. Эта технология базировалась на инструментальных ЕС ЭВМ, СМ ЭВМ и комплексных имитационно-моделирующих стендах, которые кроме инструментальной среды содержали реальные бортовые вычислительные комплексы, а также некоторые элементы аппаратуры управления КА и функционировали в реальном времени. Технологические средства ПРОМЕТЕЙ-технологии, созданные в 80-е годы в ЦНИИ КОМЕТА, непрерывно совершенствовались, переносились на другую современную инструментальную среду.
В «ЦНИИ «Комета» были выполнены научно-исследовательские и опытно-конструкторские работы по направлениям программной инженерии:
• исследование жизненного цикла разработки сложных программных комплексов, анализ статистики ошибок, создание автоматизированных технологий отладки, обеспечивающих качества программных комплексов оборонного назначения;
• исследование и разработка средств для динамической отладки и испытаний программ объектных ЭВМ в реальном масштабе времени с использованием комплексных испытательных моделирующих стендов;
• исследование методов организации вычислительных процессов в реальном времени, создание специализированных операционных систем управления и обработки информации;
• исследование экономики разработки крупных программных средств, методов планирования и оценки ресурсов для их создания;
• обеспечение качества, стандартизации и сертификации сложных программных комплексов.
Объемы программных комплексов, обеспечивших функционирование системы (без учета технологических средств разработки программ и проверки технических средств), составили:
• комплекс управления радиолинией – 50 тыс. строк;
• комплекс управления системой – 200 тыс. строк;
• комплекс обработки информации – 200 тыс. строк;
• комплекс приема и обработки телеметрии – 100 тыс. строк;
• комплекс проверки и контроля КА на стартовой позиции – 50 тыс. строк;
• комплекс программ бортовой ЭВМ КА – 16 тыс. строк.
Разработка программного обеспечения «УСК-МО» завершился в 1990-м году переходом на этап эксплуатации и сопровождения. В 1996-м году система первого этапа принята на вооружение.
6.4. Создание бортовых программных комплексов стратегических ракет и космических аппаратов
Примером одной из организаций в СССР, создававших бортовые системы ЭВМ и комплексы программ управления для ракет и космических аппаратов, являлось Харьковское научно-производственное объединение «Хартрон», созданное в 1959-м году. Более 40 лет оно оставалось ведущим разработчиком систем управления, бортовых и наземных вычислительных комплексов, сложного электронного оборудования для различных типов ракет и космических аппаратов. Им созданы комплексы программ систем управления межконтинентальных баллистических ракет СС-7, СС-8, СС-9, СС-15, СС-18, СС-19, самой мощной в мире ракеты носителя Энергия, орбитальных модулей «Квант», «Кристалл», «Природа», «Спектр», 152 спутников серии «Космос» и других объектов [9, 11].