авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:     | 1 || 3 | 4 |

«Министерство образования и науки Российской Федерации САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Ю.Б. Сениченков ...»

-- [ Страница 2 ] --

Наибольшие проблемы при формировании итоговой системы возникают при использовании блоков с контактами. Контакт, или равенство двух переменных в различных блоках, порождает дополнительное алгебраическое уравнение. Первая трудность связана с необходимостью численного или аналитического дифференцирования. Легко себе представить ситуацию, когда контактом объявляется переменная одного из блоков, чья производная используется во втором блоке. Если об этом известно заранее, то можно написать выражение для соответствующей производной и объявить новую выходную переменную, ей равную. Если же соединение таких блоков осуществляется динамически, то приходится либо применять численное дифференцирование, со всеми вытекающими из этого последствиями, либо запоминать состояние модели, возвращаться на уровень исходного описания, выполнять символьное дифференцирование, генерировать новую модель и продолжать вычислительный эксперимент с прерванной точки. К сожалению, анализировать чувствительность гибридных систем пока не представляется возможности, и поэтому правомерность численного дифференцирования можно проверить только экспериментально. Второй трудностью является поиск начальных условий алгебраических уравнений для новой, очередной, АДУ. Возможность найти согласованные начальные условия, то есть условия, удовлетворяющие системе алгебраических уравнений в начальной точке, существенно зависит от начального приближения, которое в системах с переключениями обычно неизвестно. Более того, возникающие системы уравнений могут не иметь решения, или иметь несколько решений.

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

1.3.5 Численные методы для решения гибридных АДУ.

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

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

И, наконец, чрезвычайно важной становится задача о чувствительности решения гибридной систему АДУ. Оценка чувствительности видится единственным способом гарантировать уж если не точность, то хотя бы качество численного решения.

1.3.6 Динамический графический образ.

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

1.3.7 Язык проведения вычислительного эксперимента.

Разработчики инструментов компьютерного моделирования в основном сосредотачивают свои усилия на создании визуальных оболочек и языков моделирования и реже обращают свое внимание на автоматизацию проведения вычислительного эксперимента. В результате в современных программных средах моделирования (Simulink, Dymola, Model Vision Studium, AnyLogic) имеются достаточно мощные визуальные средства и языки моделирования и достаточно бедные возможности для планирования вычислительного эксперимента.

На практике применяются две стратегии проведения вычислительного эксперимента. Первая - «настрой и посмотри», предполагает возможность менять параметры модели только непосредственно перед началом выполнения модели (Simulink). Эта стратегия соответствует «пассивному», заранее спланированному вычислительному эксперименту. «Пассивный» эксперимент удобен при изучении большого числа режимов модели с различными наборами параметров, подборе оптимальных значений параметров, а также при контроле модели после многочисленных изменений. Вторая – «смотри и настраивай», дает возможность активно вмешиваться в ход наблюдаемого эксперимента во время выполнения модели (Model Vision Studium, AnyLogiс). Эта стратегия позволяет замыкать обратную связь через экспериментатора и соответствует «активному» вычислительному эксперименту. Возможность проведения активного вычислительного эксперимента особенно важна для исследовательского моделирования, когда модель только создается и ее понимание происходит по мере накопления материалов компьютерного эксперимента. Рассмотрим в качестве примера управление вычислительным экспериментом в пакете Model Vision Studium (MVS).

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

Следует отметить, что сам визуальный интерфейс модели в MVS также создается во время ее выполнения. В отличие от, например, Simulink окна графиков и анимации не являются блоками модели, а создаются пользователем по мере надобности, а отображаемые переменные не подаются на входы через связи, а переносятся между окнами методом «drag-and-drop».

Пользователь также может программировать временные последовательности внешних воздействий на модель.

В создаваемой версии MVS 4.x используется новый формализм обобщенного гибридного автомата, в котором в качестве деятельности в длительном состоянии используется активный объект – экземпляр некоторого класса, который автоматически создается при входе в данное состояние и уничтожается при выходе из этого состояния. Такой подход открывает новое «измерение» в компонентном моделировании: сложная модель строится не как параллельная, а как последовательная совокупность компонент, взаимодействующих через начальные условия.

Логика сложного вычислительного эксперимента отделена от модели исследуемой системы и приписана предопределенному классу Model.

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

Литература 1. Dictionary of Computing. Oxford University Press, 1986.

2. Alur, Rajeev, Costas Courcoubetis, Thomas A. Henzinger, and Pei-Hsin Ho. 1993. Hybrid automata: An algorithmic approach to the specification and verification of hybrid systems. In Lecture notes in computer science, edited by R. L. Grossma, A. Nerode, A. P. Ravn, and H. Rischel, vol. 736, pp. 209-29. New York: Springer-Verlag 3. O. Maler, Z. Manna, and A. Pnueli. From timed to hybrid systems. Real Time: Theory in Practice. LNCS 600, 1992, p. 447- 4. Xavier Nicollin, Alfredo Olivero, Joseph Sifakis, Sergio Yovine: An Approach to the Description and Analysis of Hybrid Systems. In R.L.

Grossman, A. Nerode, A. P. Ravn, and II. Rischel, editors, Hybrid Systems I, Lecture Notes in Computer Science 736, pages 149-178.

Springer-Verlag, 1993.

5. Maler, Z. Manna, and A. Pnueli. A formal approach to hybrid systems. In Proceedings of REX workshop: Real Time: Theory in Practice, Lecture Notes in Computer Science 600, Springer-Verlag, 6. Alur, R., C. Courcoubetis, N. Halbwachs, T. A. Henzinger, P.-H. Ho, X.

Nicollin, A. Olivero, J. Sifakis, and S. Yovine. The algorithmic analysis of hybrid systems. In Proceedings of the 11th International Conference on Analysis and Optimization of Discrete Event Systems. 7. T.A. Hezinger. The theory of hybrid systems. In Proceedings of 11th annual symposium on logics in computer science. p. 278-292. IEEE Computer Society Press, 8. A. Nilim, J. Lygeros, ee291E: Lecture 9. А.А. Андронов, Е. А. Леонтович, М.И. Гордон, А. Г. Майер.

Качественная теория динамических систем 2-го порядка. М.: Наука, 1966. 568 стр.

10. П. В. Бромберг. Матричные методы в теории релейного и импульсного регулирования. М.: Наука, 1967. 323 стр.

11. Жуковскй Н.Е. Теория регулирования хода машин, изд-во МВТУ, 12. В.И. Уткин. Скользящие режимы и их применение в системах с переменной структурой. М.: Наука, 1974, 272 стр.

13. Бернштейн С.И. Теория вибрационных регуляторов электрических машин. Труды второго Всесоюзного совещания по теории автоматического регулирования, т. 1. Изд-во АН СССР, 14. Е.С. Емельянов. Системы автоматического управления с переменной структурой. М.: Наука, 1967, 335 стр.

15. Никольский Г.Н. К вопросу об автоматической устойчивости корабля на заданном курсе. Труды центральной лаборатории проводной связи, № 1, 16. Дудников Е.Г. Введение в теорию непрямого регулирования с постоянной скоростью закрытия. Автоматика и телемеханика, № 6, 17. Е. А. Барбашин. Введение в теорию устойчивости. М.: Наука, 1967, 223 стр.

18. Теория систем с переменной структурой./ Под редакцией С. В.

Емельянова.

19. С.В. Емельянов, С.К. Коровин. Новые типы обратной связи. М.:

Наука, 1997. 352 стр 20. Филлипов А.Ф.Дифференциальные уравнения с разрывной правой частью. М.:Наука, 1985. 223 стр.

21. L. Tavernini, "Differential automata models of hysteresis", in Models of Hysteresis (A.Visintin, Ed.), Longman, Harlow (1993), 163-174.

