Научная статья на тему 'Синхронно-асинхронные модели и верификация замкнутых систем «Управление оборудование»'

Синхронно-асинхронные модели и верификация замкнутых систем «Управление оборудование» Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
197
100
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Вашкевич Н. П., Волчихин В. И., Дубинин В. Н.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Синхронно-асинхронные модели и верификация замкнутых систем «Управление оборудование»»

УДК 519.715

Вашкевич Н.П., Волчихин В. И., Дубинин В.Н.

ФГБОУ ВПО «Пензенский государственный университет», Пенза, Россия

СИНХРОННО-АСИНХРОННЫЕ МОДЕЛИ И ВЕРИФИКАЦИЯ ЗАМКНУТЫХ СИСТЕМ «УПРАВЛЕНИЕ - ОБОРУДОВАНИЕ»

Введение

В настоящее время в связи с внедрением компьютерных технологий и средств автоматизации во все сферы жизни все больший интерес проявляется к изучению и исследованию дискретно-событийных систем (ДСС) [1] . ДСС характеризуются дискретностью как в пространстве состояний, так и во времени.

Изменение состояний в ДСС производится асинхронными дискретными событиями. К данному классу систем относятся, в частности, многие встроенные и производственные системы.

Существует два подхода к проектированию систем управления для ДСС: аналитический и конструктивный [1] . На практике наиболее часто используется первый подход в силу его универсальности и хорошей проработанности. В соответствии с этим подходом разрабатываемая система моделируется и верифицируется. При этом определяются ошибки и проверяется соответствие системы заданным требованиям (спецификациям). Процесс проектирования носит итерационный характер. Первый подход к проектированию представлен многочисленными работами (например, [2,3]). В работе [3] рассматривается

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

При проектировании дискретных производственных систем, как правило, строят замкнутые модели, включающие как модель оборудования, так и модель управления. Только на основе замкнутой модели возможна полная верификация. В большинстве типов управляемых систем управление обычно строится на основе синхронных принципов, что определяется синхронной работой традиционных вычислительных устройств. Работа электронных схем тактируется генератором синхроимпульсов. Более того, программируемые логические контроллеры (ПЛК) работают по сканирующему принципу. При этом каждый цикл сканирования можно принять за логический такт. В противоположность управлению, работа оборудования асинхронна. Например, окончание операции в электромеханическом оборудовании никак не связано с какими-либо внешними событиями. Таким образом, для исключения семантического разрыва между реальной системой и моделью при моделировании замкнутых систем «управление-оборудование» необходимо использовать дискретные модели, позволяющие моделирование как синхронных, так и асинхронных систем.

Наиболее известными и популярными асинхронными моделями являются сети Петри и их модификации [4] . В сетях Петри выбор разрешенного перехода производится недетерминировано, в один момент времени может сработать только один переход. К моделям, имеющим синхронный характер, можно отнести недетерминированные автоматы (НДА), определенные в [5] . В данной модели производится одновременное (синхронное) срабатывание всех возможных переходов между состояниями. НДА являются моделью параллельных вычислений, ориентированной главным образом на проектирование аппаратуры вычислительных систем. В работе [5] указаны их основные преимущества перед другими моделями. Как развитие НДА в направлении структуризации автоматных моделей в [б] предлагается концепция иерархических модульных недетерминированных автоматов (ИМНДА), дается формальное определение базисного и составного модулей ИМНДА. Для организации межмодульного взаимодействия предлагается использовать "импульсные" и "потенциальные" сигналы. В работе [7] приводится теоретико-множественное определение НДА, а также представление НДА в виде модифицированной сети Петри. Предлагается методика верификации систем на основе НДА с использованием метода проверки моделей (model checking). В рамках данной методики рассматриваются правила преобразования НДА во входной язык верификатора SMV и формулировка свойств с помощью временной логики CTL. Основные преимущества верификатора SMV: 1)

использование технологий OBDD и SAT для проверки моделей, что ускоряет верификацию и позволяет исследовать модели большой размерности; 2) поддержка модульности и синхронно-асинхронной семантики выполнения, что позволяет моделировать широкий класс систем; 3) простой синтаксис. Одна из

