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