русский | english
Наши публикации
Технология разработки программного обеспечения встроенных систем.
26-08-2008

Технология разработки программного обеспечения встроенных систем

Иванов Денис Владимирович
Первый вице-президент, к.ф.-м.н., MBA
ОАО "Корпорация "Русские системы", denis@rusys.ru, г. Москва

1. Введение

    Современные тенденции в архитектурном развитии программно-аппаратных комплексов специального назначения свидетельствуют о все большем обособлении алгоритмического, математического и, как следствие, программного обеспечения в самостоятельный объект разработки, часто не жестко привязанный к конкретной вычислительной платформе. Кроме того, разработка современных комплексов характеризуется перераспределением функций между программным и аппаратным обеспечением, повышением их степени ответственности, усложнением математического (алгоритмического) обеспечения, необходимостью оперативного внесение изменений в алгоритмы работы, что требует новых подходов к организации процессов разработки программного обеспечения (ПО).
    ОАО "Корпорация "Русские системы", являясь разработчиком современных высокотехнологичных программно-аппаратных комплексов, таких как бортовые активные системы безопасности полетов для боевой авиации, автоматизированная контрольно-проверочная аппаратура комплексов авиационного вооружения и агрегатов системы самолет-двигатель, и др., большое внимание уделяет разработке и внедрению современных методов и инструментальных средств, обеспечивающих эффективную разработку программного обеспечения подобных систем.
    Разработка ПО программно-аппаратных комплексов специального назначения осуществляется на базе открытого кросс-платформенного программного комплекса (индекс "РСДА"), обеспечивающего возможность эффективной реализации необходимых процессов разработки программного обеспечения (в том числе по ГОСТ Р 51904, ГОСТ РВ 0019-001 и др.) при значительном сокращении сроков и стоимости выполнения работ.

2. Разработка программного обеспечения

    Программный комплекс РСДА имеет открытую модульную архитектуру, обеспечивающую конфигурацию комплекса под требования конкретной задачи. Базовыми компонентами комплекса являются Ядро РСДА, обеспечивающее управление временем и централизованный доступ к данным, и Конфигуратор РСДА, обеспечивающий доступ к системным, аппаратно-зависимым сервисам. Структурная схема комплекса приведена на рис. 1.
рис. 1  Структурная схема открытого кросс-платформенного комплекса РСДА.
 
    Ядро РСДА является кросс-платформенной программной компонентой, переносимой в виде исходного текста на стандартном языке ANSI C на различные 32-битные аппаратные платформы как с имеющимися операционными системами, включая Linux, Windows, МСВС, ОС РВ "Багет" и т.д., так и без операционных систем, функции которых в таком случае выполняет Конфигуратор РСДА. Используемые программные модули могут разрабатываться как с требованием кросс-платформенности, так и без него применительно к конкретной программно-аппаратной платформе.
    В процессе проектирования программного обеспечения целевого комплекса, удовлетворяющего соответствующим требованиям назначения, определяется набор ранее разработанных программных модулей, обеспечивающих заданные функциональные требования. Если выполнение какого-либо набора требований не обеспечивается имеющимися модулями, то принимается решение о дополнительной разработке необходимых компонент. Реализация принципа повторного использования кода позволяет не только значительно сократить сроки и стоимость работ, но и обеспечить необходимый уровень надежности ПО за счет использования ранее сертифицированных компонент.
    При использовании ранее разработанных программных модулей осуществляется процесс их настройки на условия конкретного применения. Данный процесс реализуется путем внесения изменений в настроечный файл модуля, выполненный в текстовом виде в стандартной кодировке Win-1251. Например, для модуля регистрации параметров на встроенный накопитель настроечный файл будет определять перечень параметров и порядок их записи, для модуля обмена данными - объем и структуру передаваемой информации и т.п. Данная операция, как правило, выполняется инженерным составом без привлечения программистов.
    С учетом все повышающейся сложности математического (алгоритмического) обеспечения вновь создаваемых программно-аппаратных комплексов, на практике возникает сложность, связанная с невозможностью на этапе определения требований к ПО четко передать описание требуемой логики работы программного обеспечения системы в виде технического задания от специалиста к разработчику программного обеспечения. В процессе разработки подобных систем, логика их работы может значительно уточняться по ходу их отработки и начальных этапов испытаний.
    Для решения указанной проблемы в процессе разработки ПО на базе открытого кросс-платформенного программного комплекса РСДА применяются инструментальные средства разработки алгоритмов работы программных модулей (системы автоматизированного программирования). Данные средства позволяют специалисту по конкретной системе без участия программиста создавать и осуществлять отработку алгоритма работы конкретного программного модуля в понятных ему терминах в виде блок-схемы, функциональной схемы, структурированного текста, таблиц выполнения операций и т.п. Разработанный в такой форме алгоритм транслируется в текст программы на языке программирования после чего компилируется в составе конкретного программного комплекса под конкретную программно-аппаратную платформу.