реализаций SMV (NuSMV [8]), кроме верификации, позволяет проводить также и имитационное моделирование .

Комбинированной моделью, допускающей как асинхронное, так и синхронное моделирование, являются "сетевые системы Условие-Событие" (NCES-сети)[9]. NCES-сети являются производными от сетей Петри, расширенными событийными и условными дугами. В отличие от сетей Петри в один момент времени срабатывает не один переход, а шаг, представляющий некоторое множество переходов. В работе [10] предлагается методика верификации NCES-сетей на основе метода Model checking. Основой методики является метод асинхронного моделирования NCES-сетей. На основе NCES-сетей возможно моделирование НДА [11]. Следует отметить, что NCES-сети обладают мощностью машин Тьюринга, поэтому с использованием NCES возможно моделирование самых разнообразных задач из различных предметных областей.

В данной работе рассматривается подход к моделированию и верификации замкнутых систем «управление-оборудование» на основе НДА и NCES-сетей с использованием верификатора SMV. В качестве иллюстративного примера рассматривается кофеварочный аппарат. Следует отметить, что в данной работе используется сетевое представление ИМНДА. При этом синтаксически модуль ИМНДА практически не отличается от NCES-модуля, но при этом имеет другую (синхронную) семантику. Основы сетевого представления НДА были рассмотрены в [7]. Комбинация модулей НДА и NCES возможна благодаря совместимости по интерфейсам - обе модели имеют одинаковый тип интерфейсов, включающий «импульсные» и «потенциальные» входы и выходы.

Методика моделирования и верификации замкнутых систем «управление-оборудование»

Ниже представлены основные положения методики.

1. Разработать концептуальную модель оборудования, включающую концепты и отношения между ними. Концепты должны покрывать состав оборудования от единиц верхнего уровня до атомарных единиц. Кроме того, в виде концептов должны быть представлены элементы интерфейсов и сами интерфейсы всех единиц оборудования. Отношения могут включать всевозможные отношения, используемые в семантической сети («часть-целое», «родитель-предок», «причина-следствие», «инструмент-объект», «пространственное положение» и т.д.). При разработке использовать язык UML и/или Web-онтологии. При использовании Web-онтологии появляется возможность «обогатить» концептуальную модель аксиомами и SW^L-правилами, определяющими семантические ограничения.

2. Определить цели и задачи управления оборудованием. В соответствии с этим выполнить иерархическую декомпозицию управляющей функции на ряд управляющих модулей нижних уровней. Определить

интерфейсы для каждого из управляющих модулей и взаимосвязь модулей одного уровня, так и смежных уровней.

3. Разработать (возможно, иерархическую) NCES-модель оборудования на основе концептуальной модели. Произвести деление всех позиций NCES-модель оборудования на классы позиций, представляющих состояние оборудования, сигналов и сообщений, технологического объекта (например, обрабатываемых деталей). Переходы сетевой модели представляют действия по изменению состояний;

4. Разработать (возможно, иерархическую) ИМНДА-модель системы управления. Несмотря на то, что возможно построение модели на основе NCES, использование ИМНДА приводит к более компактным моделям, в тому же, более простым в моделировании на SMV. Следует заметить, что использование НДА целесообразно, когда в системе управления используются алгоритмы с параллельными ветвями. Иначе НДА вырождаются в простые автоматные модели.

5. Осуществить взаимосвязь модели оборудования и модели управления. Возможно процесс установления взаимосвязи будет простым - на основе идентичности имен входов-выходов.

6. Осуществить кодировку модулей NCES-модели на языке SMV в соответствии с [10].

7. Осуществить кодировку модулей ИМНДА-модели на языке SMV в соответствии с [7].

8. Произвести сборку общей SMV-модели.

9. Сформулировать в SPEC-предложениях языка SMV общие и частные свойства NCES-сети в проекции на реальную систему с использованием временной логики CTL.

10. Вычислить формулы временной логики в SMV.

