Очерки истории отечественной программной инженерии в 1940-е – 80-е годы - Владимир Липаев
Шрифт:
Интервал:
Закладка:
• водный (морской), железнодорожный, автомобильный транспорт;
• авиационная промышленность;
• ракетно-космическая промышленность;
• радиоэлектронная промышленность;
• транспортные перевозки (авиационные, железнодорожные, речные);
• оборонно-промышленный комплекс;
• образование.
Создание базового комплекса нового поколения предполагалось на основе системной технологии «Базовые интегрированные комплексы открытой архитектуры, на основе интегрированной модульной авионики». Использование концепции «базовый комплекс – семейство модификаций» позволит проводить поэтапное наращивание функций комплекса без изменения его архитектуры, за счет чего значительно экономить затраты и время на реализацию проектов или участвовать одновременно в нескольких полномасштабных проектах. В рамках указанного подхода основной продукцией будут интегрированные комплексы приборного оборудования.
6.6. Бортовые программные комплексы авиационных систем в 80-е годы
Первоначально основным потребителем авиационной электроники и программной инженерии были военные самолеты. Управление самолетом обеспечивали системы: связи; навигации; индикации; управления полетом; предупреждения столкновений; метеонаблюдения; управления самолетом; регистрации полета. В системы, обеспечивающие управление системами вооружения входили, радары; сонары; электронно-оптические системы; системы обнаружения целей; системы управления вооружением. Цифровые вычислительные машины в составе бортового оборудования самолетов появились на рубеже 60-х годов (см. п. 2.6.) и за относительно короткий срок практически полностью заменили использовавшиеся ранее аналоговые вычислители, поскольку обеспечивали более высокую точность решения задач, характеризовались большей универсальностью применения и обладали широкими логическими возможностями. Эти качества бортовой цифровой вычислительной машины (БЦВМ) позволяли ее использовать практически во всех подсистемах бортового оборудования самолета, обеспечивали устойчивость к усложнению алгоритмов и позволяли применять более сложные, а значит, и более совершенные законы управления самолетом и его подсистемами. Они позволили осуществить информационное взаимодействие между отдельными (ранее непосредственно не взаимодействовавшими) подсистемами бортового оборудования, что повысило эффективность выполнения полетного задания и безопасность полетов [11].
На ранних стадиях развития основное внимание специалистов уделялось разработке ЭВМ и средств ее сопряжения с бортовой аппаратурой. Проблема создания программных продуктов обострилась по мере усложнения структуры машин, расширения круга решаемых задач, появления и развития бортовых вычислительных систем, и в настоящее время затраты на разработку программных продуктов БЦВМ превышают затраты на создание аппаратных средств. Для производства комплексов программ начинали с использования языков уровня ассемблера, а для их отработки – специальные отладочные комплексы, объединяющие
БЦВМ с инструментальной вычислительной машиной. Взаимодействие с абонентами БЦВМ первого и второго поколений производилось через устройство сопряжения (УС), которое содержало необходимый набор преобразователей «аналог – цифра» и «цифра – аналог», так как бортовая аппаратура имела в основном аналоговый интерфейс.
Примером применения программной инженерии в авиации в 80-е годы может служить освоение в отечественной авиационной промышленности зарубежного стандарта [11]– Соглашение по сертификации бортовых систем и оборудования в части программного обеспечения — Стандарт DO-178 «Software Consideration in Airborne Systems and Equipment Certifi-cation» разработан и поддерживается ассоциацией RTCA (Radio Technical Commission for Aeronautics). Первая его версия была принята за рубежом в 1982-м году, а вторая (DO-178A) – в 1985-м году, которая вскоре начала применяться на некоторых отечественных авиационных предприятиях. В 1992-м году была утверждена версия DO-178B, которая надолго стала базовой и представлена ниже. Стандартом предусмотрено пять уровней серьезности отказа программного продукта, и для каждого из них должен использоваться набор требований, которые должны гарантировать работоспособность и качество всей системы в целом, при возникновении отказов определенного уровня серьезности [11].
Пример процессов программной инженерии по авиационному стандарту DO-178B [11]:
«Соглашение по сертификации бортовых систем и оборудования в части программного обеспечения»
Представленные требования стандарта DO-178B охватывают основные технологические процессы программной инженерии проектирования и производства программных продуктов для гражданских и военных самолетов, а также для других сложных систем реального времени. Это первый систематизированный международный документ, который в конце 1980-х годов заложил фундамент для широкого развития стандартизации методов и документов программной инженерии, организациями ISO, IEC, IEEE. Стандарт был переведен на русский язык, и активно применялся отечественной промышленностью и способствовал повышению культуры производства программных продуктов.
Заключение
В 1960-е– 80-е годы были решены и практически апробированы основные научно-технические проблемы создания на ЭВМ сложных программных продуктов реального времени высокого качества. Разработаны методы и регламенты организации труда больших коллективов специалистов разной квалификации, для проектирования, производства, сопровождения и обеспечения длительного жизненного цикла программных продуктов сложных систем. Одновременно и независимо многие подобные проблемы решались на ряде отечественных предприятий для высокоточного технологического производства, динамического управления объектами и процессами, вычислительными средствами и комплексами программ для авиационных, морских, космических и других систем оборонного назначения. Индустриальные принципы проектирования и производства сложных технических систем стали использоваться для создания современных заказных программных продуктов управления и обработки информации систем реального времени. Основные промышленные методы производства сложных вычислительных систем оборонного назначения и крупномасштабного программирования стали базовыми для программной инженерии и интеллектуальной основой современных технических систем в различных областях.
Программные продукты оказались одними из наиболее сложных интеллектуальных компонентов технических систем высокого качества, создаваемых человеком. Сформировался новый вид промышленности– специфическая наука, методология и технология производства – программная инженерия. Полное отсутствие информации о подобных разработках на Западе и на соседних оборонных предприятиях обеспечило оригинальность решений, которые, в ряде случаев, впоследствии оказались универсальными и принципиальными для вычислительных систем реального времени различного назначения. В эти годы в результате эффективной разработки программных продуктов для отечественных оборонных систем они имели функциональные характеристики и качество решения задач, практически адекватные аналогичным зарубежным оборонным системам, и тем самым обеспечивали паритет в обороноспособности нашей страны.
Для эффективного проектирования и производства программных продуктов высокого качества стала необходимой профессиональная подготовка квалифицированных коллективов руководителей и специалистов, освоение ими современных методов анализа, оценивания и прогнозирования процессов и необходимых ресурсов при создании комплексов программ. Основной интеллектуальный труд специалистов вкладывается в разработку функциональных алгоритмов и текстов программ, а также в их интеграцию, испытания, документирование на всех этапах проектирования и производства сложных программных продуктов. Следует выделять и обучать руководителей и специалистов, ответственных за соблюдение современных экономически эффективных технологических методов и стандартов промышленного создания и развития сложных, заказных программных комплексов гарантированного высокого качества.