Научная статья на тему 'Имитационное Моделирование реактивных систем'

Имитационное Моделирование реактивных систем Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Рогачев Г. Н.

Рассмотрен базирующийся на диаграммах состояний и переходов подход к моделированию реактивных систем. Примерами из различных предметных областей подтверждается универсальность такого подхода. Имитационные модели реализованы в программной среде STATEFLOW- SIMULINK пакета MATLAB.

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

Текст научной работы на тему «Имитационное Моделирование реактивных систем»

УДК 681.3.06

Г.Н. Рогачев

ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ РЕАКТИВНЫХ СИСТЕМ

Рассмотрен базирующийся на диаграммах состояний и переходов подход к моделированию реактивных систем. Примерами из различных предметных областей подтверждается универсальность такого подхода. Имитационные модели реализованы в программной среде STATEFLOW-

SIMULINK пакета MA TLAB.

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

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

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

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

Действия - это реакции моделируемой системы на события. Подобно событиям, действия принято считать мгновенными.

Состояние - условия, в которых моделируемая система пребывает некоторое время, в течение которого она ведет себя одинаковым образом. В диаграмме переходов состояния представлены прямоугольными полями со скругленными углами.

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

Каждому переходу могут быть сопоставлены условия. С каждым переходом и каждым состоянием могут быть соотнесены некоторые действия.

Рассмотрим в качестве примера диаграмму состояний и переходов для цифровых часов, представленную на рис. 1. На часах имеется две кнопки: ModeButton и IncButton (Кнопка Образа Действия и Кнопка Увеличения). Нажатие любой из них генерирует событие, которое может вызывать переход из одного состояния в другое. Имеются три состояния: Display, Set Hours and Set Minutes (Дисплей, Установка Часов и Установка Минут). Состояние Дисплей - начальное состояние (что обозначается стрелкой, направленной от блока перехода по умолчанию в виде черного круга). В состоянии Set Hours (Установка Часов) событие ModeButton вызывает переход к состоянию Set Minutes (Установка Минут), тогда как событие IncButton увеличивает текущее время (число часов), которое отображается на экране, причем это происходит без из-

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

Существенно повышает степень наглядности модели использование анимации, отображающей изменения в системе, сопровождающиеся переходами от одного состояния к другому. Построение таких моделей возможно с использованием программ STATEFLOW и 81МиЬ1КК, входящих в состав пакета МА^АВ [2]. МА^АВ обеспечивает доступ к различным типам данных, высокоуровневому программированию и инструментальным средствам визуализации. SIMULINK поддерживает проектирование непрерывных и дискретных динамических систем в графической среде (в виде блок-схем). STATEFLOW-диаграммы, использующие визуальный формализм Харела, включаются в модели SIMULINK, чтобы придать SIMULINK новые возможности по моделированию процессов управляемости событиями. STATEFLOW обеспечивает ясное описание поведения сложных систем, используя диаграммы состояний и переходов.

Комбинация MATLAB-SIMULINK-STATEFLOW является мощным универсальным инструментом моделирования реактивных систем. Дополнительная возможность следить в режиме реального времени за процессом выполнения диаграммы путем включения режима анимации делает процесс моделирования реактивных систем по-настоящему наглядным.

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

1. Моделирование работы компьютера, реализующего известного алгоритма Евклида по нахождению наибольшего общего делителя двух натуральных чисел. Этот, ставший классическим, пример разветвляющегося алгоритма можно представить в виде блок-схемы, показанной на рис.2.

апгт^ег=п 1

п2=п2 -п1

п1=п1 -п2

Р и с. 1. Диаграмма состояний и переходов Р и с. 2. Блок - схема алгоритма Евклида

цифровых часов

Stateflow-моделью работы этого алгоритма может служить представленная на рис.3 диаграмма. При моделировании свободно программируемых устройств STATEFLOW - эффективный способ представить общую структуру программного кода как конструкцию в виде условных операторов и циклов.

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

2. Моделирование марковской системы массового обслуживания. Автоматизированная система управления АСУ продажей железнодорожных билетов состоит из двух параллельно работающих ЭВМ. При выходе из строя одной ЭВМ АСУ продолжает нормально функционировать за счет работы другой ЭВМ. Поток отказов каждой ЭВМ простейший. Среднее время безотказной работы одной ЭВМ равно 10 суткам. При выходе из строя отказавшую ЭВМ начинают ремонтировать. Время ремонта ЭВМ распределено по показательному закону и в среднем составляет двое суток. В начальный момент обе ЭВМ исправны. Найти среднюю производительность АСУ, если при исправности хотя бы одной ЭВМ ее производительность равна 100%, а при отказе обеих ЭВМ продажа билетов производится вручную, обеспечивая 30% общей про-

изводительности АСУ. Провести статистическое испытание модели АСУ на временном интервале 3650 суток, определить количество отказов каждой ЭВМ.

Stateflow-моделью работы этого алгоритма является диаграмма, показанная на рис. 5. Далее на основе этой диаграммы создаем Simulink-модель (рис. 6), обеспечивающую ввод и вывод информации, идентификацию ситуации с выходом из строя одновременно двух ЭВМ и вычисление производительности системы. Результаты работы модели для указанных выше исходных данных также приведены на рис. 6. Они практически совпадают с результатами аналитических вычислений.

Р и с. 3. STATEFLOW-диаграмма компьютерной программы, реализующей алгоритм Евклида

Р и с. 4. SIMULINK - модель программы определения наибольшего общего делителя

Р и с. 5. STATEFLOW-диаграмма системы Р и с. 6. SIMULINK-модель системы массового

массового обслуживания обслуживания

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

3. Моделирование работы релейной системы стабилизации температуры на базе программируемого логического контроллера Premium. Система включает нагреватель при снижении температуры ниже уровня xmin и выключает при повышении выше значения xmax.

Диаграмма состояний и переходов такой системы показана на рис. 7. В общих чертах она соответствует GRAFCET-программе реальной системы. На рис. S представлена Simulink-модель системы стабилизации, а на рис. 9 - результат работы модели. Данный подход позволяет разработчику реальных систем производить их модельные испытания, не меняя принципов работы программной части управляющих устройств.

Р и с. 7. STATEFLOW-диаграмма релейной Р и с. 8. SIMULINK - модель релейной системы

системы стабилизации температуры стабилизации температуры

Р и с. 9. Изменение температуры на выходе релейной системы стабилизации

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Harel D. Statecharts: A Visual Formalism for Complex Systems// Science of Computer Programming. 1987. № 8. Р. 231-274

2. Дэбни Дж.Б., Хартман Т.Л. Simulink®4.Секреты мастерства. М.:БИНОМ. Лаборатория знаний, 2003. 403 с.

Поступила 27.02.2003 г. После доработки 14.12.2004 г.

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