11. Проинтерпретировать и проанализировать полученные результаты.

12. Если полученные результаты верификации не согласуются с ожидаемыми результатами, то следует попытаться найти ошибку в концептуальной, дискретной или SMV-модели. В зависимости от этого, перейти на один из пунктов выше.

Некоторые положения данной методики будут проиллюстрированы ниже на примере кофеварочного аппарата (КВА).

Структура и функционирование кофеварочного аппарата

Рассмотрим структуру и функционирование кофеварочного аппарата (КВА), представленного на рис. 1, из работы [12].

В соответствии с представленным рисунком КВА включает следующие элементы: 1-емкость для воды, 2- емкость для кипячения, 3-фильтр с кофе, 4-колба для готового напитка, 5-дисплей, б-датчик воды, 7- входной клапан, 8- выходной клапан, 9 - нагреватель кипячения воды, 10-бойлер. Вода налитая в емкость для воды проходит через входной клапан и поступает в емкость для кипячения. В нем с помощью нагревателя вода доводится до температуры кипения. Далее через выходной клапан вода поступает на фильтр с кофе, при взаимодействии с которым и получается готовый продут - кофейный напиток.

В работе [12] представлена автоматная модель системы управления КВА. Система управления КВА разбита на подсистемы - автоматы Мили или Мура, причем несколько автоматов имеют в себе вложенные подавтоматы. Все действия КВА представлены входными и выходными сигналами, которые влияют на состояния автомата. Для примера на рис. 2 показан автомат управления (АУ) бойлером. Следует отметить, что в данной работе используются последовательные управляющие алгоритмы. Распараллеливание управляющих алгоритмов является отдельной темой для исследования. Отправной точкой мог бы послужить анализ возможности параллельной работы частей оборудования, а также технологических операций. Например, (с определенными оговорками) можно параллельно производить наполнение емкости для кипячения и собственно нагрев воды.

Рис. 2. Автомат управления бойлером [12]

Несмотря на всю свою привлекательность, описанный в [12] подход не учитывает моделей оборудования, что является его довольно существенным недостатком. При этом следует выдвигать определенные предположения о поведении окружающей среды.

Построение моделей

На рис. 3, 4, 5 приведены модель оборудования КВА, модель управления КВА и модель замкнутой системы «управление КВА - оборудование КВА» соответственно. На рис. 3 и 4 модули-компоненты представлены в виде «серых» ящиков, демонстрирующих свое содержимое. Событийные линии, предназначенные для передачи «импульсных» сигналов, показаны штриховой линией, а предназначенные для передачи сигналов в виде потенциала - обычной сплошной линией. Событийные входы-выходы отмечены ромбом, а входы-выходы для «потенциальных» сигналов - в виде квадратов.

Иерархическая автоматно-сетевая модель кофеварочного аппарата состоит из двух основных частей, которые в сумме представляют собой замкнутую систему. Модель управления состоит из следующих модулей: 1) автомата управления кофеварочным аппаратом; 2) автомата управления бойлером; 3) автомата управления нагревателем; 4) автомата управления клапаном заливки воды; 5) автомата управления клапаном выпуска пара. Модель оборудования включает следующие модули: 1) таймер кипячения; 2) нагреватель; 3) таймер нагревателя; 4) клапан заливки воды; 5) таймер клапана заливки воды; 6) таймер паузы клапана заливки воды; 7) клапан выпуска пара; 8) таймер клапана выпуска пара; 9) таймер паузы клапана выпуска пара; 10) датчик воды.

В таблице 1 представлены сигналы, используемые в интерфейсах как модели оборудования КВА, так и модели управления КВА. При этом для простоты выбраны одинаковые имена входов-выходов, связанных с передачей одного и того же межблочного сигнала. За основу идентификации входов-выходов была взята работа [12].

Таблица 1. Сигналы КВА

Сигнал 1 Описание сигнала

Входящие сигналы оборудования / Выходящие сигналы системы управления

z13 Запустить таймер кипячения

z14 Сбросить таймер кипячения

a2 e21 Включить нагреватель

a2 e2 2 Выключить нагреватель

