Очерки истории отечественной программной инженерии в 1940-е – 80-е годы - Владимир Липаев
Шрифт:
Интервал:
Закладка:
Полная версия САРПО ЯУЗА-6 эксплуатировалась в ряде организаций почти 20 лет с 1979-го года (в организации «Прогресс» до 2000-го года) и имела суммарный объем около 400 тыс. слов БЭСМ-6. В разработке этой версии системы принимали участие около 60 специалистов при средней производительности труда около 5 команд в день на человека. Процессы разработки компонентов системы производились сверху вниз по техническим заданиям и спецификациям требований небольшими группами специалистов на языке БЕМШ. Регистрировались затраты на различных этапах, и произведена оценка общей трудоемкости разработки САРПО ЯУЗА-6, составившей около 300 человеко-лет. Для системы было выпущено техническое описание, инструкции по адаптации и эксплуатации.
Первая версия САРПО была передана для эксплуатации разработчикам в середине 1975-го года, настроенной на ЭВМ 5Э26 для разработки комплекса программ РЛУ «Основа», а затем системы
«Байкал». 5Э26, являлась мобильной, управляющей, многопроцессорной, высокопроизводительной вычислительной системой, построенной по модульному принципу (см. п. 2.6). К 1988-му году выпущено около 1,5 тысячи этих машин.
Наиболее активно САРПО ЯУЗА-6 применялась для различных типов ЭВМ «Аргон» (см. главу 2), а также в следующих организациях, где была адаптирована для приведенного количества типов специализированных, мобильных или бортовых ЭВМ:
МНИИ приборной автоматики – 6 типов;
• НИИ автоматической аппаратуры – 5 типов;
• НПО автоматизации приборостроения – 11 типов;
• НИ электромашиностроительный институт – 2 типа;
• НПО ЭЛАС (г. Зеленоград) – 3 типа;
• НПО им. Лавочкина – 2 типа;
• НПО ПРОГРЕСС (г. Самара) и др.
В сумме это определило использование ЯУЗА-6 более чем в 13 организациях, для более 30 типов мобильных, специализированных ЭВМ. Общий объем разработанных программ с применением ЯУЗА-6 к 1985-му году превысил 5 млн. команд. В НПО АП ЯУЗА-6 использовалась, в частности, для разработки программ: орбитальной станции САЛЮТ-7; межпланетных станций Венера и Марс, спутников Экран, Радуга, Горизонт и ряда стратегических ракет. Эксплуатация ЯУЗА-6 постепенно прекращалась в конце 1990-е годов, в основном, вследствие технического старения машин БЭСМ-6.
3.6. История технологии программирования для бортовых ЭВМ реального времени на ЕС ЭВМ в 1980-е годы
В начале 1980-х годов стали доступными универсальные ЕС ЭВМ старших моделей с достаточными ресурсами для разработки и применения САРПО. Поэтому работы в МНИИПА сосредоточились на крупных системах РУЗА и ПРОТВА. Наибольшие функциональные возможности автоматизации жизненного цикла мобильных комплексов программ реального времени, были реализованы в системах ЯУЗА-6 и РУЗА. Объем оригинальных инструментальных программ в каждой из них составлял около 400 тыс. команд, а трудоемкость разработки около трехсот человеко-лет. Системы РУЗА и ЛУЗА-6 функционально подобны, однако при создании системы РУЗА были учтены и устранены некоторые недостатки конструкции ЯУЗА-6, а также расширены функции системы в основном за счет компонентов программной инженерии.
Особенности системы автоматизации разработки программ и отладки РУЗА (Александр Аркадьевич Штрик) [26]. Для построения системы взаимосвязанных языков программирования в системе РУЗА в качестве базового языка был принят процедурный язык высокого уровня. Языки РАДА являлись чистыми подмножествами языка АДА с точностью до русифицированной лексики (резервированные слова и предопределенные идентификаторы). Определены три версии языка программирования РАДА, совместимые снизу-вверх: РАДА-0, РАДА-1 и РАДА-2. Ядро языка (РАДА-0) было предназначено для разработки функциональных программ экстренного исполнения. В ядре языка реализованы: модульность, типизация данных (без ссылочных типов), структурное программирование. Модулями в языке РАДА-0 являлись процедуры, функции и пакеты данных, все модули являлись библиотечными.
Первое расширение (РАДА-1) было предназначено для разработки программ параллельного исполнения, главным образом программ организации вычислительного процесса и обмена, в режиме реального времени. РАДА-1 включала ядро РАДА-0, средства параллелизма (задачи) и исключительные ситуации. Второе расширение (РАДА-2) практически совпадало по функциональным возможностям с полным языком АДА и использовалось для разработки основных настраиваемых компонентов программных средств (стандартных программ, программ ввода-вывода), а также функциональных компонентов с динамической организацией памяти.
Функционально САРПО РУЗА делилась на пять частей.
организующая часть для настройки на характеристики специализированной ЭВМ, условия применения и организации оперативной работы САРПО в соответствии с заданием пользователя;
• информационная часть, содержала средства централизованного управления базой данных проектирования и всю информацию о проектируемом комплексе программ и обеспечивала взаимодействие с ней пользователей;
• трансляционная часть, включала средства контроля исходных текстов программ на языках РУЗА, трансляцию, перевод в машинные коды и загрузку их в память специализированной ЭВМ, которая моделировалась в базе данных проектирования на технологической ЕС ЭВМ;
• отладочная часть, была предназначена для планирования и проведения автономной детерминированной отладки компонентов программ специализированной ЭВМ методом интерпретации их исполнения на ЕС ЭВМ в соответствии с заданием, формируемым пользователем на языке отладки;
• сервисно-информирующая часть, содержала средства выпуска документов, машинных носителей, сбора и отображения статистических данных по процессу разработки компонентов и комплекса программ.
Четкая структуризация компонентов по функциональному признаку, модульность их построения, наличие централизованной базы данных и стандартных средств взаимодействия с ней создали предпосылки для гибкого управления формированием версий технологической системы. Это позволило вводить в эксплуатацию отдельные функции, не ожидая полного завершения всех проектных работ по созданию системы. Поэтапный ввод компонентов системы РУЗА в эксплуатацию помимо технико-экономической целесообразности позволял оперативно и оптимально распределять ресурсы разработчиков САРПО.
Структурно система, РУЗА состояла из 568 программных и 260 информационных модулей. В среднем количество программных модулей в подсистемах составляло около 40. Основное количество модулей (82 %) было разработано на языке ПЛ1 (в среднем 130 операторов в модуле); Ассемблер использован в тех случаях, когда необходимо обеспечивать связь с ОС ЕС, либо для создания отдельных высокоэффективных программ (в среднем 220 команд ассемблера). Из входивших в состав версий РУЗА подсистем, шесть являлись машинно-зависимыми; при этом перепрограммированию должны были подвергаться восемь программных модулей без учета разработки интерпретатора (для специализированной ЭВМ средней сложности это составляло 30–35 программных модулей) и автоматизировано изменяться 31 информационный модуль, что в сумме составляло примерно 10 % общего объема системы РУЗА. Система поставлялась с 1983-го года.
Система, автоматизации разработки программ и отладки ПРОТВА (Борис Аронович Позин) была предназначена для комплексной автоматизации процессов проектирования структуры, конструирования и производства программных средств реального времени, функционирующих на универсальных ЕС ЭВМ, а также на специализированных мобильных ЭВМ, программно совместимых с ЕС. В состав САРПО ПРОТВА входили.
• инструментальные средства, обеспечивающие автоматизированное выполнение технологических операций в диалоговом и пакетном режимах;
• база данных проектирования, обеспечивающая накопление, корректировку и выдачу информации о комплексе программ и его составных частях на всех технологических этапах разработки;
• языки проектирования, описывающие комплекс программ и его составные части на всех технологических этапах;
• технологические инструктивно-методические материалы, включающие методики и правила разработки комплекса программ, разработки спецификаций требований, программирования, контроля, тестирования, комплексирования модулей.
Система позволяла создавать сложные комплексы программ размером до 1000 программных модулей (до нескольких сотен тысяч команд), функционирующих в реальном времени, разрабатываемых большими коллективами специалистов и эксплуатируемых много лет. САРПО ПРОТВА функционировала на универсальных ЕС ЭВМ моделях не ниже ЕС10ЗЗ, имеющих в своем составе комплекс терминалов ЕС7906 или ЕС7920, под управлением операционной системы ОС ЕС версии 6.1, в режиме МУТ. Система поставлялась с 1984-го года.