Что такое динамическая система?

Top  Previous  Next

[Материал данного раздела заимствован из книги: Ю.Б.Колесов, Ю.Б.Сениченков - "Объектно-ориентированное моделирование в среде Rand Model Designer 7"]

 

«Динамическая система» – это абстракция, предназначенная для описания объектов, изменяющихся с течением времени.

В инженерной практике часто возникают динамические системы, которые трудно отнести к тому или иному классу хорошо изученных «динамических систем». Это не должно мешать нам создавать компьютерные модели таких систем,

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

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

 

Пусть состояние объекта характеризуется величиной , а текущее значение времени величиной , где – множество состояний, а – множество моментов времени.

Множество – совокупность всех возможных фазовых состояний объекта или фазовое «пространство». Пусть в начальный момент времени объект находится в состоянии .

Динамика объекта – процесс перехода из одного состояния в другое – задается отображением

.

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

.

Обычно рассматривают динамические системы с непрерывным и дискретным временем.

В первом случае множество моментов времени совпадает с множеством вещественных чисел , во втором случае - это множество неотрицательных целых чисел .

Отображение должно удовлетворять двум требованиям:

в начальный момент времени проходить через заданную точку: ;

соответствовать принципу суперпозиции: .

Для частных случаев динамических систем требуется непрерывность отображения по всем переменным.

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

Fig 1.2

Рис. 1 Пример простейшего динамического объекта – отскакивающий шарик

Рассмотрим простой физический объект, состояние которого меняется во времени: пусть шарик (материальная точка) падает с высоты на горизонтальную плоскость, упруго отскакивает от нее, снова движется вверх, пока опять не начнет падать (Рис. 1).

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

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

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

В таком автомате:

a)  множество моментов времени дискретно: , где  – множество неотрицательных целых чисел;

б) множество состояний содержит три состояния: «ДвижениеВниз», «Отскок» и «ДвижениеВверх» (Рис. 2);

в) множество выходных символов включает в себя один элемент, соответствующий появлению сигнала от датчика;

г) множество входных символов пусто , то есть автомат является автономным. .

Отображения и заданы графом переходов автомата, показанным на Рис. 2. Автомат является синхронным: предполагается, что значение времени независимо увеличивается на единицу и на каждом такте определяются

и .

Fig 1.3

Рис. 2 Граф переходов автомата Мура для системы «Отскакивающий шарик»

Фазовой траекторией такой динамической системы в дискретном времени будет бесконечный цикл состояний {«ДвижениеВниз», «Отскок», «ДвижениеВверх», «ДвижениеВниз», …} и бесконечная выходная последовательность {Удар, Удар, …}.

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

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

системой дифференциальных уравнений

с начальными условиями .

Это классическая динамическая система с непрерывным временем , где – множество неотрицательных вещественных чисел, и непрерывным пространством состояний ..

Однако, применение классической динамической системы для описания поведения шарика с отскоком требует разделение поведения на непрерывные участки: от отскока до отскока.

Единой непрерывной динамической системы, соответствующей нашему моделируемому объекту, не существует: необходимы две непрерывные модели, связанные друг с другом через начальные условия:

1);

2),

где – значение скорости после отскока. Но даже такое «сшивание» поведений непрерывных систем требует дополнительно модели отскока шарика и учета выдачи сигнала датчика при отскоке.

 

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

В гибридной системе, состояниям автомата «приписываются» поведения соответствующих непрерывных динамических систем (Рис. 3). У гибридного автомата имеется специальное начальное состояние, в котором он всегда находится

в момент начала функционирования (на Рис. 4 обозначено закрашенным кружком).

Fig 1.4

Рис. 3 Граф переходов автомата с приписанными состояниям непрерывными динамическими системами

Теперь мы можем вычислить текущее значение координаты при движении вниз и вверх. Однако, непонятно, как «склеить» вместе эти движения, то есть нужна еще модель отскока, связывающая скорости при приземлении и вначале очередного движения вверх.

Для этого придется объединить пространства состояний автомата и непрерывной динамической системы:

.

Текущее состояние гибридного автомата будет задаваться тройкой

,

где – текущее состояние конечного автомата, -  текущее положение шарика, – текущая скорость шарика. В результате соответствующим состояниям конечного автомата можно приписать не два разных поведения, а одно – движение от отскока до отскока, описывающееся непрерывной динамической системой «ДвижениеШарика»: конечное значение траектории одной непрерывной динамической системы автоматически становится начальным значением траектории следующей, а изменение знака скорости обеспечивается мгновенными действиями при переходе из состояния «ДвижениеВниз» в состояние «ДвижениеВверх» (Рис. 4). Кроме того, необходимо добавить условия, определяющие переходы из одного состояния в другое:  движение вниз заканчивается при , движение вверх заканчивается при .

Fig 1.5

Рис.4 Граф переходов гибридного автомата

Попробуем теперь разобраться, какая модель времени используется в  гибридном автомате. «Скрещивание» дискретного автомата и непрерывной динамической системы требует «скрещивания» и времени: .

Возникает так называемое гибридное время. Текущим значением «гибридного» времени является пара , где – непрерывная составляющая гибридного времени, а – дискретная составляющая гибридного времени.

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

После достижения поверхности происходит переход в состояние «Отскок» и затем в состояние «ДвижениеВверх», во время которых непрерывное время не меняется, а дискретное время увеличивается на две единицы.

В состоянии «ДвижениеВверх» начинает меняться непрерывное время, а затем все повторяется. Отрезок гибридного времени, на котором меняется непрерывное время, называют непрерывным интервалом,

а отрезок, на котором меняется дискретное время, временной щелью (time gap).

Fig 1.6

Рис.5 Изменение гибридного времени

Гибридная система, и ее графическое описание в виде гибридного автомата, частного случая машины состояний, оказались очень удобным расширением конечных автоматов. Не случайно входные языки четырех из пяти «универсальных»

систем моделирования основаны на формализме машин состояния. Создатели языка Modelica пошли обратным путем: они взяли за основу непрерывную динамическую систему и наделили ее возможностью описывать дискретные события.

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

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

«универсальных» языков моделирования.