Cтраница 2
![]() |
Схема непосредственного взаимодействия управляющей ЦВМ с универсальной ЦВМ, используемой для имитации и обработки результатов. [16] |
Здесь следует подчеркнуть особенности использования моделей при динамической комплексной отладке. Одной из главных особенностей в этом случае является необходимость синхронизации процесса имитации информации, процесса реального функционирования управляющего алгоритма и процесса обработки результатов отладки. При программной реализации всех трех процессов для имитации информации и обработки результатов отладки необходимо время, затраты которого не должны искажать реальный масштаб времени управляющего алгоритма. Решение этой задачи возможно тремя способами. [17]
При разработке сложных КП реального времени эффективность ЯВУ снижается, так как значительный объем работ, связанных с динамической комплексной отладкой, документированием, испытаниями и др., слабо зависит от уровня языка. [18]
На рис. 7.2 приведена схема имитации и обработки результатов при динамической комплексной отладке программ, работающих в реальном масштабе времени. Одним из вариантов является использование для отладки дублирующей специализированной ЭВМ, так как для обеспечения высоких показателей надежности АСУ чаще всего применяется резервирование. [19]
Так же неравномерно в зависимости от этапов изменяется потребность в машинном времени С4р в процессе разработки КП реального времени. Для этого класса ПС наибольшее потребление машинного времени приходится на этап динамической комплексной отладки, на котором затраты времени реализующей ЭВМ и ЭВМ, моделирующей внешнюю среду, близки по величине. На начальных этапах наибольшая потребность в машинном времени соответствует технологической ЭВМ, а на завершающих - эти затраты значительно снижаются. Подобные экспериментальные оценки затрат машинного времени с учетом особенностей созда-вйемых КП и уровня автоматизации позволяют рационально планировать и прогнозировать необходимую аппаратурную оснащенность разработок в целом и по этапам проектирования. [20]
Во всех случаях должны составляться временная диаграмма включения диспетчером подпрограмм и схема изменения состава информации, используемой взаимодействующими подпрограммами. Процесс контроля информации, которой обмениваются подпрограммы, является самым сложным для динамической комплексной отладки, особенно в связи с разнообразием возможных ситуаций включения подпрограмм в реальном масштабе времени. [21]
Случайные моменты времени поступления сообщений и заявок на включение определенных подпрограмм, случайное изменение интенсивностей потоков заявок, случайный состав накопленной информации и случайное время решения каждой задачи приводят к случайному характеру взаимодействия подпрограмм, что подлежит контролю и отладке на данном и последующем этапах. Высокая сложность динамического взаимодействия подпрограмм определяет трудность и в большинстве случаев экономическую нецелесообразность динамической комплексной отладки только с реальными объектами. Значительно более экономичной является комплексная отладка с различного рода моделями и имитаторами внешних абонентов управляющей ЦВМ. В некоторых случаях в сложных системах метод комплексной отладки алгоритмов и программ с имитаторами является единственно возможным. [22]
Однако встречаются случаи, когда затраты на создание адекватных моделей и имитаторов представляются проектировщикам излишними, так как они исходят из предположения ( практически всегда неверного), что в разработанных и прошедших предшествующие этапы отладки алгоритмах и программах отсутствуют многочисленные ошибки. Центр тяжести динамической комплексной отладки при этом переносится на этап отладки с реальными объектами, что почти всегда значительно сложнее и дороже, а также не может обеспечить варьирования переменных во всем диапазоне их изменения, особенно при тех значениях, когда для управляемых объектов создаются критические и опасные ситуации. [23]
Последовательное подключение и наращивание объема подпрограмм для динамической комплексной отладки может осуществляться с двух позиций. В первом случае к диспетчеру сначала подключаются функциональные подпрограммы, в наименьшей степени зависящие от информации вырабатываемой другими подпрограммами. Далее составляется последовательность подключения подпрограмм для динамической комплексной отладки в основном в порядке увеличения степени зависимости от информации других подпрограмм. Такая последовательность позволяет существенно сокращать объем имитируемой информации. [24]
Ручная отладка на этом этапе, хотя и применима на начальных стадиях, но в значительно меньшей степени, чем при автономной и статической отладке. Усложнение и увеличение количества контролируемых связей между подпрограммами при наличии влияния на них реального времени позволяет проверить вручную только немногие из них, и основным средством для динамической комплексной отладки являются управляющие ЦВМ. [25]
Необходимость динамической отладки с реальными объектами прежде всего определяется достоверностью имитации характеристик и логики функционирования внешних абонентов на этапе отладки без реальных объектов. Всегда существует некоторый риск того, что модели внешних абонентов не адекватны реальным объектам. Величина возможной неадекватности определяет необходимый объем динамической комплексной отладки с реальными объектами. [26]
Однако в ряде случаев целесообразен несколько иной подход к последовательности подключения подпрограмм к диспетчеру, использующий функциональные признаки взаимодействия подпрограммы. В этом случае стремятся с помощью имитаторов обеспечить возможность ввода всей необходимой внешней информации в последовательности усложнения объема и состава вводимых данных. Подключение подпрограмм происходит естественным образом в зависимости от поступающих сообщений или формируемых заявок. При этом возможно выделение некоторых функциональных задач для проведения параллельной динамической комплексной отладки. [27]
Приступая к работам, необходимо предварительно разработать последовательность и методики сопряжения с реальными абонентами. Особое внимание следует обратить на исключение возможностей создания аварийных ситуаций в управляемых объектах из-за невыявленных ошибок в программах. Работы начинают с проверок взаимодействия с источниками информации, добиваясь устойчивости функционирования соответствующих групп, программ, а затем последовательно подключают потребителей и управляемые объекты. В ряде систем, например в космических разработках, ядерной физике, сложных быстротекущих химических производствах в активных средах, где привлечение реальных объектов для динамической комплексной отладки связано либо с большими затратами, либо с повышенной опасностью, данный этап может отсутствовать. [28]
Следует отметить отличие отладки управляющих алгоритмов в реальном масштабе времени от отладки алгоритмов и программ, функционирующих на универсальных ЦВМ в режиме разделения времени. В последнем случае отладка значительно упрощается тем, что отдельные крупные задачи не взаимодействуют между собой ни по информации, ни по передаче управления и могут решаться совершенно автономно. Кроме того, длительность и последовательность решения этих автономных задач практически не влияет на результат. Все алгоритмы в управляющих системах решают в совокупности единую целевую задачу и сильно взаимодействуют между собой. Это взаимодействие осуществляется либо путем подготовки и использования информации ( глобальные переменные), либо путем определения времени и последовательности включения подпрограмм. Взаимодействие подпрограмм в реальном масштабе времени существенно определяет состав и качество информации, выдаваемой внешним абонентам и накапливаемой для последующей обработки. Таким образом, динамическая комплексная отладка характерна для управляющих алгоритмов и программ и практически отсутствует в системах с разделением времени, решающих задачи на универсальных ЦВМ. [29]