22. L. Tavernini, "Numerical methods for ODEs with hysteresis", in Proceedings of The First World Congress of Nonlinear Analysts (V.Lakshmikantham, Ed.), de Gruyter, Berlin (1996), 765-773.

Глава 2. Композиция открытых гибридных автоматов В предыдущей главе были рассмотрены вопросы, связанные с исследованием однокомпонентных изолированных систем, базирующихся на модели гибридного автомата. Изолированные системы являются достаточно узким классом моделей и возникают при исследовании небольших моделей аналитическими методами, когда сложный реальный объект в первом приближении можно представить в виде единственной, существующей независимо, изолированной системы уравнений, связанной с окружением только через параметры модели. Более широким является класс многокомпонентных моделей.

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

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

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

Во многих случаях вполне обоснованно выделять два самостоятельных этапа – численное решение гибридных уравнений и доказательство правомерности использования полученного уравнения для объяснения поведения реального объекта.

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

Приходится автоматически подготавливать полученную систему к численному интегрированию.

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

Скорее всего, исторически первым пакетом для численного исследования гибридных систем является пакет НЕДИС, разработанный под руководством В.М. Глушкова:

1. В.М. Глушков, В.В. Гусев, Т.П. Марьянович, М.А. Сахнюк.

Программные средства моделирования непрерывно-дискретных систем. Киев: «Наукова думка», 1975. -240c.

Несколько позже появилась работа, где для моделирования многокомпонентных систем использовались блоки с контактами:

2. Е.А. Арайс, В.М. Дмитриев. Автоматизация моделирования многосвязных механических систем. М.: “Машиностроение”, 1987. 240с.

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

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

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

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

В современной версии пакета Model Vision 4.X предусматриваются следующие типы блоков:

- однокомпонентные системы с непрерывным поведением, - однокомпонентные системы с гибридным поведением, - многокомпонентные системы с компонентами типа «вход-выход состояние», - многокомпонентные системы с компонентами с контактами, - многокомпонентные системы с переменным числом компонентов.

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

Наиболее ранней зарубежной работой, посвященной композиции гибридных автоматов, является работа:

N. Lynch, R. Segala, F. Vaandrager, and H.Weinberg. Hybrid I/O automata. In R. Alur, T. A.Henzinger, and E. D. Sontag, editors, Hybrid Systems III, Verification and Control, volume 1066 of Lecture Notes in Computer Science, pages 496–510. Springer, 1996.

В последние годы появились еще два пакета, Charon и Ptolemy II, также использующих гибридные автоматы, авторам которых, как и авторам пакетов семейства Model Vision, пришлось вводить понятие композиции и анализировать свойства итоговой системы.

