Что такое динамическая система? |
Top Previous Next |
[Материал данного раздела заимствован из книги: Ю.Б.Колесов, Ю.Б.Сениченков - "Объектно-ориентированное моделирование в среде Rand Model Designer 7"]
«Динамическая система» – это абстракция, предназначенная для описания объектов, изменяющихся с течением времени. В инженерной практике часто возникают динамические системы, которые трудно отнести к тому или иному классу хорошо изученных «динамических систем». Это не должно мешать нам создавать компьютерные модели таких систем, просто нужно еще тщательнее относится к проверке адекватности, по сравнению с применением хорошо изученных моделей. По мере изучения новых типов динамических систем они «формализуются», получают то или иное математическое описание. Следовательно, нам нужно такое определение динамической системы, которое бы подходило и для известных, и уже формализованных динамических систем, так и новых, малоизученных, которые можно создать, используя конкретный язык моделирования.
Пусть состояние объекта характеризуется величиной Множество Динамика объекта – процесс перехода из одного состояния в другое – задается отображением Таким образом, динамическая система характеризуется своим начальным состоянием и законом, по которому она переходит из начального состояния в другие при изменении значения времени
Обычно рассматривают динамические системы с непрерывным и дискретным временем. В первом случае множество моментов времени совпадает с множеством вещественных чисел Отображение •в начальный момент времени проходить через заданную точку: •соответствовать принципу суперпозиции: Для частных случаев динамических систем требуется непрерывность отображения Термин «динамическая система» применяется для различных отображений: Рис. 1 Пример простейшего динамического объекта – отскакивающий шарик Рассмотрим простой физический объект, состояние которого меняется во времени: пусть шарик (материальная точка) падает с высоты На горизонтальной плоскости имеется датчик, который при ударе о плоскость выдает сигнал о касании шарика о поверхность. Даже эта простейшая система может потребовать создания различных моделей в зависимости от целей моделирования, и язык моделирования, претендующий на универсальность, должен позволять единообразно описывать все эти модели. Если нас не интересует текущее значение вертикального положения шарика В таком автомате: a) множество моментов времени дискретно: б) множество состояний в) множество выходных символов г) множество входных символов пусто Отображения Рис. 2 Граф переходов автомата Мура для системы «Отскакивающий шарик» Фазовой траекторией такой динамической системы в дискретном времени будет бесконечный цикл состояний {«ДвижениеВниз», «Отскок», «ДвижениеВверх», «ДвижениеВниз», …} и бесконечная выходная последовательность {Удар, Удар, …}. Достоинство этой модели в том, что она опирается на очень хорошо развитую теорию конечных автоматов, и мы многое можем сказать о ее свойствах. Допустим теперь, что нас все же интересует значение текущего положения шарика системой дифференциальных уравнений с начальными условиями Это классическая динамическая система с непрерывным временем Однако, применение классической динамической системы для описания поведения шарика с отскоком требует разделение поведения на непрерывные участки: от отскока до отскока. Единой непрерывной динамической системы, соответствующей нашему моделируемому объекту, не существует: необходимы две непрерывные модели, связанные друг с другом через начальные условия: 1) 2) где
Для получения единого описания поведения нужно «скрестить» непрерывную модель с автоматной. Такая формализация существует и называется гибридной системой, которая может быть графически представлена «гибридным автоматом». В гибридной системе, состояниям автомата «приписываются» поведения соответствующих непрерывных динамических систем (Рис. 3). У гибридного автомата имеется специальное начальное состояние, в котором он всегда находится в момент начала функционирования (на Рис. 4 обозначено закрашенным кружком). Рис. 3 Граф переходов автомата с приписанными состояниям непрерывными динамическими системами Теперь мы можем вычислить текущее значение координаты Для этого придется объединить пространства состояний автомата и непрерывной динамической системы:
Текущее состояние гибридного автомата будет задаваться тройкой где Рис.4 Граф переходов гибридного автомата Попробуем теперь разобраться, какая модель времени используется в гибридном автомате. «Скрещивание» дискретного автомата и непрерывной динамической системы требует «скрещивания» и времени: Возникает так называемое гибридное время. Текущим значением «гибридного» времени является пара Непрерывное время меняется только тогда, когда функционирует какая-либо непрерывная динамическая система. Начальному состоянию не приписано никакой непрерывной системы, поэтому после перехода в состояние «ДвижениеВниз» непрерывное время останется равным нулю, а значение дискретного времени увеличится на единицу (Рис. 5). В состоянии «ДвижениеВниз» меняется значение непрерывного времени, а дискретное время остается неизменным. После достижения поверхности происходит переход в состояние «Отскок» и затем в состояние «ДвижениеВверх», во время которых непрерывное время не меняется, а дискретное время увеличивается на две единицы. В состоянии «ДвижениеВверх» начинает меняться непрерывное время, а затем все повторяется. Отрезок гибридного времени, на котором меняется непрерывное время, называют непрерывным интервалом, а отрезок, на котором меняется дискретное время, временной щелью (time gap). Рис.5 Изменение гибридного времени Гибридная система, и ее графическое описание в виде гибридного автомата, частного случая машины состояний, оказались очень удобным расширением конечных автоматов. Не случайно входные языки четырех из пяти «универсальных» систем моделирования основаны на формализме машин состояния. Создатели языка Modelica пошли обратным путем: они взяли за основу непрерывную динамическую систему и наделили ее возможностью описывать дискретные события. Однако, для практического моделирования нужна не просто общая идея базового формализма, а достаточно подробно проработанный стандарт. Существует более или менее общепринятая форма записи систем дифференциально-алгебраических уравнений. Необходимо было найти достаточно общепринятую форму представления дискретной («автоматной») составляющей поведения гибридных систем. К счастью, в конце прошлого века был разработан язык прототипирования сложных программно-аппаратных систем UML, который в настоящее время стал фактическим стандартом объектно-ориентированного подхода. Некоторые конструкции этого языка – активный объект и диаграмма состояний (машина состояний) – очень хорошо подошли в качестве основы для создания «универсальных» языков моделирования. |