Устройство и способ для контроля управляющей программы вычислителя
Иллюстрации
Показать всеИзобретение относится к информационно-управляющим системам, предназначенным для управления автономными устройствами при программной адаптации систем к изменившимся условиям, целям и задачам функционирования. Техническим результатом является сокращение временных затрат на модернизацию управляющей программы вычислителя за счет организации автоматического тестирования модифицированной управляющей программы. Указанный результат достигается за счет того, что вектор управляющих воздействий, сформированный модифицированной программой, подают на информационную модель объекта управления, управление которым продолжают немодифицированной программой, защиту объекта управления от воздействия возможных программных ошибок обеспечивают, благодаря использованию информационной модели объекта управления, реализованной в виде искусственной нейронной сети. Задают процесс тестирования, по результату принимают решение о постановке модифицированной управляющей программы на выполнение для управления объектом. 2 н.п. ф-лы, 3 ил.
Реферат
Изобретение относится к информационно-управляющей технике, а более конкретно к информационно-управляющим системам при программной адаптации цифрового управляющего устройства к изменившимся условиям, целям и задачам функционирования.
Известен способ контроля и диагностики пневмогидравлического объекта, заключающийся в том, что в процессе контроля циклически измеряют параметры в основных контрольных точках объекта, сравнивают их с пороговыми значениями. При выходе параметров в основных контрольных точках за пороговые значения фиксируют отказ и проводят его локализацию, т.е. поиск отказавшего узла, для чего фиксируют временную последовательность выхода параметров и в этой последовательности измеряют параметры в дополнительных контрольных точках, вычисляют по ним обобщенные характеристики узлов, составляющих объект, сравнивают их со своими пороговыми значениями. По результатам сравнения определяют отказавший узел, обобщенная характеристика которого вышла за пороговые значения (Патент РФ №2133055, 6 G05B 23/00, 1999).
Недостатком способа является необходимость обработки значительного объема информации и необходимость определения значительного количества основных и дополнительных контрольных точек.
Известен также способ определения состояния цифровых устройств, включающий формирование случайной цифровой последовательности, ее преобразование по установленному закону в цифровом устройстве и осуществление преобразований сигналов, по результатам которых принимается решение о состоянии устройства. В способе предложены преобразования сигналов, позволяющие обнаруживать сбои и перемежающиеся одиночные и кратные отказы (Патент РФ №2120656, 6 G05B 23/00, Н05К 13/08, 1998).
Недостатком способа является необходимость проведения сложных математических расчетов, а также возможность определения состояния только аппаратной части цифровых устройств.
Наиболее близкими по технической сущности и достигаемому результатату к заявляемому являются способ контроля электрических параметров усилителя, автоматизированная система контроля электрических параметров усилителя. Способ заключается в том, что вначале задают контролируемую электрическую величину усилителя, формируют для ее проверки последовательность управляющих сигналов и исходных данных, которые затем усиливают и преобразуют из цифровой в аналоговую форму, далее формируют напряжение задающего воздействия и заданное напряжение питания, которые одновременно подают на объект контроля, принимают значение контролируемой электрической величины в виде выходного сигнала усилителя, преобразуют его из аналоговой в цифровую форму, после этого цифровой сигнал обрабатывают для определения фактического значения контролируемой электрической величины и сравнивают это значение с требуемым значением. Автоматизированная система контроля электрических параметров усилителя содержит вычислитель, принтер, объект контроля, блок буферизации, блок оптронной развязки, блок управления данными, блок дешифратора адреса, блок цифрового аналогового преобразователя, блок регистров управления, блок коммутатора входных сигналов, блок коммутатора выходных сигналов, блок датчиков тока, а также аналоговый цифровой преобразователь и блок регулируемого стабилизатора напряжения блока питания (Патент РФ №2212674, 7 G01R 17/00, G05B 23/00, 2003).
Недостатком способа является необходимость участия контролируемого объекта в процессе контроля и диагностики, а следовательно, незащищенность его от возможных ошибок в последовательности управляющих сигналов.
Задачей предлагаемого изобретения являются сокращение временных затрат на модернизацию управляющей программы вычислителя за счет организации автоматического тестирования его управляющей программы вычислителя.
Поставленная задача достигается тем, что используют устройство, содержащее первый микроконтроллер, выполняющий программу управления объектом и интерфейсный блок, служащий для связи объекта управления и устройства, а также для организации взаимодействия с адаптирующим субъектом, связанный двухсторонней связью с системной магистралью, отличающееся тем, что дополнительно содержит шинный формирователь первого микроконтроллера, связанный двухсторонними связями с первым микроконтроллером и системной магистралью, второй микроконтроллер, идентичный первому, предназначенный как для процесса тестирования модифицированной управляющей программы, так и для выполнения программы управления объектом в случае отказа первого микроконтроллера, связанный двухсторонними связями с шинными формирователями второго и третьего микроконтроллеров и односторонней связью с системной магистралью, третий микроконтроллер, в функции которого входит организация процесса тестирования программного обеспечения, выбор микроконтроллера для осуществления резервирования, обучения нейронной сети для моделирования объекта управления, оценка модифицированной управляющей программы, накопление базы тестов для тестирования модифицированного программного обеспечения, связанный двухсторонними связями с системной магистралью и с шинным формирователем третьего микроконтроллера, шинный формирователь третьего микроконтроллера дополнительно связан односторонней связью с системной магистралью, шинный формирователь второго микроконтроллера связан двухсторонней связью с системной магистралью.
Поставленная задача достигается также тем, что применяют способ контроля управляющей программы вычислителя, заключающийся в том, что вектор управляющих воздействий, сформированный модифицированной управляющей программой подают на информационную модель объекта управления, которая в качестве своих первоначальных состояний предъявляет модифицированной управляющей программе векторы состояний, взятые из базы тестовых примеров, отличающийся тем, что при этом продолжают управление объектом немодифицированной программой, защиту объекта управления от воздействия возможных программных ошибок обеспечивают благодаря использованию информационной модели объекта управления, реализованной в виде искусственной нейронной сети, обеспечивают автоматическую генерацию тестовых примеров на основе обучающей выборки для нейронной сети для тестирования модифицированной управляющей программы, задают процесс тестирования, при котором определяются значения параметров, адекватно описывающих состояние объекта управления, и по результату вычисления комплексного показателя эффективности принимается решение о постановке модифицированной управляющей программы на выполнение для управления объектом.
Качество управляющей программы определяют с помощью трех факторов (Калбертсон Р., Браун К., Кобб Г. Быстрое тестирование: Пер. с англ. - М.: Издательский дом «Вильяме», 2002, с.19):
1) при работе программы возникает небольшое число отказов;
2) программа надежна;
3) программа удовлетворяет большинству требований, предъявляемых к ней.
Программа неудовлетворительного качества не ставится на выполнение. Успешно прошедшая тестирование программа заменяет старую версию, чем и достигается программная адаптация вычислителя к изменившимся условиям, целям и задачам функционирования информационно-управляющей системы.
Под управляющей программой вычислителя понимают программу для цифрового вычислительного устройства, которое формирует программу управления или осуществляет цифровую реализацию алгоритмов управления (Теория систем автоматического управления / В.А.Бессекерский, Е.П.Попов. - Изд. 4-е, перераб. и доп. - СПб, Изд-во «Профессия», 2003, с.445).
Изобретение поясняется чертежами, где на фиг.1 изображена обобщенная функциональная схема вычислителя, на фиг.2 - схема процессов автоматической генерации базы тестовых примеров и обучения искусственной нейронной сети, на фиг.3 - схема динамического тестирования модифицированной управляющей программы (МУП) с использованием базы тестовых примеров.
Вычислитель содержит первый микроконтроллер (МК) 1, связанный двусторонней связью с шинным формирователем (ШФ) 2 первого МК, односторонней связью с системной магистралью (СМ) 3, второй МК 4, идентичный первому, связанный двухсторонней связью с ШФ 5 второго МК и односторонней связью с СМ 3, третий МК 6, связанный двухсторонней связью с СМ 3 и двухсторонней связью с ШФ 7 третьего МК, интерфейсный блок 8, связанный двухсторонней связью с СМ 3 и предназначенный для связи объекта управления и вычислителя, шинный формирователь третьего МК 7 дополнительно связан односторонней связью с СМ 3 и двухсторонней связью со вторым МК 4, ШФ второго МК 5 связан двухсторонней связью с СМ 3, шинный формирователь первого МК 2 связан двухсторонней связью с СМ 3.
В функции третьего МК 6 входят организация процесса тестирования программного обеспечения (ПО), моделирование объекта управления, выбор управляющего микроконтроллера для осуществления резервирования. Третий МК 6 управляет шинными формирователями посредством сигналов блокировки Бл1, Бл2, Бл3.
Первый МК 1 выполняет программу управления объектом, второй МК 4 служит двум целям. Во-первых, второй микроконтроллер 4 в случае отказа первого 1 осуществляет его замену путем резервирования. Во-вторых, участвует в процессе тестирования программного обеспечения, обновляющего систему управления. Отказ микроконтроллеров 1, 4 определяется как встроенными средствами самодиагностики, обычно входящими в состав современных микроконтроллеров, так и на основании анализа их функционирования третьим МК 6. Задача выбора управляющего контроллера также возлагается на третий МК 6. Подключение выбранного МК к системной магистрали 3 осуществляется посредством шинных формирователей первого 2 и второго 5 микроконтроллеров, которые управляются с помощью сигналов блокировки Бл2, Бл3, вырабатываемых третьим МК 6. Изначально ШФ 5 второго МК настраивается таким образом, чтобы второй МК 4 мог только получать данные с системной магистрали 3. Управляющие же воздействия, вырабатываемые в обоих МК 1, 4, попадают на СМ 3 только с одного из них, выбранного третьим МК 6.
В режиме тестирования ПО второй МК 4 не может воздействовать на исполнительные механизмы, поскольку должна обеспечиваться защита от воздействия возможных программных ошибок. Для этого используется информационная модель управляемого объекта в виде искусственной нейронной сети (НС), имитирующей поведение объекта. Важным преимуществом нейросетевого подхода является возможность дообучения модели.
Интерфейсный блок 8 служит для сопряжения вычислителя и объекта управления, а также для организации взаимодействия с адаптирующим субъектом (прием кода МУП, выдача результатов тестирования и т.д.).
Помимо функции выбора управляющего МК, третий микроконтроллер 6 решает такие задачи как оценка управляющей программы, обучение нейронной сети, моделирующей отклик объекта управления на управляющее воздействие, а также накопления базы тестов, для тестирования вновь вводимого программного обеспечения.
ШФ третьего МК 7 и сигнал Бл1, вырабатываемый третьим МК 6, используются при организации процесса динамического тестирования модернизированного ПО для подключения второго МК 4 к нейросетевой модели объекта управления.
Вычислитель, защищенный от воздействия возможных ошибок в модифицированной управляющей программе, предусматривает возможность обнаружения некорректно работающего микроконтроллера и исключения его путем резервирования.
Новым в предлагаемом способе является использование информационной (нейросетевой) модели объекта управления для проверки модифицированной управляющей программы, а также автоматическая генерация базы тестовых примеров для проверки модифицированной управляющей программы, которая формируется непосредственно из обучающей выборки для искусственной нейронной сети, которая постоянно дополняется при изменении условий функционирования объекта управления. Схема обучения нейронной сети и формирования базы тестов показана на фиг.2
Информационная модель, прогнозирующая отклик объекта управления на управляющие воздействия, строится следующим образом.
1) Выбирается набор параметров y1, y2, ...yn, адекватно описывающих состояние объекта управления.
2) Проводится ряд экспериментов, в ходе которых определяются значения переменных y1, y2, ...yn как отклик объекта управления на управляющие воздействия x1, x2, ..., xm через промежуток времени Δt после подачи на него этих управляющих воздействий.
3) Строится таблица, в строках которой содержатся значения переменных воздействий и откликов. Число строк соответствует числу измерений z.
Данные таблицы используются как задачник для обучения НС-модели управления.
Таблица | ||||||||
№ | x1 | x2 | ... | xm | y1 | y2 | ... | Yn |
l | xl1 | xl2 | ... | x1m | y11 | y12 | ... | Y1n |
... | ... | ... | ||||||
i | xi1 | xi2 | ... | xim | yi1 | yi2 | ... | Yin |
... | ... | ... | ||||||
z | xz1 | xz2 | ... | xzm | yz1 | tz2 | ... | Yzn |
Для обеспечения возможности оценки МУП необходимо выполнить следующие действия.
1. На основании выбранных параметров состояния объекта вычисляются показатели эффективности P1, Р2, ..., Pk функционирования объектов данного класса (например, для двигателя внутреннего сгорания это мощность, расход топлива, уровень детонации и т.д.)
2. Определяются эталонные (оптимальные, желаемые) значения показателей эффективности, а также критические значения переменных состояния объекта управления.
Оценка текущего состояния осуществляется вычислением какого-либо комплексного показателя эффективности. При этом переменные состояния не должны достигать критических значений.
В качестве комплексного показателя можно указать функцию взвешенной суммы Q:
где (i=1, 2, ..., k) - нормированное значение показателя эффективности; w - весовые коэффициенты, назначаемые параметрам; k - число параметров, входящих в функцию.
Еще одним комплексным показателем может служить функция вида:
, где Ri=Pi/P0i; P0i - эталонный показатель эффективности.
Пример конкретной реализации способа
На фиг.2. показаны процессы обучения нейросетевой модели и тестирования программного обеспечения с использованием автоматически генерируемой базы тестов. В качестве информационной модели объекта управления используется двухслойный персептрон, на входы которого подаются векторы управляющих воздействий за L интервалов времени, что позволяет учесть динамику функционирования объекта управления. На чертеже показано, что база тестов формируется на основе откликов объекта в обучающей выборке (OB). Каждый такой отклик является установочным для второго МК, который на его основе формирует управляющее воздействие и получает отклики уже с модели объекта управления. Таким образом, примеры, на которых обучается персептрон, становятся тестами для проверки модифицированного ПО. В этом состоит идея автоматического построения базы тестовых примеров.
Задача обновления программного обеспечения вычислителя решается следующим образом.
1. Написание встраиваемого модуля в соответствии с требованиями системной спецификации.
2. Этап статического тестирования. На этом этапе предусмотрена тестовая деятельность, связанная с проверкой программы без ее запуска на объекте (в системах программирования и в эмуляторах).
3. Этап динамического тестирования, представляющий собой деятельность, предусматривающую эксплуатацию программного продукта.
4. Анализ результатов работы МУП, определение ее качества.
5. Принятие решения о постановке на выполнение. В случае удовлетворительных итогов предыдущего шага принятая программа вводится в состав ПО вычислителя, в противном случае - отвергается.
Описание последовательности действий функционирования третьего МК исходит из следующих положений.
1. По событию от таймера третий МК считывает из интерфейсного блока вектор откликов и вектор управляющих воздействий. Предполагается, что объект управления характеризуется вектором Y размерности n физических величин, а управление может быть описано вектором количественных свойств воздействий X, размерности m.
2. Нейронная сеть прогнозирует отклик объекта на управляющее воздействие через временной промежуток Δt после подачи этого управляющего воздействия на объект управления.
3. В системе учитываются векторы Xb,, Хr, представляющие собой количественные свойства управляющих воздействий первого и второго МК соответственно, а также вектор Y*, характеризующий отклик модели. Также рассматривается вектор Хb-1, представляющий собой набор управляющих воздействий предыдущего шага в момент t=-t-Δt. Y* вычисляется как отклик модели на воздействие Хb-1. Аналогично, учитывается вектор Y-1 как состояние объекта на предыдущем шаге.
4. Для нейронной сети определены значения предельных ошибок обучения и обобщения. Когда значения этих ошибок выше предельно допустимых, невозможна модернизация программного обеспечения.
5. В системе предусмотрена процедура исключения некорректно работающего МК
Последовательность действий в работе третьего МК
Шаг 1. Получить Хb, Xr, Y, Y*. Сравнить между собой Хb и Хr. В случае их неравенства запустить процедуру анализа работоспособности микроконтроллера. Сравнить между собой Y и Y*. Если они являются близкими в заданной метрике при заданных допущениях, перейти к шагу 3. Иначе сохранить Хb-1 и Y, дополнить задачник для обучения нейронной сети. В базе тестов сохранить Y-1. Блокировать возможность модификации ПО. Запустить процедуру обучения НС.
Шаг 2. Проверить наличие запроса на модификацию. Если запрос не поступил, то наступит автоматический переход к шагу 1 по событию от таймера. Иначе перейти к шагу 3.
Шаг 3. Блокировать все прерывания. Принять код обновления. Запустить процедуру модификации ПО второго микроконтроллера. Запустить процедуру оценки управляющей программы. В случае удовлетворительного результата оценки перейти к шагу 4. Иначе выполнить восстановление управляющей программы второго МК. Отменить блокировку прерываний, перейти к шагу 2.
Шаг 4. Передать управление второго МК. Модифицировать управляющую программу первого МК. Передать управление первому МК.
При оценке МУП используются следующие действия (фиг.3):
Шаг 1. Из базы тестов взять первое значение Y-1. Предъявить второму МК в качестве отклика объекта управления. Получить Хr.
Шаг 2. Подать полученное Хr на нейронную сеть. Получить Y* и предъявить его второму МК. Проанализировать Хr и Y*.
Шаг 3. Повторять шаг 2 нужное количество раз. Вычислить показатели, необходимые для оценки качества МУП.
Шаг 4. Взять из базы следующее значение Y-1. Если необработанных значений не осталось, то выйти из режима тестирования. Предъявить второму МК в качестве отклика объекта управления. Получить Хr. Перейти к шагу 2.
Итак, преимущество заявляемого способа заключается в том, что модифицированная управляющая программа проверяется на микроконтроллере, идентичном тому, на который она ориентирована. При этом имеется возможность исследования реакции объекта управления на модифицированную управляющую программу, благодаря использованию его информационной модели. Автоматическая генерация тестовых примеров позволяет сократить время, необходимое для разработки тестов, призванных выявить программные ошибки. При этом достигается такая организация процесса тестирования, при которой управляющий микроконтроллер и объект управления защищены от воздействия программных ошибок и продолжают функционирование независимо от процесса тестирования, т.е. без нежелательных (недопустимых) простоев в работе. Повышение отказоустойчивости достигается также благодаря возможности обнаружения и исключения некорректно работающего микроконтроллера.
1. Устройство для контроля управляющей программы вычислителя, содержащее первый микроконтроллер, выполняющий программу управления объектом и интерфейсный блок, служащий для связи объекта управления и устройства, а также для организации взаимодействия с адаптирующим субъектом, связанный двухсторонней связью с системной магистралью, отличающееся тем, что дополнительно содержит шинный формирователь первого микроконтроллера, связанный двухсторонними связями с первым микроконтроллером и системной магистралью и односторонней связью с системной магистралью, второй микроконтроллер, идентичный первому, предназначенный как для процесса тестирования модифицированной управляющей программы, так и для выполнения программы управления объектом в случае отказа первого микроконтроллера, связанный двухсторонними связями с шинными формирователями второго и третьего микроконтроллеров и односторонней связью с системной магистралью, третий микроконтроллер, в функции которого входит организация процесса тестирования программного обеспечения, выбор микроконтроллера для осуществления резервирования, обучения нейронной сети для моделирования объекта управления, оценка модифицированной управляющей программы, накопление базы тестов для тестирования модифицированного программного обеспечения, связанный двухсторонними связями с системной магистралью и с шинным формирователем третьего микроконтроллера, шинный формирователь третьего микроконтроллера дополнительно связан односторонней связью с системной магистралью, шинный формирователь второго микроконтроллера связан двухсторонней связью с системной магистралью.
2. Способ контроля управляющей программы вычислителя, заключающийся в том, что вектор управляющих воздействий, сформированный модифицированной программой, подают на информационную модель объекта управления, которая в качестве своих первоначальных состояний предъявляет модифицированной управляющей программе векторы состояний, взятые из базы тестовых примеров, отличающийся тем, что при этом продолжают управление объектом немодифицированной программой, защиту объекта управления от воздействия возможных программных ошибок обеспечивают благодаря использованию информационной модели объекта управления, реализованной в виде искусственной нейронной сети, обеспечивают автоматическую генерацию тестовых примеров на основе обучающей выборки для нейронной сети для тестирования модифицированной управляющей программы, задают процесс тестирования, при котором определяют значения параметров, адекватно описывающих состояние объекта управления, и по результату вычисления комплексного показателя эффективности принимают решение о постановке модифицированной управляющей программы на выполнение для управления объектом.