3. Методическое обеспечение процесса испытаний

    Испытания целевого программного обеспечения, построенного на базе программного комплекса РСДА, проводятся на стендах комплексирования и полунатурного моделирования. При этом стенд комплексирования может быть создан в 2-х вариантах: (1) стенд программного комплексирования, и (2) стенд программно-аппаратного комплексирования.
    Стенд программного комплексирования предназначен для отработки, тестирования и проведения испытаний целевого программного обеспечения на контрольных задачах с возможностью моделирования всего спектра входных воздействий, а также обмена данными как внутри системы, так и с внешними устройствами, с использованием универсальной ЭВМ без привлечения целевой программно-аппаратной платформы.
    Стенд программно-аппаратного комплексирования отличается от стенда программного комплексирования тем, что испытываемое программное обеспечение работает на целевой программно-аппаратной платформе, с привлечением универсальной ЭВМ при необходимости для формирования входных воздействий и мониторинга работы системы.
    Стенд полунатурного моделирования предназначен для отработки, тестирования и проведения испытаний целевого программно-аппаратного комплекса с воспроизведением условий его работы, максимально близких к реальным, в том числе в части протекания динамических процессов, шумов источников информации, помех в каналах передачи информации, сбоев и отказов аппаратуры и т.п. Как правило, стенд полунатурного моделирования включает стенд программно-аппаратного комплексирования с дополнительным включением в его состав имитаторов внешних воздействий и входных сигналов, имитаторов исполнительных механизмов и приемников выходных сигналов, другой внешней аппаратуры в соответствии с назначением целевой системы.
    По результатам испытаний программного обеспечения на стендах комплексирования и полунатурного моделирования формируется заключение о готовности к натурным испытаниям в составе объекта. Комплексная отработка на объекте предназначена для проведения тестирования и испытаний целевого программно-аппаратного комплекса непосредственно в составе объекта, для которого он предназначен.
    С учетом особенностей архитектуры программного комплекса РСДА большинство работ по отработке, тестированию и проведению испытаний целевого программного обеспечения может быть проведено на стендах комплексирования, с подтверждением характеристик на стенде полунатурного моделирования, при необходимости, что в значительной мере сокращает сроки и стоимость проведения всех видов испытаний.

4. Заключение

    В докладе представлены принципы и подходы, используемые в процессе разработки программного обеспечения на базе открытого кросс-платформенного программного комплекса РСДА, обеспечивающего:
  • Эффективный механизм конфигурации (компоновки) комплекса под требования по назначению конкретной программно-аппаратной системы;
  • Поддержку различных стратегий управления временем исполнения процедур, в том числе стратегию "жесткого" реального времени;
  • Возможность работы как в контексте имеющихся операционных систем, так и без них с поддержкой всех необходимых функций для работоспособности комплекса;
  • Возможность переноса в виде исходного текста на языке ANSI C и исполнения компонент системы на различных 32-битных аппаратных платформах, в том числе и специализированных встроенных системах;
  • Возможность заимствования готовых верифицированных компонент из существующей библиотеки модулей при компоновке системы под новые требования;
  • Возможность эффективного тестирования и отладки программного и алгоритмического обеспечения специализированных программно-аппаратных систем на универсальных ЭВМ без использования целевой аппаратуры;
  • Сокращение временных и финансовых затрат на разработку, модернизацию, отладку и тестирование программного обеспечения вновь создаваемых программно-аппаратных систем.
    Рассмотренные принципы создания программного обеспечения широко используются и апробированы на практике в ходе разработки современных программно-аппаратных комплексов бортового и наземного применения в ОАО "Корпорация "Русские системы". Накопленный положительный опыт свидетельствует, что внедрение и широкое использование указанных в настоящей работе подходов позволяет радикально снизить сроки и стоимость процесса разработки, одновременно качественно расширив возможности по экспертному созданию и верификации алгоритмического обеспечения. Кроме того, применение рассмотренных принципов позволяет сократить время и затраты на доводку систем и их адаптацию под модернизированный объект за счет оперативной доработки или изменения логической части программного обеспечения силами специалистов по конкретному комплексу.
 
 

« назад

   ОАО «Корпорация «Русские Системы» На главную страницуНаписать письмоКарта сайта

Создание и поддержка «Параллельные технологии»