z21 Запустить таймер нагревателя

z22 Сбросить таймер нагревателя

a31e31 Открыть клапан заливки волы

a31e33 Закрыть клапан заливки волы

a31z31 Запустить таймер клапана заливки волы

a31z32 Сбросить таймер клапана заливки волы

a31z37 Запустить таймер паузы клапана заливки волы

a31z38 Сбросить таймер паузы клапана заливки волы

a32e31 Открыть клапан выпуска пара

a32e33 Закрыть клапан выпуска пара

a32z31 Запустить таймер клапана выпуска пара

a32z32 Сбросить таймер клапана выпуска пара

a32z37 Запустить таймер паузы клапана выпуска пара

a32z38 Сбросить таймер паузы клапана выпуска пара

z15 Нет волы

z16 Волы лостаточно

Выходящие сигналы оборудования / Входящие сигналы системы управления

x21 Температура меньше минимальной

x22 Температура больше минимальной, но меньше максимальной

x2 3 Температура больше максимальной

x24 Таймер нагревателя сработал

x12 Таймер кипячения сработал

x13 Волы лостаточно

a31x31 Клапан заливки волы открыт

a31x32 Клапан заливки волы закрыт

a31x33 Таймер клапана заливки волы сработал

a31x34 Таймер паузы клапана заливки волы сработал

a32x31 Клапан выпуска пара открыт

a32x32 Клапан выпуска пара закрыт

a32x33 Таймер клапана выпуска пара сработал

a32x34 Таймер паузы клапана выпуска пара сработал

Рис. 4. Модель управления КВА

Модель управления

Модель оборудования

Рис. 5. Модель замкнутой системы «управление КВА - оборудование КВА»

Для анализа модели может использоваться временная логика CTL, реализованная в SMV [8] . При этом с использованием временных операторов AX, AF, AG, EX, EF, EG и U могут быть заданы проверяемые свойства замкнутой системы. Ниже приводятся примеры запросов:

1) запрос на достижимость: SPEC EF(water_sensor.x13=0 & A_nagrev.on=1) - "Может ли нагреватель

работать при отсутствии воды ?" (Результат: false);

2) запрос на возможность: SPEC AG(EF (~timer_klapan_steam.tran.may_fire)) - "Всегда ли клапан

выпуска пара может сработать ?" (Результат: true);

3) запрос типа "Возможный ответ": SPEC AG(A_boiler.ready=1 -> AX(AF(A_boiler.ready=1))) -

"Всегда ли бойлер может вернуться в начальное состояние?" (Результат: true).

Заключение

В работе был рассмотрен подход к моделированию и верификации дискретных замкнутых систем, в которых управление имеет синхронное поведение, а оборудование - асинхронное. Для моделирования управляющей части использовалось сетевое представление иерархических модульных недетерминированных автоматов (ИМНДА), а для моделирования оборудования - сетевые системы условие/событие (NCES) . В качестве иллюстративного примера рассмотрен кофеварочный аппарат. Для поддержки построения SMV-моделей NCES-сетей и ИНМНДА могут использоваться программные средства [13,14] соответственно. Направлением дальнейших исследований является разработка методов и средств генерации автоматносетевых моделей на основе высокоуровневых онтологических описаний исследуемой системы, включая как структуру, так и ее поведение, а также адаптация методов композиционной верификации для возможности исследования моделей большой размерности. Немаловажным моментом являются вопросы реализации системы управления на различных платформах. Начальные шаги в этом направлении были сделаны в работах [15,16] .

ЛИТЕРАТУРА

1. Boel, R. Unity in diversity, diversity in unity: Retrospective and prospective views on

control of discrete event systems / R. Boel, X.R. Cao, G. Cohen, A. Giua, W.M. Wonham, J.H. van Schuppen // J. Discrete Event Dynamic Systems: Theory and Application, Vol. 12, No. 3, 2002. - P.

253-264

2. Калентьев, А.А. Методы верификации требований к управляющим алгоритмам реального времени / А.А. Калентьев, А.А. Тюгашев // Труды Международного симпозиума «Надежность и качество». - Пенза: Изд-во ПГУ. - 2010. - Т.1.- С. 54-55.