Более подробно о пакете Charon (Deparment of Computer and Information Science, University of Pennsylvania. Homepage:

http://www.cis.upenn.edu/mobies/charon) можно прочесть в статьях:

1. R. Alur, T. Dang, J. Esposito, Y. Hur, F. Ivancic, V. Kumar, I. Lee, P, Mishra, G. J. Pappas, and 0. Sokolsky. Hierarchical modeling and analysis of embedded systems. Proceedings of the IEEE, 91(1): 11-28, January 2. R.Alur, I. Lee, O. Sokolovsky. Compositional Refinement for hierarchical hybrid systems.

3. R. Alur, R. Grosu, Y. Hur, V. Kumar, and I. Lee. Modular specification of hybrid systems in Charon, Hybrid Systems: Computation and Control, Lecture Notes in Computer Science, volume 1790, Springer 2000.

Более подробно о пакете Ptolemy II (Department of EECS, UC Berkeley.

Homepage: http://ptolemy.eecs.berkeley.edu/ptolemyII ) можно прочесть в работах:

1. J. Liu, X. Liu, T. Koo, J. Sinopoli, S. Sastry, and E. Lee. A hierarchical hybrid system model and its simulation. In Proceedings of the 38th IEEE Conference on Decision and Control, pages 3508–3513, Phoenix, AZ, December 1999.

2. J. Liu,X. Liu, Tak-Kuen J. Koo, B. Sinopolli,Sh. Sastry, and E. A. Lee. A hierarchical hybrid system model and its simulation.

Рассмотрим, как вводится понятие композиции в семействе Model Vision.

2.1 Предпосылки.

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

ОПРЕДЕЛЕНИЕ. Под динамической системой понимают семейство отображений x = x(t ;

x 0 ) любого множества в себя, если выполняются условия:

1. Непрерывности x по совокупности переменных;

2. x(0;

x 0 ) x 0 ;

3. x(t 2 ;

x(t1 ;

x 0 )) x(t1 + t 2 ;

x 0 ) ;

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

dx = f ( x);

x n ;

x(0)=x0, (1) dt правая часть которой определена во всем пространстве x и удовлетворяет условию Липшица по всем своим аргументам называется динамической системой.

Специальная вещественная переменная t играет роль времени. Будем считать, что 0 t, то есть решение системы, заведомо существующее в некоторой окрестности точки t=0, продолжаемо на всю полуось. Если это не так и решение в некоторой точке T начинает неограниченно возрастать, то всегда можно перейти к новой системе, с теми же траекториями, но другими скоростями их прохождения:

dx n = f ( x) v( x);

v(x) = 1 + f i2 x n ;

x(0)=x dt Можно также расширить синтаксическую форму представления динамических систем, разрешив системе быть неавтономной:

dx = f (t, x);

x n ;

x(0)=x dt помня о том, что неавтономную систему можно привести к системе автономной, увеличив размерность фазового вектора х на единицу:

dx = f ( y, x);

x n ;

x(0) = x dt.

dy = 1;

y 1 ;

y(0) = 0;

dt Таким образом, динамическая система может быть представлена следующими различными формами:

- в виде явной функциональной зависимости;

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

- в виде неавтономной системы.

Пример 1.

Предположим, что мы хотим использовать эту модель для изучения полета тела, брошенного под углом к горизонту с начальной скоростью V0 (Рис. 1). Обозначим через s и f (s ) векторы l (t ) Vl h(t ) V s= ;

f (s) = h Vh g Vl где l (t ) - дальность полета, h(t ) - высота, (Vl,Vh ) - соответствующие скорости, l (0) = h(0) = 0 и Vl (0) = V0 cos( );

Vh (0) = V0 sin( ). Решение написанных уравнений можно интерпретировать как длительный полет тела на промежутке [0, T ] до момента падения на землю.

h(t) t Рис. 1. Полет тела, брошенного под углом к горизонту.

Пример 2.

Теперь предположим, что мы хотим не только следить за полетом, но и моделировать отскок тела от земли, предполагая, что удар абсолютно упругий. Это допущение в модели реализуется следующим образом: мы выделяем некое особое состояние – касание тела земли, и разрешаем вертикальной составляющей скорости в момент его наступления мгновенно сменить знак на противоположный Vh = Vh, после чего снова начинаем интегрировать исходную систему с новыми начальными условиями (Рис. 2).

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

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

Порождающий ее механизм вполне может быть назван автоматом.

h(t) t*: h ( t ) = 0 & V h t Рис. 2. Прыгающий мячик.

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

• начальные условия;

• значения параметров в правых частях;

• сами правые части или число уравнений.

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

Пример 3.

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

Сначала рассмотрим линейную систему дифференциальных уравнений на плоскости 2 с особой точкой типа «седло»:

dx ;

1, 2 0 ;

= x;

= 0 - dt a x1 a;

b x 2 b;

a, b и соответствующими подобластями:

1 x1 0;

x2 0;

2 x1 0;

x2 0;

3 x1 0;

x 2 0;

4 x1 0;

x2 0;

В начальный момент времени система начинает движение в первой области с начальными условиями x = [x10, b], а далее обходит подобласти T по правилу 1 2 3 4 1, меняя начальные условия:

1 2 : x0 = [ x2,b]T 2 3 : x0 = [ x2, b]T, 3 4 : x0 = [ x2,b]T 4 1 : x0 = [ x2, b]T где x2 – значение второй компоненты вектора x, при переходе границы.

Время t* нахождения системы в конкретной подобласти при выбранной системе координат определяется только начальным значением первой 1 a компоненты вектора решения и равно t* = ln. При этом вторая 1 x1 (0) компонента, при достижении новой границы в момент t*, будет равна x 2 (t*) = exp(2 t*)b.

В зависимости от значений параметров 1, 2, a, b, x10 время обхода T подобластей 1-2-3-4 может стремиться к либо к бесконечности, либо к нулю. Вырождение системы в чисто дискретную происходит при T= (движение по углам прямоугольника, ограничивающего область задания гибридной системы). Циклическое движение возможно, если x1(0) удовлетворяет уравнению a b x(0) = x ( 0) Очевидно, что в квадратной области и равных по модулю собственных числах, любое начальное значение удовлетворяет этому уравнению. На Рис. 3 показан пример фазовой траектории рассмотренной системы и зависимость координат решения от времени.

Теперь выберем линейную систему на плоскости 2 с особой точкой типа устойчивый «фокус»:

- dx ;

0, 0 ;

= c x;

c = dt r x R;

x(0) = R;

При достижении точки x = r;

вектору присваиваются новые начальные условия x(t + ) := x(t ) / x(t ) * R;

При специальном выборе параметров = 2 k ;

r = e kr R;

k, k r 0 можно обеспечить периодичность решения. На Рис. 4 показана фазовая траектория системы при одном из возможных выборов параметров.

Рис. 3. Поведение гибридной системы для линейной системы с особой точкой «седло».

Рис. 4. Поведение гибридной системы для линейной системы с особой точкой «фокус».

Во многих задачах изменение характера поведения связано с мгновенными изменениям параметров правой части динамических систем.

Пример 4.

Рассмотрим электрическую цепь (Рис.5), у которой в зависимости от положения ключа может меняться значение сопротивления.

Поведение этой цепи описывается уравнением 1t di L + iR * + id = E dt c и если R* меняется периодически R*(t)=R*(t+T), например, при T= t [0,1) R R* = t [1,2] R то мы получим систему с мгновенным изменением параметров.

Рис. 5. Элементарная электрическая цепь с ключом Преобразуем ее к виду 1t di du L + iR * +u = E;

u = id ;

=i dt c0 dt c и дополним новым дифференциальным уравнением di 1 du = ((iR * +u ) + E );

= i;

dt L dt c dR * = 0;

t = 0;

R* = R1 ;

t = 1;

R* = R2,....

dt Последняя система будет эквивалента предыдущей, если мы будем рассматривать ее как набор систем, у которых периодически меняются начальные условия последнего уравнения в точках t=1,2,3….. В этих точках координаты i, u – «склеиваются», образуя непрерывные функции, а R* - меняется скачком, то есть ведет себя как кусочно-непрерывная функция. Это общий прием, позволяющий говорить о таких системах также как о системах с неизменной правой частью и меняющимися только начальными условиями. Действительно, любую систему дифференциальных уравнений с кусочно- постоянным параметром P dx = f ( x, P, t ) dt с в области V P= с 2 в области V можно записать в виде dx = f ( x, P, t ) dt.

P(0) = с1 в области V dP = P(0) = с 2 в области V dt Изменение правой части дифференциальных уравнений возникает во многих практических задачах. В задачах механики, например, это часто связано с законом изменения возмущающей силы. Рассмотрим колебания маятника, подверженного воздействию периодической кусочно постоянной (релейного маятника) d 2x dx + a + f ( x) = dt dt b1 при 0 x f ( x) = b2 при - x 0, или осциллирующей функции d 2x dx + a + f ( x) = dt dt b1 * sin(t) при 0 x f ( x) = b2 * cos(t) при - x 0, В теории управления кусочно-постоянные функции возникают при так называемом релейном управлении. Пусть, например, теперь то же самое d2y dy уравнение описывает движение корабля m 2 + = F (t ),где m- масса dt dt судна, – лобовое сопротивление, F(t) – усилие, создаваемое двигателем.

Предположим, что мы хотим, находясь в точке y(0)=y0, y’(0)=y’0 через указанный момент времени T совершить маневр и оказаться в точке y(T)=yT, y’(T)=y’T, при этом можно дополнительно потребовать, чтобы, например, расход топлива оказался минимальным. Решение подобных задач может приводить к кусочно-постоянным функциям F(t), обеспечивающим решение задачи минимизации.

Всегда формально можно ввести новые коэффициенты k1 и k2, меняющиеся скачком в соответствующих областях d 2x dx + a + k1 f 1 ( x ) + k 2 f 1 ( x ) = dt dt f1 ( x) = { b1 при 0 x, k1 = 1,k 2 = f 2 ( x) = { b2 при - x 0,k1 = 0, k 2 = или f1 ( x) = { b1sin(t) при 0 x, k1 = 1,k 2 = f 2 ( x) = { b2 cos(t) при - x 0,k1 = 0, k 2 = и перейти к новой системе d 2x dx + a + k1 f 1 ( x ) + k 2 f 1 ( x ) = dt 2 dt dk =0, dt dk = dt у которой в точках t = ± k, k = 0,1,2,3... меняются только начальные условия.

2.2 Изолированный примитивный гибридный автомат.

При изучении реальных систем нам часто требуется проверять некоторые, присущие конкретному объекту свойства, которые должны сохраняться либо на всем решении, либо на заданных временных промежутках – будем называть их инвариантами и обозначать Inv(t, s (t )). Для модели «прыгающий мячик» инвариантами являются очевидные свойства решения - t, l (t ) 0 & h(t ) 0.

Члены последовательности решений исходного дифференциального уравнения «отделены» друг от друга событиями, которые могут быть описаны предикатами, определенными на решении уравнений pred (t, s (t )). В дальнейшем такие события будут называться событиями, приводящими к смене поведения, а предикаты – условиями смены поведения. При изучении полета с отскоком, смена начальных условий происходит в моменты времени, когда выполняется условие t * : h(t ) = 0 & Vh 0.

И, наконец, выбор новых начальных условий на новом временном * промежутке в его левой, начальной точке t + может зависеть от значения * решения в правой, конечной точке t предыдущего промежутка. Будем называть функцию, с помощью которой задаются новые начальные условия, функцией инициализации Init : s (t + ) = Init ( s (t )). При отскоках * * мячика без потери энергии новые начальные условия всегда выбираются одними и теми же l (t + ) = l (t );

h(t + ) = h(t );

Vl (t + ) = Vl (t );

Vh (t + ) = Vh (t ).

* * * * * * * * Рассмотренную нами систему будем называть гибридной системой и обозначать ее буквой H. Из предыдущего рассмотрения гибридной системы видно, что мы имеем дело с математическим объектом, H = {s, f ( s), g ( s), S 0, pred (t, s( )), Inv(t, s( )), Init ( s( ))} где • s n - вектор переменных состояния размерности n ;

• f ( s ), g ( s ) n заданные вектор-функции или правая часть алгебро-дифференциального уравнения ds = f (t, s1, s 2 ), dt 0 = g (t, s1, s 2 ) s = {s1, s 2 };

s (0) = s 0 S 0, t [0, ), со свойствами, обеспечивающими существование и единственность решения s (t ). Составляющие вектора s1, s2 часто называют дифференциальной и алгебраической компонентами решения соответственно. Учитывая, что любая неавтономная система может быть приведена к автономной, мы в дальнейшем не будем различать их, и записывать правые части уравнений в приведенной выше форме.

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

• pred (t, s (t )) : 1 n { false, true} - булевская функция, определенная на решениях алгебро-дифференциального уравнения, выделяющая особые состояния, или события, приводящие к смене поведения;

• Inv(t, s (t )) : 1 n { false, true} - булевская функция, определяющая свойства решения;

• Init ( s (t )) : n n - вещественная функция, ставящая в соответствие * значению решения в правой, конечной точке t текущего промежутка интегрирования значение новых начальных условий на новом временном промежутке в его левой, начальной точке t + : s (t + ) = Init ( s (t )).

* * * • - гибридное время.

В классической динамической системе роль времени выполняла независимая переменная t. Время было упорядочено, непрерывно и равномерно пробегало значения от нуля до бесконечности [0, ). В гибридной системе рассматриваются решения уравнения на последовательно расположенных отрезках времени, поэтому естественно назвать эту последовательность временных отрезков временем. В нашем примере это были конечные отрезки. Эта последовательность, может превращаться в конечное множество, и даже в один единственный полуоткрытый справа интервал [t N, ), в случае, если гибридная система вырождается в классическую динамическую систему.

Определим гибридное время либо как конечную последовательность H = { i }1N, где i = (Pr e _ gapi, [t i*1, t i* ], gapi ), i = 1, 1..N ;

t 0 = 0 и [ti*1, ti* ] * являются замкнутыми интервалами и только последний интервал полуоткрытый - N = [t N, ), либо как последовательность H = { i }1, * состоящую только из замкнутых конечных интервалов. Члены последовательности упорядочены естественным образом, а внутри каждого отрезка сохраняется упорядоченность вещественных чисел, так что свойство упорядоченности времени обеспечивается. Элементы гибридного времени Pr e _ gapi, Post_gapi назовем временными щелями очередного такта (тика) i = (Pr e _ gapi, [t i*1, t i* ], Post _ gapi ) = { 1, 2,....} гибридного времени где t * - время срабатывания перехода или первая точка, в которой становится истинным предикат, pre( s (t * )) - значение функции на правом pre(t * ) (конечном) конце текущего временного интервала, post ( s (t * )) значение функции на левом post (t * ) (начальном) конце следующего временного интервала, Pr e _ gapi - временная щель для вычисления согласованных начальных условий и проверки предиката на левом конце нового промежутка [t i*1, t i* ] = [t i*1, pre(t i* )] очередного длительного поведения, [ti*1, ti* ] - временной интервал текущего длительного поведения (непрерывное поведение), Post _ gapi - временная щель для вычисления новых начальных условий на правом конце текущего промежутка [t i*, t i*+1 ] = [ post (t i* ), t i*+1 ] очередного длительного поведения.

Гибридную систему удобно изображать в виде графа - гибридного автомата (Рис. 6):

Pred1/Init Do:

Inv:

Рис. 6. Примитивный гибридный автомат где:

• поименованный прямоугольник со Init спрямленными краями обозначает длительные процессы, связанные с решением дифференциального уравнения;

• стрелка, с приписанным ей условием и функцией инициализации, указывает на новое Pred/Init длительное состояние, в которое переходит автомат, после возникновения событий, приводящих к смене поведения;

• ломаная линия указывает на интегрируемую систему (do:) и функцию - инвариант (Inv:), Do: определяющую свойства решения;

Inv:

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

Замечание. Состояния, названные длительными, могут протекать так же мгновенно, как инициализируются начальные условия. Дело в том, что в гибридной системе, если pred (t *, s (t * )) становится истинным уже в левой точке очередного промежутка, то начальная точка и есть решение на ** промежутке [t +, t + ] нулевой длительности. Гибридный автомат начинает вести себя также как дискретное отображение, до тех пор, пока не будут найдены подходящие начальные условия.

Работу примитивного автомата можно описать с помощью следующего алгоритма:

Алгоритм работы примитивного автомата.

1. Инициализация.

t 0 = 0;

i := 0;

;

* post ( s1 (t 0 )) := pre( s1 (t 0 )) := s10 ;

* * post ( s 2 (t 0 )) := pre( s 2 (t 0 )) := s * * здесь s 20 или согласованное начальное условие для алгебраической составляющей, либо только начальное приближение к нему.

2. Pr e _ gapi : Начинается текущий промежуток гибридного времени i Вычисление новых согласованных начальных условий и проверка предиката.

i := i + 1;

Решаем уравнение 0 = g (t i*1, post ( s10 (t i*1 )), post ( s 20 (t i*1 ))) относительно post ( s 20 (t i*1 )) с начальным приближением pre( s 20 (t i*1 ).

Аварийный выход: не смогли найти согласованные начальные условия.

Вычисляем предикат на левом конце текущего промежутка pred ( post ( s (t i*1 )) Если предикат истинен pred ( post ( s (t i*1 )) = true, то завершается текущий интервал гибридного времени i t i* := t i*1 ;

pre( s (t i* )) := post ( s (t i*1 ));

переходим к 4.

иначе начинается текущее длительное поведение [t i*1, t i* ] : Текущее длительное поведение.

3.

Решение уравнений ds = f (t, s10, s 20 );

dt 0 = g (t, s10, s 20 ) c согласованными начальными условиями, до тех пор, пока не станет истинным предикат pred ( s (t )).

Аварийный выход: не смогли найти решить уравнения.

Как только предикат стал истинным, выполняем завершается текущий интервал гибридного времени i t i* := t : pred ( s (t )) = true ;

pre( s (t i* )) := s (t ) 4. Post _ gap i : Завершающее мгновенное поведение.

Инициализация начальных условий для нового интервала: post ( s (t i*1 )) := Init ( pre( s (t i*1 ))) ;

здесь post ( s10 (t i*1 )) - новое начальное условие для дифференциальной составляющей, a post ( s 20 (t i*1 )) - возможно только приближение к нему.

Переходим к 2.

Конец Алгоритма работы примитивного автомата.

2.3 Траектории примитивного гибридного автомата.

Траекторией гибридной системы будем называть либо конечное множество, либо последовательность решений H = {( s 0 (t ), t 0 ), ( s 1 (t ), t 1 ),...} заданного алгебро-дифференциального уравнения, обладающих требуемыми свойствами на всех промежутках временной последовательности H.

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

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

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

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

Будем называть примитивный автомат реализуемым на множестве S 0, если для любых начальных условий s0 S 0, вырабатываемых функцией Init, существует единственное решение задачи (1), удовлетворяющее заданным с помощью функции Inv свойствам. Или иначе, - функция Init вырабатывает только допустимые в указанном смысле начальные условия.

Множество начальных условий можно разбить на два S непересекающихся подмножества S 0 d и S 0 c, называемых подобластями длительных (непрерывных) и вырожденных длительных состояний, таких pred ( S 0 d ) = true pred ( S 0 c ) = false. Существование непустого что и подмножества S 0 d может приводить к тому, в последовательности H = { k } может найтись номер N, начиная с которого i N все i окажутся нулевыми, и автомат начнет демонстрировать чисто дискретное поведение. Для этого достаточно, чтобы в множестве S 0 d существовало инвариантное подмножество функции Init и одна из точек этого подмножества стала бы начальной в некоторый момент гибридного времени.

Пример 5.

Изолированный примитивный гибридный автомат с начальным дискретным поведением. Рассмотрим следующий примитивный гибридный автомат ds = a * s;

dt 0 = y s;

s (0) = p 0;

y (0) = y 0 p;

p = 1;

a = 1;

pred ( s (t ), y (t )) : s (t ) c = 5;

c p с предикатом и функцией Init инициализации новых начальных условий после срабатывания перехода: post ( s (t * )) := pre( s (t * )) + p.

Этот автомат начинает свою работу в t = 0, сразу же обнаруживает, что предикат при заданных начальных условиях, истинен, и вычисляет новые начальные условия. Так продолжается до шестого такта post ( s (t 6 )) := * гибридного времени, когда начальное значение становится таким, что появляется возможность начать длительное поведение. С этого момента мы наблюдаем периодическое изменение переменной состояния s (t ) (Рис. 7).

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

2.4 Вырожденное поведение. Автомат Зенона.

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

Рис. 7. Чисто дискретное, переходящее в периодическое, поведение изолированного примитивного автомата.

Пример Для дифференциального уравнения ds b = a * s + b;

s (0) = s 0 ;

c ;

inv := s (t ) c;

pred := s (t ) = c;

dt a s0 c написанный предикат никогда не будет при выборе любого истинным, и построенный таким образом гибридный автомат будет вести себя как классическая динамическая система.

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

В тоже время, если рассматривать этот процесс в гибридном времени, то мы наблюдаем его бесконечное течение.

Пример Для дифференциального уравнения ds b = a * s + b;

s (0) = s 0 ;

c ;

inv := s (t ) c;

pred := s (t ) = c;

dt a при выборе начального условия в виде s 0 = c, написанный предикат становится истинным уже на начальном условии, и если положить S 0 s 0, то построенный таким образом гибридный автомат будет вести себя как тождественное дискретное отображение.

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

Пример 8.

Рассмотрим линейное уравнение dx b = ax + b;

x(0) = x0 c ;

a= dt a и построим примитивный автомат, который при достижении решением значения x(t ) c меняет одновременно и начальные условия и вид правой части: t * : x(t ) = c x := x0 ;

a := a. Теперь попробуем изменить алгоритм вычисления начальных условий:

c x0 c x0 c x 1. x 0 = c ;

2. x0 = c ;

3. x0 = c ;

k = 1,2,3....

k k k k +1 (k + 1) 2 (k + 1) и проследим за характером изменения гибридного времени, суммируя все отрезки времени, соответствующие длительному поведению. Рисунки 8 10, иллюстрируют характер изменения поведения системы с ростом показателя степенной зависимости и показывают, как останавливается «непрерывное время» для второго и третьего случая.

Поведение Зенона обычно связывают с существованием для последовательности TH = { 0, 1, 2,..., i,...}, i = 0,1,2.... конечного предела суммы s (TH ) = lim i.

i Пример Приведем пример системы [http://robotics.eecs.berkeley.edu] для которой этот предел можно вычислить явно (Рис. 11) Рис. 8. «Естественное» течение времени Рис. 9. Возникновение предельной точки Рис. 10. Практически мгновенное «замирание» времени Рассмотрим два бака одинаковых размеров, с выходными трубами, из которых вытекает вода со скоростью v1 и v2 соответственно. Для каждого бака существует свой предельный уровень воды r1 и r2, после чего следует начинать доливать воду в баки. Кран для доливки воды один и из него вода поступает в любой бак со скоростью w.


Рис. 11. Управление уровнем воды в системе двух баков Предположим, что мы начинаем доливать воду в момент, когда вода в первом баке достигла критического уровня, а во втором его превышает.

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

Гибридный автомат H будет иметь два состояния с уравнениями:

q = 0;

x2 r dx1 dx = w v1 ;

2 = v1 ;

dt dt q = 1;

x1 r dx1 dx = v1 ;

2 = w v1 ;

dt dt Положим r1 = 0 и r2 = 0. Начальным будем считать состояние, когда x1 = 0;

x 2 = h 0. Пусть max{v1, v 2 } w v1 + v 2.

При первом переключении будет иметь место:

h h 0 = 0;

1 = ;

x1 ( 1 ) = ( w v1 ) ;

x2 ( 1 ) = v2 v При втором h h 2 = 1 + ( w v1 ) ;

x1 ( 2 ) = 0;

x 2 ( 2 ) = ( w v1 )( w v 2 ) v1v 2 v1v Окончательно имеем h ( w v1 )h ( w v1 )( w v 2 )h ( i ) = + + +...

i + v2 v1v 2 v1v 2 v i = i i i i h ( w v1 ) (w v2 ) ( w v1 ) (w v2 ) = [ + ] v 2 i =1 v1 v v v i =0 2 1 i ( w v1 ) ( w v 2 ) h ( w v1 ) hw + 1] = =[ ]= [ v v 2 v1v 2 ( w v1 ) ( w v 2 ) v2 v1 i =0 1 v v h = v1 + v 2 w Графики для h = 4;

w = 2.5;

v1 = 2;

v2 = 1 приведены на Рис. 12.

Рис. 12. Эффект Зенона в системе двух баков Будем называть примитивный автомат автоматом Зенона, если объединение всех интервалов последовательности, образующей гибридное время, не совпадает с положительной вещественной осью TH = U i [0, ) (2).

i = Это условие также записывают в виде W = lim w( i ) (3), i i где w( i ) = t i t i 1 - длительность текущего состояния. Последнее условие (3) можно интерпретировать как переключение автомата с бесконечной скоростью в окрестности некоторой временной точки.

Таким образом, автомат Зенона реализуется, либо если в последовательности H = { k } найдется номер N, начиная с которого i N все i окажутся либо нулевыми, либо будут выполняться условия (2) или (3).

Пример 10.

Пример автомата Зенона, для которого последовательность локальных длительностей текущего состояния имеет предельную точку, отличную от нуля, легко построить уже для линейного уравнения первого порядка, если предикат выбирать не в виде условия достижения решением заданного состояния, а в виде ограничения на время пребывание в текущем длительном состоянии. Выберем очередную длительность w( i ), например, равной w( i ) = t i t i 1 = и получим в (3) (i + 1) конечное предельное значение.

Для построения более сложного автомата достаточно так подобрать новое очередное начальное условие, чтобы решение достигало нужного состояния с требуемой для выполнения условий сходимости ряда скоростью. Покажем это на примере того же дифференциального уравнения первого порядка. Пусть ds b = a * s + b;

s (0) = s 0 ;

c ;

inv := s (t ) c;

pred := s (t ) = c и на i -том dt a срабатывании перехода было выбрано новое начальное условие s i0. Так как решение уравнения s i (t ) в очередном длительном состоянии равно b s i (t ) = e at s0 + (e at 1), то предикат s i (t ) = c станет истинным в точке i a b c+ 1 a.

= ln t i +1 Достаточно новые начальные условия выбрать, b a si0 + a si0 = c * ( например равными ), чтобы получить автомат с 2i требуемыми свойствами.

2.5 События, сигналы.

В общем случае отдельная траектория s ( s0 ;

) гибридного автомата представляет собой разрывную, многозначную функцию на вещественной оси (Рис. 13) и разрывную, однозначную функцию на гибридном времени (Рис. 14).

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

Событиями, как и обычно, в фазовом пространстве назовем любые специальным образом помеченные состояния. Обычно метка представляет собой текстовый литерал. Событиями в расширенном фазовом пространстве назовем пару (t * i, s (t * )), первую координату которой будем называть временем наступления события, а вторую – сутью (сущностью, значением) события. Каждому событию можно сопоставить сигнал, или булевскую функцию на решении, принимающую значение true только на событии, и значение false на всех остальных точках фазового пространства. Сигнал может быть определен по-разному:

true s (t * ) = s ( s 0 ;

t ) signal ( s (t ), s ( s 0 ;

t )) = *, false во всех остальных случаях true t = t * & s (t * ) = s ( s0 ;

t ) signal ((t, s(t )), s ( s 0 ;

t )) = * *, false во всех остальных случаях true t = t* signal (t, s( s 0 ;

t )) = *.

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

t : s (t ) s (t + ), t i ;

t + i + true * * * * signal ( s ( s 0 ;

t )) =, false во всех остальных случаях По своей сути любой сигнал должен иметь привязку к гибридному времени. Чтобы найти место сигналу, определенному выше, на гибридном времени, и вводят понятие «временной щели». Иногда, помимо сигнала false до момента вводят также и функцию «сообщение», равную наступления события, и true - после его наступления.

s ( s0 ;

t ) 1 2 3 Рис. 13. Проекция траектории на непрерывное время 2.6 Примитивный гибридный автомат с несколькими переходами.

В рассмотренном нами примитивном гибридном автомате был возможен только один переход. Такой автомат лишен каких-либо параллельных действий. В тоже время смена длительных состояний может быть описана с помощью нескольких предикатов, или нескольких переходов (Рис.15). И естественно возникает вопрос, может ли быть такой автомат, представленный уже мульти-графом, сведен к примитивному гибридному автомату.

s( s 0 ;

) 1 Рис. 14. Проекция траектории на гибридное время В таком автомате возникает возможность одновременного срабатывания двух переходов. Реализация срабатывания переходов зависит от трактовки одновременности.

Pred2/Init2 Pred1/Init Inv:

Do:

Рис. 15. Примитивный автомат с несколькими переходами.

Припишем узлу поведение dsi b = a * si + b;

si (0) = si 0 = s0 ;

i = 1,2;

s0 c - и выберем предикаты и dt a функции инициализации в виде pred1 := ( s1 c) / Init1 : s1 := s 2 := 2 * s0 и pred 2 := ( s 2 c) / Init 2 : s1 := s 2 := 2 * s0. Так как функции инициализации трактуются как мгновенные действия, то мы при записи применяем символику, принятую в языках программирования. Здесь два условия выполняются одновременно. То есть наступают одновременно два события внутри одного такта гибридного времени на первом же интервале.

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

В первом случае, сразу же обрабатывается первое обнаруженное событие, например, Event1 : pred1 := ( s1 c) и выполняется мгновенное Init1 : s1 := s 2 := 2 * s0, действие что в дальнейшем приводит к периодическому движению (Рис. 16).

s1 (t ) b/a c t s 2s Рис. 16. Периодическое движение Если порядок обнаружения будет другим, и первым будет обнаружено Event 2 : pred 2 := ( s 2 c), событие а затем выполнено действие Init 2 : s1 := s 2 := 2 * s0, то мы получим апериодическое движение (Рис.17).

Во втором случае, выявляются все сработавшие переходы, их Init1 : s1 := s 2 := 2 * s мгновенные действия объединяются и Init 2 : s1 := s 2 := 2 * s0, и в этом случае они должны трактоваться как уравнения. В данном конкретном случае мы получаем противоречивую систему, и дальнейшее движение автомата становится невозможным.

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

s1 ( t ) 2s b/a c s t Рис. 17. Апериодическое движение.

2.7 Гибридный автомат с несколькими длительными состояниями.

В большинстве языков моделирования гибридный автомат вводится как автомат с несколькими состояниями (Рис.18).

Рис. 18. Гибридный автомат с несколькими длительными состояниями В том случае под гибридной системой H следует понимать объект, H = {s, F ( s), G ( s), S 0, pred (t, s(t )), Inv(t, s(t )), Init ( s(t ))} где:

• s n - вектор переменных состояния размерности n ;

• F (s ) {f k ( wk ) k, g k ( wk ) k,} K n - множество вектор-функций или правых частей алгебро-дифференциальных уравнений для локального вектора переменных состояния wi = {wi1, wi2 }, размерность которого не превышает максимально возможной размерности n, где wi1, wi2 и дифференциальная и алгебраическая составляющие dwi = f i ( wi1, wi2 ), dt 0 = g i ( wi1, wi2 ) wi (0) = wi 0 S 0, t [0, ], wi s;

f i, g i F ( s ), 1 i K Вектор wi может содержать не обязательно все, а только некоторые компоненты вектора s.

• S 0 - множество начальных условий для всех возможных систем и функций инициализаций;

• pred (t, w(t )) - множество булевских функций {pred (t, w(t )) : 1 m { false, true}, w s}1, M определенных на m решениях дифференциальных уравнений, выделяющих особые состояния, или события, приводящие к смене поведения;

• Inv(t, w(t )) - множествo булевских функций {Inv (t, w(t )) : 1 p { false, true}}1, P определяющих свойства p решения отдельных дифференциальных уравнений;


• Init ( w(t )) - множество вещественных функций {Init (w(t )) : l }, ставящих в соответствие значению решения n L l в правой, конечной точке t текущего промежутка интегрирования * значение новых начальных условий на новом временном промежутке в его левой, начальной точке t + : w(t + ) = Initl ( w(t )).

* * * • V - множество поименованных длительных состояний, каждому из которых предписано одно дифференциальное уравнение и один инвариант.

• E - множество переходов, с предписанными им предикатами и функциями инициализациями.

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

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

Любой детерминированный гибридный автомат может быть сведен к примитивному гибридному автомату. Рассмотрим технику сведения на примере.

Пример 12.

Припишем каждому узлу автомата, изображенному на Рис. 18 линейное ds = a * s + bi ;

s (0) = s 0 ;

с дифференциальное уравнение различными dt коэффициентами bi. Выберем для примера значения коэффициентов равными a = 1;

b1 = 1;

b2 = 1;

b3 = 1. Припишем переходам предикаты и функции инициализации, как указано в таблице 1.

Таблица Переход Предикат s c 1-2 s(t + ) = s * s c 2-3 s ( t + ) = s (t ) * * s c 3-1 s (t + ) = s * И положим s 0 = 0.1;

c1 = 0.9;

c 2 = 0.9;

c3 = 0. В этом случае мы будем наблюдать периодическое решение порядка 3.

Для сведения данного гибридного автомата к примитивному гибридному автомату введем новые дополнительные переменные состояния b, c, i и ds db dc di = a * s + b;

= 0;

= 0;

= 0 со следующими образуем систему dt dt dt dt начальными условиями s(0) = s0 ;

b(0) = b1 ;

c(0) = c1 ;

i (0) = 1;

и припишем ее единственному узлу примитивного автомата. Построим новый предикат pred := ( s c1 & i = 1) ( s c2 & i = 2) ( s c3 & i = 3), а функцию инициализации выразим в алгоритмической форме i = mod 3 (i + 1);

if i = 1 then s (t + ) = s 0 ;

b(t + ) = b1 ;

c(t + ) = c1 endif * * * Init := if i = 2 then s (t + ) = s 0 ;

b(t + ) = b2 ;

c(t + ) = c 2 endif * * * if i = 3 then s (t + ) = 0;

b(t + ) = b3 ;

c(t + ) = c3 endif * * * i (t + ) = i * Таким образом, у построенного примитивного автомата, основные переменные ведут себя также как и в исходном гибридном автомате.

Обобщение на произвольное число узлов очевидно.

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

2.8 Композиция гибридных автоматов.

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

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

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

Дискретная стратегия применяется во всех современных пакетах, за исключением семейства Model Vision. В семейства Model Vision приняты следующие определения.

Композицией H 1 H 2 двух независимых изолированных примитивных гибридных автоматов H 1 = { f1 (t, s1, s 1 ), g1 (t, s1, s 1 ), S 01, pred1 (t, s 1 ), Inv1 (t, s 1 ), Init1 (t, s1 )} ;

1 2 H 2 = { f 2 (t, s12, s 2 ), g 2 (t, s12, s 2 ), S 02, pred 2 (t, s 2 ), Inv2 (t, s 2 ), Init 2 (t, s 2 )} ;

2 называется автомат с объединенной системой уравнений ds = f1 (t, s1, s 1 ) dt 0 = g1 (t, s1, s 1 );

ds = f 2 (t, s12, s 2 ) dt 0 = g 2 (t, s12, s 2 );

и двумя предикатами, и доопределенными функциями инициализации, в том случае, если предикаты срабатывают не одновременно.

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

Две последовательности 1 и 2 равны, если они равны почленно.

H H H и H Синхронизация двух различных последовательностей 1 заключается в построении новой последовательности 3, по следующему H алгоритму.

Pred1/Init1 Pred2/Init Inv1: Inv2:

Do1: Do2:

Pred1/Init1 Pred2/Init Inv1&2:

Do1&2:

Рис. 19. Композиция двух примитивных автоматов.

Алгоритм синхронизации. Начиная с первых двух несовпадающих 1Hk 2,k H отрезков первой последовательности и второй, последовательности, представляем отрезок с большей длительностью w1 = w(1Hk ), пусть для определенности это будет отрезок первой, последовательности, в виде двух отрезков. Первый отрезок совпадает с отрезком 2,k H второй последовательности, а второй является 1Hk 2,k. 2,k H H разностью Отрезок мы включаем в новую, последовательность 3 с соответствующим номером.

H Дальнейшая работа алгоритма происходит с отрезком, равным разности 1Hk 2,k из первой последовательности и новым 2,k+1 отрезком второй H H, последовательности.

s 1 ( ) s2 ( ) s 3 ( ) 1 2 3 3 Рис. 20. Построение единого гибридного времени 2.9 Открытый примитивный гибридный автомат В рассмотренном изолированном примитивном автомате, все переменные состояния были равноправными. Для того чтобы иметь возможность строить модели из компонентов, в примитивном гибридном автомате H = {w, F ( w), G ( w),W0, pred (t, w(t )), Inv (t, w(t )), Init ( w(t ))}, представим множество переменных w в виде трех непересекающихся w = In Out S In Out S =, и будем называть множеств и элементы x множества In входами, элементы y множества Out выходами, а элементы s множества S - переменными состояния. Запишем уравнения длительных состояний в виде:

ds = f ( s1, s 2, x, t ).

dt 0 = g ( s1, s 2, y, x, t );

s = {s1, s 2,} S ;

x In;

y Out Полученный примитивный автомат назовем открытым примитивным автоматом «вход-выход-состояние».

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

Pred / Init Do: Y X Inv:

Рисунок 21. Примитивный открытый гибридный автомат Два открытых примитивных автомата «вход-выход-состояние» Hio1O и O Hio2 называются объединенными в блок-схему Hio1O Hio2, если хотя бы O один выход или вход одного их них равен входу или выходу другого (связаны между собой). Соответствующие пары переменных называются связными. Не связные переменные называются свободными.

Два открытых примитивных автомата «вход-выход-состояние» Hio1O и O Hio2 называются независимыми, если все их входы и выходы свободны.

Композицией Hio1O Hio O двух независимых примитивных открытых гибридных автоматов «вход-выход-состояние»

Hio1O = {w1, f 1 (t, x1, s1, s 1 ), g 1 (t, x1, y1, s1, s 1 ), 1 2 ;

S 01, pred1 (t, w1 ), Inv1 (t, w1 ), Init1 (t, w1 )} Hio2 = {w2, f 2 (t, x2, s1, s1 ), g 2 (t, x2, y 2, s1, s1 ), O 1 2 ;

S 02, pred 2 (t, w2 ), Inv2 (t, w2 ), Init 2 (t, w2 )} w = {x, y, s} ;

называется примитивный автомат с объединенной системой уравнений ds = f1 (t, s1, s1, x1 ) dt 0 = g1 (t, s1, s1, x1, y1 );

ds = f 2 (t, s12, s2, x2 ) dt 0 = g 2 (t, s12, s2, x2, y 2 );

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

Имея определение композиции, можно очевидным образом построить расширение каждого из автоматов на новое гибридное время 3. Для этого H достаточно доопределить предикат, обеспечивающий построение требуемой временной последовательности и функции инициализации. У исходного автомата и его расширения, траектории, спроецированные на вещественную ось (объединение всех интервалов новой последовательности), совпадают, в тоже время гибридные времена различаются.

2.10 Блок-схемы открытых автоматов.

Образование блок-схем, или связывание открытых гибридных автоматов «вход-выход-состояние» по входам и выходам, определяется следующими правилами.

1. Любой выход может быть связан с любым числом входов.

2. Любой вход можно быть связан только с одним выходом.

Примитивный гибридный автомат «вход-выход-состояние» может быть охвачен обратной связью.

Открытым примитивным автоматом «вход-выход-состояние» с обратной связью H @ называется автомат H @ = {w, f (t, x, s ), g (t, x, s), S 0, pred (t, w), Inv(t, w), Init (t, w)} с новой системой уравнений ds = f ( s1, s 2, x, t ) dt 0 = g ( s1, s 2, y, x, t );

x1 = y1 ;

где - x1 In - вектор связных входов, компоненты которого являются подмножеством множества In, - y1 Out - вектор связных выходов, компоненты которого являются подмножеством Out.

Автомат «вход-выход-состояние» с обратной связью - это тот же примитивный автомат, но в нем изменилось число составляющих во всех трех компонентах вектора w = {x, y, s}, при сохранении суммарной размерности, и к существующей системе алгебро-дифференциальных уравнений добавились уравнения связи.

Композицией Hio1O Hio2 двух открытых примитивных автоматов «вход O выход-состояние» H 1O и H 2O H 1O = {w1, f1 (t, x1, s1, s1 ), g1 (t, s1, s1, x1, y1, ), 1 2 ;

S 01, pred1 (t, w1 ), Inv1 (t, w1 ), Init1 (t, w1 )} H 2 = {w2, f 2 (t, x2, s12, s2 ), g 2 (t, s12, s2, x2, y 2 ), O 2 ;

S 02, pred 2 (t, w2 ), Inv2 (t, w2 ), Init 2 (t, w2 )} называется автомат - с объединенной системой уравнений ds = f1 (t, s1, s1, x1 ) dt 0 = g1 (t, s1, s1, x1, y1 );

ds = f 2 (t, s12, s2, x2 ) dt 0 = g 2 (t, s12, s2, x2, y 2 );

- и новыми уравнениями связи x1 = y12 ;

x12 = y1 ;

где - x1 и x12 - векторы, 1 1 составленные из связных входов первого и второго автоматов, y1 и y12 векторы, составленные из связанных выходов, - двумя предикатами, и новой функцией инициализации, зависящей от трактовки одновременности событий.

Как и в случае примитивных изолированных автоматов, возможны различные трактовки одновременности событий – непрерывная и дискретная. Их различия для гибридных автоматов хорошо видны уже на простейших примерах [8-9].

Рассмотрим функциональную схему двух открытых блоков «вход-выход состояние» B1 и B2, и назовем ее «кольцом», если выход y1 первого блока B1 подан на вход x2 второго блока B2, а его выход y 2, в свою очередь, x подается на вход первого (Рис. 22).

Рис. 22. Блок-схема «кольцо»

Блоки в кольце могут быть непрерывными - C и гибридными - H.

В непрерывном случае модель кольца в виде алгебро-дифференциальных уравнений для блоков C1 и C2, функционирующих в непрерывном времени T = [0, ), естественным образом упорядочивает все состояния в обоих блоках, так как в любой момент времени все переменные совокупной системы однозначно удовлетворяют уравнениям (4).

В чисто дискретном случае, когда блоки кольца представляют собой открытые конечные автоматы D1 и D2, функционирующие в дискретном времени T = {0,1,2...}, алгоритмические операции отдельных блоков, связанные с формированием выходной последовательности, внутри одного такта дискретного времени упорядочиваются произвольным образом, если их порядок не влияет на окончательный результат. Если же порядок влияет на результат, вводят дополнительные правила упорядочивания «одновременных» операций.

ds = f1 ( t, s1, x1 ) dt y1 = g1 ( t, s1, x1 ) ds 2 = f ( t, s, x ) 2 2 2 (4) dt y 2 = g 2 ( t, s 2, x2 ) y1 = x2 ;

y2 = x Таким образом:

- в непрерывном случае одновременность означает, что все переменные в заданной момент времени удовлетворяют совокупной системе уравнений, получающейся объединением уравнений компонент, с учетом связей.

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

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

Рассмотрим два примитивных открытых гибридных автомата H1 и H2 с заданным непрерывным поведением в виде дифференциальных уравнений.

Для простоты рассмотрим линейное дифференциальное уравнение первого порядка для первого автомата H ds = a11 s1 + a12 x dt y1 = d11 s1 + d12 x и аналогичное уравнение припишем второму автомату H ds = a21 s2 + a22 x dt y 2 = d 21s2 + d 22 x2.

Пусть каждый автомат начинает движение с одного и того же начального значения si (0) = s 0 и, при достижении одного и того же заданного значения s i (t*) = c в момент времени t *, вновь возвращается в исходное состояние:

Init1 : post ( s1 (t*)) s1 (t + ) = s0 ;

* pre( s1 (t*)) s1 (t + ) = c;

*, Init 2 : post ( s 2 (t*)) s 2 (t + ) = s0 ;

* pre( s 2 (t*)) s 2 (t + ) = c;

* где t * - это любая точка смены поведения или точка переключения.

Автоматы H1 и H2, рассмотренные отдельно, периодически повторяют свое поведение первого такта гибридного времени 1 = (Pr e _ gap1,[0, t ], gap1 ) :

* * на отрезке [0, t ] интегрируется дифференциальное уравнение, затем во «временной щели» gap вычисляются новые начальные условия Initi : post ( si (t*)) = s0 (Рис. 23).

Теперь, свяжем автоматы в кольцо, дополнив совокупную систему уравнениями связи y1 = x2 ;

y 2 = x1, и положим в автоматах H1 и H значения коэффициентов aij равными a11 = a21 = 1;

a12 = a22 = 0, что обеспечит одинаковые значения переменных состояния s1 и s 2 в любой момент времени независимо от входов. Выберем коэффициенты d ij :

d11 = d 21 = d 22 = 1;

d12 = 1 так, чтобы уравнения связи y1 = x2 ;

y 2 = x или x1 + x2 = s1 (t ) x1 x2 = s2 (t ) имели бы решение x1 = s1 (t );

x2 = 0.

Сохраним мгновенные действия такими, какими они были при независимой работе автоматов:

post ( s1 (t*)) = s0 ;

post ( s2 (t*)) = s0.

Рис. 23 Периодическое поведение независимых автоматов Оба блока хоть и связаны в кольцо, но при выбранных значениях коэффициентов входы влияют только на значения выходных переменных, а переменные состояний s1 и s2 не зависят друг от друга. Достижение состояний s 1 = c и s 2 = c происходило бы одновременно, если бы мы рассматривали один автомат с совокупной системой уравнений и предикатом s1 (t * ) = c OR s 2 (t * ) = c.

Рассмотрим, как одновременность реализуется во «временной щели»

gap1 «гибридного кольца». С точки зрения дискретного подхода в кольце event _ 1 : s1 (t*) = c возникает два события: в первом автомате, и event _ 2 : s 2 (t*) = c во втором. Предположим, что сначала было обнаружено событие event _ 1, при этом выполнились мгновенные действия на переходе первого автомата - post ( s1 (t*)) = s0, и осталось без изменения значение переменной s 2 : pre( s 2 (t*)) = c во втором автомате, а затем event _ 2 - и изменилось значение второй переменной post ( s 2 (t*)) = s0. Очевидно, что последовательность событий и последовательность связанных с ними действий в данном случае не имеет никакого значения для переменных s1 и s 2.

В тоже время значения входов и выходов уже зависит от порядка обработки событий, приводящих к смене поведения (Таблицы 3,4).

Таблицы 3- EVENT_1, EVENT_2 EVENT_2, EVENT_ s1 s2 x1 x2 s1 s2 x1 x time time * * t t c c c 0 c c c Gap_1 Gap_ s s c c 0 c c c s c + s c + s0 c s0 * t+ * t+ s0 c s0 c 2 c s c + s s0 s c + s0 c s0 Gap_ Gap_ s0 s0 2 t +* * t +* * s0 s0 s0 s0 s0 s0 Совсем другая ситуация возникает, если мгновенные действия зависят от значений входных переменных:

post ( s1 (t * )) = pre( s1 (t * )) + pre( x1 (t * )) + p (5) post ( s 2 (t * )) = pre( s2 (t * )) + pre( x2 (t * )) + p где p1, p 2 - произвольные константы.

Выберем теперь константы p1, p 2 в (3) таким образом p1 = s 0 2c, p 2 = s 0 c, чтобы pre( s1 (t * )) + pre( x1 (t * )) + p1 = s (6) pre( s 2 (t * )) + pre( x2 (t * )) + p2 = s Казалось бы, следует ожидать что и post ( s1 (t * )) = s0 ;

post ( s2 (t * )) = s0.

Однако напомним, что с точки зрения дискретного подхода, в кольце event _ 1 : s1 (t*) = c возникает два события: в первом автомате, и event _ 2 : s 2 (t*) = c во втором. Каждое из них порождает инициализацию начальных условий и вычисление новых значений связей, но теперь связи влияют на новые начальные значения. И мы уже больше не будем наблюдать периодического движения.

В таблицах (Таблицы 5,6) мы видим не только отсутствие периодического поведения, но зависимость поведения от последовательности обработки событий, приводящих к смене поведения.

Таблицы 5- EVENT_1, EVENT_2 EVENT_2, EVENT_ s1 s2 x1 x2 s1 s2 x1 x time time c c c 0 c c c * * t t Gap_1 Gap_ s0 s c c 0 c c * * t+ t+ c s c + s0 c + s0 s0 c s0 s c c 2 2 Gap_ Gap_2 3s 0 c c + s0 s0 c 3s0 c c s c + s s0 s 2 2 2 2 t +* * t +* * 3s 0 c 5s 0 c c s 3s 0 c c s0 s 5s0 c s 2 2 2 2 Работа автоматов с дискретной схемой синхронизации может быть представлена следующим алгоритмом.

Алгоритм_D работы функциональной схемы из двух примитивных автоматов с традиционной дискретной синхронизацией одновременных событий.

Начало Алгоритма_D 1. Инициализация.

Начинается первый промежуток t0 = * post ( sk (t 0 )) := pre( s k (t 0 )) := sk 0 ;

* * post ( xk (t 0 )) := pre( xk (t 0 )) := xk 0 ;

* * post ( y k (t 0 )) := pre( y k (t 0 )) := y k * * k = 1, здесь - y k 0 или согласованное начальное условие, либо только начальное приближение к нему.

2. Pr e _ gapi : Вычисление новых согласованных начальных условий и проверка предиката.

i := i + 1;

Решаем уравнения 0 = g k (t i*1, post ( s k (t i*1 )), post ( xk (t i*1 )), post ( y k (t i*1 ))) k = 1,2;

дополненные уравнениями связи post ( x1 (t i*1 )) = post ( y 2 (t i*1 ));

post ( x 2 (t i*1 )) = post ( y1 (t i*1 ));

относительно post ( y k (t i*1 )) с начальным приближением pre( y k (t i*1 )).

Аварийный выход: не смогли найти согласованные начальные условия.

Вычисляем последовательно предикаты на левом конце текущего промежутка, например, в порядке номеров автоматов pred k ( post ( s (t i*1 )), post ( x(t i*1 )), post ( y (t i*1 ));

k = 1, и если хотя бы один предикат стал истинен pred k ( post ( s(t i*1 )), post ( x(t i*1 )), post ( y (t i*1 )) = true, то завершается текущий интервал гибридного времени i t i* := ti* pre( s k (t i* )) := post ( s k (t i* ));

pre( xk (t i* )) := post ( xk (t i* ));

pre( y k (t i* )) := post ( y k (t i* ));

переходим к 4.



Pages:     | 1 || 3 | 4 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

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