Реклама:

Управление регистрацией промежуточной информации и маршрутов исполнения программ может производиться либо по времени — от программы тактировки периодических вычислений, либо асинхронно — при завершении некоторых модулей или групп программ. Во всех случаях .следует обеспечивать максимальную автономность регистрирующих программ и тщательно контролировать их влияние на основные функциональные программные модули и результаты их исполнения. Целесообразно максимально ограничивать контроль промежуточных результатов, требующий нарушения целостности функционирования. Регистрация промежуточных данных обычно соответствует некоторым достаточно завершенным фазам функционирования КП. Для выдачи на регистрацию используются стандартные каналы выдачи устройства отображения (дисплей, АЦПУ) или специальный канал выдачи данных внешним абонентам.

В отдельных случаях при разработке функциональных модулей рекомендуется вставлять в них вызовы специальных программ для регистрации промежуточных результатов. Такой вызов становится органической частью модуля и, если отпадает необходимость регистрации, то вместо вызываемой программы вставляется заглушка. Вызовы регистрирующих программ должны подчиняться определенной системе контроля динамического функционирования КП при исходной гипотезе, что некоторые ошибки в программах могут быть на любой стадии отладки' и испытаний. Однако количество вызовов регистрирующих программ следует ограничивать, учитывая допустимые расходы ресурсов на их реализацию. Так как основная задача регистрации при тестировании в реальном времени состоит в обнаружении и локализации ошибок с точностью до функциональной группы программ или модуля, то более точное определение места ошибки следует переносить на тестирование в ста» тике вне реального масштаба времени.

Для максимального сокращения объема регистрируемых и отображаемых результатов тестирования при каждом эксперименте контролируются маршруты только выделенной группы программ. Вызовы из модулей регистрирующих программ позволяют накапливать маршруты исполнения групп программ с точностью до имен модулей. В отдельных случаях некоторые модули могут контролироваться более глубоко с точностью до операторов ветвления или циклов. В результате в процессе тестирования КП регистрируется набор маршрутов функционирования программы на уровне модулей и только на отдельных участках, детализированный до операторов. Это позволяет локализовать некоторые логические ошибки и некорректности взаимодействия модулей по управлению.

Кроме того, на выходе каждого модуля может регистрироваться подготовленная им обменная и глобальная информация. Эта информация позволяет восстанавливать реализованный в динамике процесс "обработки тестовых исходных данных с точностью до модулей, где рассчитана каждая величина. Таким образом, в соответствии с заданием могут быть выделены отдельные маршруты исполнения групп программ и весь процесс обработки некоторых величин.

От ресурсов ЭВМ, которые могут быть выделены на средства регистрации, зависит форма и полнота информации, отображаемой для анализа маршрутов и промежуточных данных. Эти данные целесообразно представлять в виде имен модулей и меток операторов на маршруте, а также имен переменных в их естественном представлении на языке программирования. Для этого необходимы трансляторы с машинного языка ЭВМ, исполняющей тестируемые программы, на язык исходных текстов программ (см. § 3.5). Транслятор должен обеспечивать преобразование абсолютйых машинных адресов в имена моду-Лей и меток операторов, а также транслировать машинное представление, переменных в их имена и содержание на уровне текста программы. Создание таких трансляторов — достаточно сложная задача и требует значительных ресурсов ЭВМ. Поэтому во многих случаях при стохастическом тестировании в реальном времени приходится ограничиваться регистрацией и представлением данных в машинных-кодах ЭВМ, исполняющей тестируемые программы.


⇐ Предыдущая страница| |Следующая страница ⇒