3. Тюгашев, А.А. Логическое исчисление управляющих алгоритмов / А. А. Тюгашев, А.Ю. Богатов // Труды Международного симпозиума «Надежность и качество». - Пенза: Изд-во ПГУ. - 2013. - Т.1.- С. 307-308.

4. Котов, В.Е. Сети Петри / В.Е. Котов. - М.: Наука, 1984. - 160 с.

5. Вашкевич, Н. П. Недетерминированные автоматы в проектировании систем параллельной обработки / Н.П. Вашкевич . - Пенза: Изд-во Пенз. гос. ун-та, 2004. - 280 с.

6. Вашкевич, Н. П. Иерархические модульные недетерминированные автоматы / Н. П. Вашкевич, В. Н. Дубинин // Труды X Международной научно-технической конференции "Новые информационные технологии и системы (НИТиС'2012)", Пенза, 2012. - C. 3-7.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

7. Вашкевич, Н.П. Формализованное описание и верификация дискретных событийных систем с параллельными процессами / Н.П. Вашкевич, В.Н. Дубинин // Вопросы радиоэлектроники, сер.ЭВТ. - 2008.

- Вып.5. - С.51-65.

8. NuSMV - New Symbolic Model Checker [Электронный ресурс]. -http://nusmv.irst.itc.it.

9. Rausch, M. Net condition/event systems with multiple condition outputs / M. Rausch, H.-M. Hanisch // IEEE Int. Conf. on Emerging Technologies and Factory Automation. - Paris, 1995. - Vol.

1. - P. 592-600.

10. Дубинин, В.Н. Анализ расширенных NCES-сетей на основе метода Model Checking / В.Н. Дубинин, Х.-М. Ханиш, В.В. Вяткин, С.К. Шестаков // Труды IX Международной научно-технической конференции "Новые информационные технологии и системы (НИТиС'2010)", Пенза, 2010. - Часть 2. - C. 2048 .

11. Дубинин В.Н. Моделирование недетерминированных автоматов с использованием сетевых систем "Условие-Событие" / В.Н. Дубинин // Труды X Международной научно-технической конференции "Новые информационные технологии и системы (НИТиС'2012)", Пенза, 2012. - C. 239-244.

12. Кузьмин, Е.В. Моделирование, спецификация и верификация «автоматных» программ / Е.В. Кузьмин, В.А. Соколов // Программирование. - 2008. - № 1. - С.38-60.

13. Дубинин, В.Н. Транслятор XML-описаний NCES-сетей в код SMV / В.Н. Дубинин, С.К. Шестаков // Федеральная служба по интеллектуальной собственности. - Свидетельство о гос. регистрации программы для ЭВМ № 2012611398 от 03.02.2012.

14. Вашкевич, Н.П. Программный комплекс для поддержки проектирования дискретных событийных систем на основе недетерминированных автоматов / Н.П. Вашкевич, В.Н. Дубинин, С.В. Тумасов, Е.С. Демин // Федеральная служба по интеллектуальной собственности. - Свидетельство о гос. регистрации программы для ЭВМ № 2013661546 от 10.12.2013.

15. Будаговский, Д.А. Транслятор XML-описаний иерархических модульных недетерминированных автоматов в программы ПЛК в формате PLCOpen XML / Д.А. Будаговский, В.Н. Дубинин, Н.П. Вашкевич // Федеральная служба по интеллектуальной собственности. - Свидетельство о гос. регистрации программы для ЭВМ № 2013619797 от 16.10.2013.

16. Вашкевич, Н.П. Транслятор XML-описаний иерархических модульных недетерминированных автоматов в код VHDL / Н.П. Вашкевич, В.Н. Дубинин, Е.С. Демин // Федеральная служба по интеллектуальной собственности. - Свидетельство о гос. регистрации программы для ЭВМ № 2013617850 от 26.08.2013.

i Надоели баннеры? Вы всегда можете отключить рекламу.