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

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

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


Pages:     | 1 |   ...   | 5 | 6 || 8 | 9 |

«Е.А. Новиков, Ю.В. Шорников КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ ЖЕСТКИХ ГИБРИДНЫХ СИСТЕМ Е.А. Новиков, Ю.В. Шорников КОМПЬЮТЕРНОЕ ...»

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

|| || – некоторая норма в R N. Для контроля точности вычислений и при выборе длины шага интегрирования будем использовать соответственно неравенства An, An. (11.5) В силу того, что интервал устойчивости схемы (10.3), (11.4) при мерно в 20 раз шире, чем (10.3), (11.3), при переходе с (11.2), (11.3) на (11.3), (11.4) шаг интегрирования может быть увеличен в 20 раз. Это приводит к нарушению неравенства (11.5), и шаг может быть умень шен до такой величины, что осуществляется обратный переход на 11.4. Инструментально-ориентированный анализ режимов повышенной жесткости формулу (11.2), (11.3). Чтобы избежать таких неоправданных перехо дов, включим в состав алгоритма промежуточную схему второго по рядка. Для этого нужно в численную формулу (11.2) подставить сле дующие коэффициенты:

p1 = 0,3840273026 3584 100, p2 = 0, 2898344425 0334 100, p3 = +0,10619634532176 10+1, (11.6) p4 = 0,3667332691 3333 101, p5 = 0, 4650494698 7375 102, p6 = 0, 2065747002 8730 103.

Интервал устойчивости (11.2) с параметрами (11.6) равен примерно 28,5. Для контроля точности можно применять неравенства dAn, dAn, где d 0, 24. Адаптивный алгоритм DISPF пере менного порядка и шага описан в главе 5.

11.4. ИНСТРУМЕНТАЛЬНО-ОРИЕНТИРОВАННЫЙ АНАЛИЗ РЕЖИМОВ ПОВЫШЕННОЙ ЖЕСТКОСТИ Рассмотрим работу алгоритма DISPF1_RADAU5 с режимом гибридной системы, заданного уравнениями Ван-дер-Поля. Для тести рования алгоритма выберем значения варьируемого параметра жестко сти eps1 = 3 102, eps2 = 3 103, eps3 = 3 104, eps4 = 3 105 и eps5 = 3 106. С уменьшением значения eps увеличивается жесткость системы. Расчеты проводились с точностью = 106 на интервале t [ 0, 10]. Результаты численного эксперимента представлены в табл. 11.1, где приведены количество шагов isa, вычисления правой части ifu, возвраты ivo вследствие невыполнения точности расчетов и затраченное время tsec.

В первом случае при eps1 = 3 102 жесткость режима мала и пере ключение на неявный метод не происходит. В четвертом случае при Г л а в а 11. АДАПТИВНЫЙ МЕТОД ИССЛЕДОВАНИЯ ГИБРИДНЫХ СИСТЕМ eps4 = 3 105 жесткость велика и обратного переключения на метод DISPF1 не происходит. Случай eps5 = 3 106 для явных методов слишком жесткий. Адаптивный алгоритм позволяет отследить подоб ную ситуацию и передать управление неявному методу RADAU5. Во втором и третьем случаях RADAU5 работает только на «жестких» уча стках, что наглядно иллюстрируется на рис. 11.3, где средствами гра фического интерпретатора масштабирован участок переключения.

Т а б л и ц а 11. Результаты расчета с различной степенью жесткости DISPF1 DISPF1_RADAU eps isa ivo isa ivo ifu tsec ifu tsec 2328 21180 1441 0,09 2328 21180 1441 0, eps 6450 46262 1511 0,2 6091 45995 1400 0, eps 22644 149951 2816 0,8 18693 134912 2410 0, eps 144339 882951 3382 4,8 6633 70956 1 0, eps – – – – 7913 84370 1 0, eps Рис. 11.3. Результаты моделирования c точками прямого (на RADAU5) и обратного (на DISPF1) переключения 11.

4. Инструментально-ориентированный анализ режимов повышенной жесткости Сравнительный анализ эффективности DISPF1_RADAU5 с ориги нальным методом DISPF и известными явными методами STEKS [135] и MERSON [312] для режима ГС в виде уравнения Ван-дер-Поля с па раметрами eps2 = 3 103 приведен в табл. 11.2. Как видно, наиболее эффективным методом по числу шагов является RADAU5, однако на вычисление 3850 шагов у метода ушло примерно столько же времени, сколько у DISPF ушло на 6565 шагов и 4700 возвратов. Отсюда следу ет, что метод RADAU5 тратит на вычисление одного шага примерно в 3 раза больше времени, чем метод DISPF. Метод DISPF1_RADAU с обратным переключением улучшает результат метода DISPF, во время моделирования происходят 22 переключения. Несмотря на улучшение результата по количеству шагов, незначительно ухудшается показатель времени. Так как основное время работает алгоритм DISPF1, то можно сделать вывод, что переключение между методами не приводит к ощу тимым временным потерям.

Т а б л и ц а 11. Эффективность DISPF1_RADAU Характеристика DISPF RADAU5 DISPF1_RADAU STEKS MERSON isa 6565 3850 5704 387 12919 ivo 4685 0 1075 325 136 tsec 0,282 0,25 0,296 0,266 0,359 0, Рассмотрим еще один пример существенно жесткого режима гиб ридной системы, заданного следующими уравнениями:

y1 = 1800 y1 + 900 y2, y2 = y1 0, 2 y2 + y3, y3 = y2 0.2 y3 + y4, y4 = y3 0, 2 y4 + y5, y5 = y4 0.2 y5 + y6, y6 = y5 0, 2 y6 + y7, y7 = y6 0.2 y7 + y8, y8 = y7 0, 2 y8 + y9, y9 = 1000 y8 2000 y9 + 1000, y1 (0) = y2 (0) =... = y9 (0).

Ввиду повышенной жесткости решение задачи за приемлемое ко личество шагов можно получить при использовании методов RADAU Г л а в а 11. АДАПТИВНЫЙ МЕТОД ИССЛЕДОВАНИЯ ГИБРИДНЫХ СИСТЕМ и адаптивного метода DISPF1_RADAU. Графическая интерпретация результата дана на рис. 11.4, где отмечена точка перехода на неявный метод. При решении этой задачи явными методами число шагов и воз вратов на полуинтервале t [11, 20] резко увеличивается, что связано с ярко выраженной жесткостью. Применение явных схем к этой задаче на заданном полуинтервале времени не эффективно. Однако при ис следовании решения на интервале времени t [0,11] предпочтительней оказывается явная схема.

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

Г л а в а ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Р ассмотрены визуальное и символьное представления матема тических моделей гибридных систем. В инструментальной среде в качестве визуального языка используются структурные схемы и диаграммы Харела, а также некоторые другие представления. Струк турные схемы являются традиционным графическим языком представ ления моделей динамических систем. Спецификация непрерывного поведения структурных моделей позволяет эффективно организовать активный вычислительный эксперимент, что весьма важно при отладке моделей и параметрической верификации. Диаграммы Харела исполь зуются как наглядный и простой графический язык описания дискрет ного поведения практически во всех современных инструментальных средствах. Однако для гибридных систем только визуальное представ ление не может быть достаточным ввиду множества режимов с непре рывным поведением, соответствующих в общем случае множеству структурных схем или системам дифференциально-алгебраических уравнений, функционирование которых происходит при наступлении дискретных событий. Поэтому в программном обеспечении (ПО) не обходимо предусмотреть символьный блок, который в свою очередь может выступать не только как типовой примитив, но и как самостоя тельная программная единица с символьным наполнением, характери зующим дискретные переходы в гибридной системе и, при необходи мости, само непрерывное поведение.

12.1. ВИЗУАЛЬНЫЕ КОМПЬЮТЕРНЫЕ МОДЕЛИ Визуальное структурирование ГС отвечает традиционным требо ваниям описания, принятого в инженерной практике для представле ния и анализа непрерывных систем (автоматика, электромеханика, энергетика и др.), что отчасти позволяет воспользоваться богатым ар сеналом методов для анализа локальных поведений гибридных систем.

Композиция визуальной программной модели осуществляется через структурное редактирование. Структуры редактируются из набора Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ функциональных модулей или типовых примитивов на экране монито ра средствами встроенного графического редактора. Дальнейший ана лиз осуществляется интерпретатором схем. Ниже рассмотрены особенности проектирования визуальных программных моделей из структурных блоков.

Макроопределения Библиотека примитивов для композиции структур может быть рас ширена пользователем благодаря наличию макросредств с неограничен ной вложенностью, которые компонуются им из набора библиотечных программ, а затем сохраняются как новый модуль. В качестве иллюст рации рассмотрим визуальное представление структуры асинхронного двигателя в синхронно вращающихся осях [79, 80]. Введем обозначения:

isx = sx Lr rx L, sy Lr ry L, isy = rx Ls sx L, irx = is = isx sin 1t + isy sin(1t ), ir = irx sin s1t + iry sin( s1t ), где Ls L, iry = ry Ls sy L, = s = (1 r ).

1 L Lr Тогда полная система дифференциальных уравнений асинхронного двигателя в синхронно вращающихся осях может быть записана в виде d sx = U sx + 1 sy Rs isx ( sx, rx ), dt d sy ( ) = U sy 1 sx Rs isy sy, ry, dt 12.1. Визуальные компьютерные модели d rx = s1 ry Rr isy ( sx, rx ), dt d ry ( ) = s1 rx Rr isy sy, ry, dt L d r rx sy sx ry M с.

= T Tj dt j Структура двигателя и макроструктура блока угловой скорости представлены на рис. 12.1.

Рис. 12.1. Структура асинхронного двигателя и структура макроблока угловой скорости Wp Затемненные блоки соответствуют внешним структурным блокам, которые при композиции структуры макросредствами соединяются с внутренними блоками необходимыми связями.

Импорт данных Многие пользователи подготавливают и хранят данные в файлах внешних приложений, например MS Office Excel. Это связано в пер вую очередь с удобством представления и обработки данных. Импорт массива точек из MS Excel осуществляется через интерфейс нелиней ного блока, что позволяет свободно манипулировать исходными дан ными. В качестве иллюстрации импорта данных рассмотрим задачу моделирования тягового электропривода электропогрузчика (cтрук турная схема представлена на рис. 12.2).

Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Рис. 12.2. Структурная схема тягового электропривода Нелинейный блок f ( x), расположенный в нижней части схемы, реализует изменение момента двигателя (рис. 12.3). Изменения носят случайный характер и регистрируются с помощью специальной аппара туры. После обработки данных в MS Excel нужно ввести в нелинейную функцию модели массив из 5000 точек. Благодаря функции импорта в нелинейный блок массив экспериментальных точек из внешнего прило жения (MS Excel) введен автоматически как последовательность значе ний динамики момента двигателя (рис. 12.3). Полученные в результате вычислительных экспериментов переходные процессы с импортирован ными данными, введенными в структурную схему тягового электропри вода, приведены на рис. 12.4.

Рис. 12.3. Изменение момента двигателя во времени 12.1. Визуальные компьютерные модели Рис. 12.4. Переходные процессы двигателя электропогрузчика Диаграммы Харела С учетом (9.5) условия пребывания ГС в локальном состоянии с поведением ci определяются логическим предикатом pri : g (t, xi ) 0.

До тех пор, пока pri = true, гибридная система не меняет поведения.

Соответственно, выход из текущего i-го состояния в новое j-е с новым непрерывным поведением c j, j = 1, m, определяется отрицанием pri : g (t, xi ) 0. Тогда условия перехода из локального состояния i в состояние j будут определяться новым предикатом:

{} prk = pri pr j ;

i, j 1, m, 1 k m 2. (12.1) По аналогии с теорией графов пару поведений (ci, c j ) будем назы вать смежными поведениями ГС, если для них prk = true, 1 k m 2.

Если рассматривать непустое множество поведений C как вершины, а непустое множество предикатов P = { prk, k = 1, 2,...} как множество ориентированных дуг, соединяющих смежные вершины (ci, c j ), то орграф G (C, P ) называется диаграммой Харела.

Множество предикатов P = { prk, k = 1, 6} для представленной на рис. 9.10 гибридной системы двух баков определяется условиями:

Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ pr1 : TIME 0, pr2 : TIME TIME 1, pr3 : TIME TIME 2, pr4 : h2 Lplus, pr5 : h2 Lminus, pr6 : h2 Lplus.

Соответствующий орграф, или диаграмма Харела, приведена на рис. 12.5.

Рис. 12.5. Орграф задачи двух баков (диаграмма Харела) 12.2. СИМВОЛЬНЫЕ КОМПЬЮТЕРНЫЕ МОДЕЛИ Традиционное программирование в виде текстов программ на входном языке, отражающем математические модели и алгоритмы, принято называть символьными компьютерными или символьными программными моделями. Текстовая или символьная спецификация используется во всех программных моделях ГС при любом формализ ме и отражает семантику режимов гибридных систем и механизм дис кретных переходов.

Спецификация дискретного поведения В отличие от непрерывной спецификации, для дискретного пове дения ГС спецификация отражает мгновенные дискретные переходы из одного локального состояния в другое и P(h2) 0,001 представима в виде символьных программ ных моделей на специализированном языке.

Рассмотрим основные конструктивные осо бенности дискретной спецификации про граммных моделей на специализированном h языке LISMA для типичного примера гибрид ной модели системы двух баков, представлен 0,1 0, ной на рис. 9.12.

Рис. 12.6. Зависимость Насос P управляется таким образом, что входного потока от бы удерживать уровень жидкости h2 между уровня h 12.2. Символьные компьютерные модели в н двумя заданными значениями h2 = 0,1 и h2 = 0,2 (рис. 12.6). Поток Q p может принимать при этом два значения – Q p = 0 и Q p = Q0 = 0,001.

Соответствующий фрагмент программной модели для переключе ния потока с использованием конструкции if-then-endif имеет вид Состояние вентиля V4 управляется событиями e1 и e2, при насту плении которых V4 соответственно открывается ( t 240 ) или закры вается ( t 380 ).

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

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

В зависимости от уровня жидкости в первом резервуаре рассмат риваемой задачи о двух баках в системе возможны два локальных Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ состояния. Общепринятый подход гибридных автоматов при специфи кации моделей ГС реализуется путем использования языковых конст рукций «Состояние». Фрагмент компьютерной модели, реализующий гибридную составляющую системы на языке LISMA, имеет вид Модель конструктивно реализована состояниями st1 и st 2 с усло виями пребывания гибридной системы в этих состояниях. Действия, указанные после ключевого слова is и оператора from, характеризуют множество смежных состояний. Структура программной модели в об щем виде без использования условных операторов if-then-endif может быть представлена в виде s1 [ pr1 ] is c1;

from S1;

... sm [ prm ] is cm ;

from Sm, где m – число режимов гибридной системы;

s = {s0, s1,…, sm } – мно жество идентификаторов режимов, включая начальный s0 ;

ck, 1 k m, – множество режимов вида (9.4);

prk,1 k m, – множество предикатов, определенных в (12.1);

Si ( s ), 1 i m, – подмноже ство смежных состояний ГС, причем не исключен случай, когда таких состояний нет и тогда Si =. Грамматика предиката prk : g k (t, x k ) 0, g k : R R nk R sk, k = 1, m, перехода в состояние соответствует грамматике логического выраже ния.

Спецификация непрерывного поведения Рассмотрим ГС, локальное поведение которой представлено систе мой ОДУ вида (9.4), и будем рассматривать режим ГС, где ограниче ние на событийную функцию выполняется. Тогда необходимо специ фицировать ОДУ, заданных в обычной форме Коши. Правая часть уравнения является арифметическим выражением. Пример записи сис темы дифференциальных уравнений Лоренца 12.2. Символьные компьютерные модели x1 = s ( x2 x1 ), x2 = rx1 x2 x1 x3, x3 = x1 x2 bx3, x1 (0) = x2 (0) = x3 (0) = на языке LISMA при s = 10, r = 28 и b = 2,66667 имеет естественный вид который с точностью до знаков операций совпадает с принятой мате матической формой Коши.

Левая часть алгебраических уравнений специфицируется иденти фикатором алгебраической переменной со знаком «~», который позво ляет семантическому анализатору распознать вектор алгебраических переменных, не входящих в состав фазовых переменных. Сегмент про граммной модели для приведенного примера 9.3 с отрывающимся ма ятником в режиме колебаний специфицируется следующим кодом в соответствии с (9.8), т. е.

В режиме полета локальное поведение представляется новой сис темой дифференциально-алгебраических уравнений в соответствии с (9.9), т. е.

На семантическом уровне при описании правых частей ДАУ вызо вы функций разделяются на классы: встроенные библиотечные функ ции с уникальными именами (exp( x), sin( x), cos( x), arcsin( x), Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ arccos( x), lg( x), ln( x), pow( x) и др.) и макрофункции с пользователь скими именами, отличными от идентификаторов имен библиотечных функций.

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

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

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

Макроопределения символьного описания Часто повторяющиеся фрагменты систем дифференциальных урав нений и алгебраических выражений можно оформить в виде компакт ного отдельного описания – макроса. Макросы могут быть описаны в любом месте программы. Ключевое слово macro определяет задание макроса. Список параметров в соответствии с грамматикой макроса может умалчиваться. Вычисляя арифметическое выражение, программа возвращает макроопределению значение этого выражения. Определение и пример вызова макроса приведены на рис. 12.7, где представлена 12.2. Символьные компьютерные модели часть описания ключа на МДП-транзисторе. Показано описание четы рех макросов C 22, C12, Is и M. В макросе Is используется макрос M, причем вызов макроса M происходит до его описания. Уровень вложенности не имеет ограничений.

Рис. 12.7. Задание макросов на примере полевого транзистора КП913А Для иллюстрации задания макросов без параметров вновь обратим ся к задаче о двух баках. Для описания потоков Q1, Q2, Q3 и Q4 в соответствии с (9.14) будем также учитывать направление потоков Q и Q3. Теперь (9.14) с учетом направления движения потоков примет вид Q1 = A1 2qh1, ( ) Q2 = sign(h1 h2 ) A2 2q h1 h2, Q3 = sign(h1 0,5) ( A3 2q h1 0,5 ), Q4 = A4 2qh2, Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ где 1, x 0, sign( x) = 1, x 0.

Фрагмент определения макросов программной символьной модели двух баков на языке LISMA с точностью до знаков операций повторяет математическую модель:

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

Перейдем от математической модели, заданной системой уравнений в двух состояниях c1 и c2 следующего вида:

c1 : ( x1 = x2 ) and (v1 v2 ), a1 = ( k1n1 + k2 n2 x1 ( k1 + k2 ) ) ( m1 + m2 ), dv1 dt = ( k1n1 + k2 n2 x1 ( k1 + k2 ) ) ( m1 + m2 ), dx1 dt = v1, a2 = ( k1n1 + k2 n2 x1 ( k1 + k2 ) ) ( m1 + m2 ), dv2 dt = ( k1n1 + k2 n2 x1 ( k1 + k2 ) ) ( m1 + m2 ), dx2 dt = v2, d ( stickiness ) / dt = stickiness, ( ) c2 : sticknessabs ( k1 n1 k2 n2 x1 ( k1 k2 ) ), dx1 dt = v1, dv1 dt = k1 ( n1 x1 ) m1, 12.2. Символьные компьютерные модели a1 = k1 ( n1 x1 ) m1, dx2 dt = v2, dv2 dt = k2 ( n2 x2 ) m2, a2 = k2 ( n2 x2 ) m2, к символьной программной модели, отредактированной в интерфейсе текстового редактора системы:

Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Отметим, что представленная модель имеет эквивалентное описа ние с системами MVS и Simulink/Stateflow как синтаксически условное представление модели в части условных операторов перехода в ло кальные состояния, так и семантическое представление. Разница со стоит лишь в том, что все описание собрано в единый символьный ин терфейс и этим решается задача компактного представления программной модели.

Алгоритмическое определение правой части Пусть режим гибридной системы задан системой ОДУ dy = f ( t, y, j ), y R 2N, (12.2) dt с начальными условиями y ( 0 ) = (0, v0, 0, v0,..., 0, v0 )T, (12.3) для которых все нечетные элементы вектора фазовых переменных y2 j 1 = 0, а четные – имеют фиксированные значения y2 j = v0, 1 j 2 N. Правую часть в (12.2) определим в виде y2 j +1 y2 j 3 y2 j 3 2 y2 j 1 + y2 j + f 2 j 1 = j +j ky2 j 1 y2 j, 2 ( ) f 2 j = ky2 j y2 j 1, (12.4) j = 2 ( j 1) c2, 1 j 2 N.

В результате имеем параметрическую задачу Коши, в которой пара метром является индекс фазовых переменных 1 j 2 N. Редактиро вание программной модели такого режима ГС при малых значениях N не вызывает затруднений и может быть произведено обычным обра зом. При значении N 1 простое редактирование программной моде ли становится не просто неэффективным, а в некоторых случаях, при высокой размерности задачи, вообще невозможным. Поэтому в языке спецификации символьных программных моделей предусмотрена воз можность алгоритмической композиции правой части. Очевидно, что 12.2. Символьные компьютерные модели для программной реализации (12.2)–(12.4) требуются циклические процедуры. В LISMA параметрами процедур являются простые иден тификаторы переменных, изменение значений которых указывается в операторе присваивания. Например, если параметрами циклов являют ся переменные i = 1, 200 и j = 2, 199, то в программной модели они и задаются в виде операторов присваивания:

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

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

и отредактирован в текстовом редакторе в соответствии с (12.3). Алго ритм определения правой части рассмотренной задачи реализован фрагментом программной модели:

в соответствии с (12.4), где параметры j и j программно реализу ются в виде макросредств:

так, что описание правой части (12.4) рассмотрено при = 1 / N.

Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ 12.3. СТРУКТУРНО-СИМВОЛЬНЫЕ КОМПЬЮТЕРНЫЕ МОДЕЛИ Структурно-символьная спецификация (ССС) использует струк турный и символьный подходы при описании гибридных систем. Та кой формализм оправдан в тех случаях, когда организация событий в событийно-управляемых системах может быть эффективно представ лена в виде нелинейных блоков, а непрерывное поведение удобнее и проще представлять символьной спецификацией. Разница с принятым в современных инструментальных средствах формализмом диаграмм Харела состоит лишь в визуализации дискретных переходов в отличие от структур, а непрерывное поведение описывается также символьной моделью.

Программная модель событийно-непрерывной системы Обратимся еще раз к событийно-непрерывной системе двух баков, рассмотренной ранее. Представим эту систему в виде ССС. Функции p1 и p2 можно описать следующим образом. В начальный момент времени t = 0 оба крана закрыты, т. е. p1 = 80 и p2 = 80. Если на вход подать сигнал T1 = 1 ( T2 = 1 ), то p1 ( p2 ) за 80 с равномерно умень шается до 0 и кран открыт полностью. Если на вход подать сигнал T1 = +1 ( T2 = +1 ), то p1 ( p2 ) пропорционально возрастает до значения, равного 80. Если T1 = T2 = 0, то p1 и p2 не меняют своего значения.

При этом p1 = f (T1, t ), а p2 = f (T2, O, t ).

Структурно-символьная модель, соответствующая (9.10)–(9.13), полученная графическим редактором, показана на рис. 12.8.

Для реализации функций p1 = f (T1, t ) и p2 = f (T2, O, t ) использо ваны интеграторы со сбросом, которые имеют следующее математиче ское описание. Пусть y+, y y+, + + y+ y y, y = g (t )dt, g (t )dt = g (t )dt, y, y y.

12.3. Структурно-символьные компьютерные модели Рис. 12.8. Структурно-символьное описание задачи о двух баках Если положить верхний и нижний пределы сброса интегратора соот ветственно y + = 80 и y = 0 по условию, то структурная организация p1 = f (T1, t ) и p2 = f (T2, O, t ) будет иметь вид, показанный на рис. 12.8.

В символьном блоке TXT реализовано описание системы уравне ний (9.10)–(9.13) с введенными бинарными компонентами. В качестве выходных переменных используются уровни h1 и h2, а программный сегмент представлен кодом на языке LISMA в таком виде:

Программная модель событийно-управляемой системы Структура программной модели событийно-управляемой гибрид ной системы двух резервуаров (рис. 9.12) представлена на рис. 12.9.

Рис. 12.9. Структурная схема модели двух резервуаров Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ События e1 и e2 реализуются с использованием блока нелинейной функции, как показано на рис. 12.10.

Рис. 12.10. Нелинейная функция событий Фрагмент символьного блока с непрерывной динамикой потоков Q1, Q2, Q3 и Q4, переходами из локальных состояний st1, st 2 и управлением входного потока Q p представлен на рис. 12.11 в интер фейсе символьного редактора.

Рис. 12.11. Интерфейс символьного блока с фрагментом програм мной модели событийно-управляемой ГС двух баков (hv3 = 0,5) 12.4. Реализация компьютерных моделей 12.4. РЕАЛИЗАЦИЯ КОМПЬЮТЕРНЫХ МОДЕЛЕЙ Компьютерный анализ визуальных структурно-символьных про граммных моделей ГС основан на объектно-ориентированной техноло гии. Выбранная архитектура приложения позволяет пользователю са мостоятельно расширять функциональные возможности системы.

В современных системах расширяемость – это один из самых важных аспектов при разработке и анализе сложных систем в окружении инст рументально-ориентированных средств. Последняя версия программ ного комплекса характеризуется следующими основными аспектами:

• интуитивно понятный интерфейс;

• наличие API для расширения системы путем добавления новых типовых блоков и численных методов без перекомпиляции всей систе мы в целом;

• поддержка символьных моделей на языке LISMA;

• возможность интерактивного контроля процесса моделирования в активном вычислительном эксперименте;

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

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

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

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

Библиотека элементов – внешняя база подключаемых системных библиотек (dll). Каждая библиотека содержит описание и реализацию определенного набора типовых примитивов. Загрузчик библиотек – программный интерфейс, реализующий поиск и непосредственное подключение к системе библиотек, содержащих реализацию примити вов. Библиотека численных методов (dll) содержит реализацию тради ционных и оригинальных численных схем с контролем устойчивости Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ переменного порядка и шага, рассмотренных ранее. Загрузчик числен ных методов – программный интерфейс, реализующий интерактивное подключение методов. Интерпретатор LISMA – программный модуль, реализующий функции лексического, синтаксического и семантиче ского анализа текста модели, описанной на входном языке. Результа том работы данного модуля являются таблицы переменных, макросов, состояний и глобальных условий, а также матрица переходов. Генера тор модели LISMA – программный модуль, реализующий генерацию программы на C++ на основе результата работы интерпретатора в виде совокупности правых частей дифференциально-алгебраических урав нений локальных состояний. Сгенерированный код компилируется в dll-модуль и подгружается к системе на время выполнения совокупной модели.

Рис. 12.12. Архитектура программного комплекса Процессор структурных схем реализует следующие функции:

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

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

12.4. Реализация компьютерных моделей Анализ символьных программных моделей Выделенный фрагмент на рис. 12.12 отображает работы препроцес сора исходной модели на языке LISMA в исполняемую модель (рис. 12.13).

Программа Упорядоченная Программная Исполняемая на LISMA структура модель на C++ модель в виде dll Интерпретатор LISMA Генератор модели LISMA Рис. 12.13. Структура препроцессора В результате интерпретации символьной модели генерируется промежуточная форма программной модели в виде упорядоченной структуры данных, которая включает: таблицу функций (правых час тей АДУ), таблицу символов (фазовых, алгебраических и булевых пе ременных), таблицу дискретного поведения ГС или таблицу пере ходов.

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

Лексический анализ. На этапе лексического анализа происходит обычная процедура «очистки мусора» и формирование таблицы сим волов при анализе лексем символьной программы. На понятиях РВ и регулярных определений построен язык спецификаций генератора лек сических анализаторов LEX и многие конструкции ОС UNIX. Все шаблоны, где нет сбалансированных конструкций, могут легко пред ставляться регулярными выражениями. На этапе лексического анализа, как и в сканере LEX, DT и LT соответствуют классу цифр и букв ла тинского алфавита и записываются соответственно DT [0 9] и LT [ A Z, a z ]. Регулярное выражение числовых констант языка представляется в виде R1 = DT + (.DT + )?( E ( + | )? DT + )?.

Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Регулярное выражение R1 порождает язык числовых констант экспо ненциального типа { } L( R1 ) = DT +, DT +.DT +, DT +.DT + E ( + ) DT + ….

Регулярное выражение R2 = LT ( LT | DT )+ порождает язык идентифика торов. Остальные регулярные выражения тривиальны. Анализ регу лярных выражений осуществляется конечным детерминированным автоматом D = {S,,, s0, F }, причем в каждом его состоянии s S функции переходов ( s, c), c, содержится не более одного состоя ния, т. е. выполняется условие c, s S : ( s, c) = {r}, r S, или c, s S : ( s, c) = 0.

Приведем алгоритм моделирования D- на С-подобном псевдокоде, в котором string – входная строка, завершаемая символом конца файла EOF;

s0 S – стартовое состояние;

F – множество заключительных состояний автомата;

функция move( s, c) – возвращает состояние, в ко торое переходит автомат при очередном входном символе c.

Алгоритм 12. void D() { s = s0;

/*стартовое состояние*/ с = getchar(string);

while(c != EOF) { s = move(s, c);

/*переход в новое состояние*/ с = getchar(string);

} if (sF) return (true);

/*переход в заключительное состояние*/ else return (false);

} 12.4. Реализация компьютерных моделей Синтаксический анализ. Основной конструкцией порождающей грамматики языка LISMA является арифметическое выражение, кото рое используется для спецификации правой части символьной про граммной модели дифференциально-алгебраических уравнений и мак росредств. Грамматика арифметических выражений G[EA] языка LISMA задана продукциями EA E # E T |E +T |E T T O |T * O |T / O O a |b|c | (E) Здесь a, b, c – соответственно идентификаторы переменных, числовые константы и идентификаторы макросов. Очевидно, что G[ EA ] по рождает языки типа LL и LR, простого предшествования одновре менно и является однозначной. Приведем G[ EA ] к виду LL(1). При этом попытаемся найти такую грамматику G1[ EA ], которая, с од ной стороны, будет удовлетворять требованиям LL(1)-грамматик, с дру гой – она должна быть эквивалентна исходной G[ EA ]. Приведем эквивалентную грамматику G1[ EA ] со следующими продукциями:

EA E # E TA A | + TA | TA T OB B |* OB | / OB O a | b | c |( E ) Отметим, что G1[ EA ] отвечает условиям LL(1)-грамматик. Лег ко убедиться в том, что грамматика G1[ EA ] порождает тот же язык, что и G[ EA ]. Не нарушая общности, преобразуем грамматику G1[ EA ] в эквивалентную G[ E ], опуская операции деления, вычи тания и объединяя a, b и c в токен id, получим Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ E TE E +TE | T OT T *OT | O ( E )| id Грамматика логического выражения G[EL] языка LISMA задана продукциями EL L # LD DL DC C D C (C ) ¬C V # V a Грамматика G[ EA ] является однозначной контекстно свободной грамматикой, которая порождает язык множества всех бу левых формул, составленных из идентификаторов с литерой a с по мощью скобок и операторов отрицания ( ¬ ), дизъюнкции ( ) и конъ юнкции ( ). Если в качестве операнда выступает EA, а не идентификатор, то однозначность грамматики не очевидна. Заменив EA на токен id, получим эквивалентную грамматику, однознач ность которой очевидна.

Выполним над G1[EL] лексическую свертку аналогично G[EA] и получим LL(1)-грамматику с продукциями L DA A | DA D CB B | CB C VO V | ¬VO O id |( S ) Тогда трансляция логических выражений может быть проведена по тому же алгоритму, что и для арифметических выражений. В общем случае грамматика GLISMA языка является КС-грамматикой вида A, где A N, ( N )*.

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

• метод является однозначным и безвозвратным;

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

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

• метод рекурсивного спуска обладает семантической совмести мостью.

Семантический анализ. Семантический анализ состоит в форми ровании матрицы переходов или матрицы смежности дискретного по ведения системы. Рассмотрим формирование матрицы переходов на примере (см. рис. 9.10) типичной событийно-непрерывной ГС двух баков. Представим эту систему в виде символьной программной моде ли. Для чего преобразуем (9.14), (9.15) к виду с бинарными компонен тами в правой части, тогда имеем dh1 1 dh2 = (Vinput V12 ), = (V12 Vout ), (12.5) dt A1 dt A ( ) V12 = K1 ( p1 ) h1 (h2 H ) B, Vout = K 2 ( p2 ) h2, 6 K1 ( p1 ) = 1,85 104 e 610 p1 L1, 6 K 2 ( p2 ) = 2, 26 104 e5,710 p2 L2, 1, 0 p2 80, 1, h2 H, 1,0 p 80, L1 =, L2 = B= 0, p2 = 80.

0, h2 H, 0, p = 80, Программная модель на языке LISMA будет представлена символьным описанием в соответствии с (12.5) и содержательным описанием задачи Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Сформированная при семантическом анализе по программной мо дели матрица переходов принимает вид, как показано в табл. 12.1.

12.4. Реализация компьютерных моделей Т а б л и ц а 12. Матрица переходов init V12closed openV12 openVout full empty false false false false false false init pr1 false false false false false V12closed false pr2 false false false false openV false false pr3 false false false openVout false false false pr4 false pr full false false false false pr5 false empty Анализ визуальных программных моделей Анализ визуальной модели происходит в четыре этапа.

На первом этапе рекурсивным способом анализируются все вложенные схемы и проверяется композиция корректных связей при митивов.

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

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

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

орграф с правой частью ОДУ. Алгоритм сортировки элементов уста Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ навливает приоритет элементов в порядке их расчета в структурной схеме. Приоритетность установлена тремя категориями: интеграторы, генераторы и элементы, не относящиеся к первым двум группам.

Если в структурной схеме присутствуют элементы символьного описания модели, то запускается модуль интерпретатора LISMA, рас смотренного выше. Создается список инерционных элементов, для ко торых генерируется отдельная ветка прохода с узлами всех операций правой части ОДУ. Для иллюстрации конструирования веток прохода рассмотрим режим ГС, непрерывное поведение которого зададим уравнениями Ван-дер-Поля с программной моделью Визуальная программная модель показана на рис. 12.14, а. Ветки прохода с результатами определения правых частей для соответст вующих уравнений Ван-дер-Поля с параметром eps = 0,003 показаны на рис. 12.14, б.

y1 = y (1 y1 ) y2 y y2 = 0, а б Рис. 12.14. Исходная визуальная программная модель (а) и ее граф (б):

s1 и s2 – интеграторы В общем виде сконструированный программой граф визуальной программной модели будет иметь вид, показанный на рис. 12.15.

12.4. Реализация компьютерных моделей Узлы графа (1, 2, 3) – это примитивные операции, исключая операции интегриро вания. Стартовые узлы графа (4, 5, 6) яв ляются генераторами сигналов и опера циями интегрирования. На этом же этапе производится проверка корректности схе мы. При составлении ветки прохода все задействованные элементы исключаются из списка. Проход по графу к вершине воз вращает искомое значение правой части ОДУ в заключительном узле (0).

На четвертом этапе запускается процесс Рис. 12.15. Общий вид моделирования. Основную роль здесь игра- орграфа прохода ет численный решатель с приведенной в табл. 12.2 библиотекой m-стадийных методов порядка p, интегриро ванных в инструментальную среду.

Т а б л и ц а 12. Библиотека численных методов Метод (p, m) Свойства метода Явные Эйлера (1, 1) Постоянный шаг, гладкие режимы ГС Стекс (4, 5) Контроль устойчивости, нежесткие режимы Контроль устойчивости, режимы ГС средней и ма DISPF(5, 6) лой жесткости Контроль устойчивости, переменный порядок RKF78ST(7, 13) и шаг, режимы ГС средней жесткости и высокой точности Контроль устойчивости, переменный порядок, ре DP78ST(8, 13) жимы ГС средней жесткости и высокой точности RK4 (4, 4) Постоянный шаг, нежесткие режимы ГС RK2 (2, 2) »

Неявные RADAU5(3, 3) Жесткие режимы ГС MK(2,2), МК(2, 1) Аппроксимация матрицы Якоби, жесткие режимы Адамса–Мултона (6, 6) Нежесткие режимы и режимы средней жесткости Адаптивные Комбинированный метод с контролем жесткости, DISPF1_RADAU существенно жесткие режимы Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Активный вычислительный эксперимент Возможность контролировать процесс моделирования в реальном времени и при необходимости изменять значения фазовых переменных или структуру модели является мощным средством анализа гибридных систем. Изменяя структуру и параметры модели в процессе моделиро вания, можно интерактивно анализировать влияние того или иного па раметра на поведение системы в целом и влияние параметров и компо зиции модели. Режим активного эксперимента допускает вариацию параметров схемы и модификацию исходной схемы. Для изменения значения свойств элементов не требуется остановки процесса модели рования. Модификация исходной схемы позволяет изменять структуру добавлением новых элементов, удалением старых, изменением связей между элементами. Кроме того, в этом режиме можно изменить свой ства, которые недоступны в режиме вариации параметров, например, изменить вид функциональной зависимости в нелинейном блоке.

При прерывании процесса моделирования в момент времени T программа запоминает результаты моделирования, и при повторном запуске расчеты начинаются с момента T1 + h, где h – шаг интегриро вания. В качестве начальных условий выбираются значения фазовых переменных в момент времени T1. Рассмотрим работу активного экс перимента на примере модели непрерывного следящего привода с дви гателем постоянного тока, структура которого приведена на рис. 12.16.

Схема «ПИД» изображена на рис. 12.17, схема «Коррекция» – на рис. 12.18, схема «ДПТ» – на рис. 12.19, схема «Редуктор» – на рис. 12.20.

Рис. 12.16. Структурная схема модели непрерывного следящего привода 12.4. Реализация компьютерных моделей Рис. 12.17. Схема «ПИД»

Рис. 12.18. Схема «Коррекция»

Рис. 12.19. Схема «ДПТ»

Рис. 12.20. Схема «Редуктор»

В системе используются два нелинейных звена. Первое звено «Ме андр» определяет форму входного сигнала. Сигнал на выходе элемента представлен на рис. 12.21.

Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Рис. 12.21. Форма входного сигнала звена «Меандр»

Второе звено задает зону нечувствительности [–0,002, +0,002] в схеме редуктора, которая показана на рис. 12.22.

Рис. 12.22. Нелинейное звено редуктора в структурном редакторе В качестве изменяемого параметра выбран коэффициент передачи в контуре обратной связи макроструктур «ДПТ» и «Редуктор». Во время эксперимента коэффициент изменялся от k = 0,01 (исходное значение) 12.5. Графическая интерпретация результатов машинных экспериментов до k = 1 на интервале времени t (4, 5, 8). В момент времени t коэффициенту была присвоена исходная величина (рис. 12.23).

Рис. 12.23. Результат активного эксперимента В заключение следует отметить, что многие современные системы моделирования (отечественные – MVS, МВТУ [73, 148], зарубежные – MATLAB/Simulink, Simula, Dymola и др.) имеют встроенные средства динамического анализа систем путем вариации параметров. Однако большинство из них запрещает ручную модификацию исходной моде ли во время численного эксперимента. Активный эксперимент являет ся отличительной особенностью рассматриваемой системы в части ак тивного вычислительного эксперимента по сравнению с мировыми аналогами. При этом нет необходимости перекомпиляции программ ной модели, что значительно сокращает время активного эксперимента при исследовании систем с вариацией параметров и структуры, и этот фактор в данном случае доминирующий.

12.5. ГРАФИЧЕСКАЯ ИНТЕРПРЕТАЦИЯ РЕЗУЛЬТАТОВ МАШИННЫХ ЭКСПЕРИМЕНТОВ Система графической интерпретации результатов машинного ана лиза сложных систем позволяет пользователю работать с графическим представлением данных, полученных при численном анализе сложных динамических систем в инструментальной среде. Визуализация Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ результатов моделирования дает наглядное представление о процессе функционирования систем и позволяет лучше понять природу этих процессов.

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

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

катенацию графиков и т. д.

Кроме перечисленного набора функций следует особо выделить воз можность вейвлет-анализа графиков функций и сжатие графиков с по мощью вейвлет-преобразований. Первые теоретические работы по ос новам вейвлетных преобразований были выполнены в 1990-х годах И. Мейером (Y. Mayer), И. Добеши (I. Daubechies) и С.А. Маллатом (S.A. Mallat). Математический аппарат вейвлет-преобразований нахо дится в стадии активной разработки, однако специальные пакеты рас ширений по вейвлетам уже присутствуют в основных системах компьютерной математики. Они перспективны в решении задач ин терполяции, аппроксимации, регрессии функций, сигналов и изобра жений. Вейвлет-преобразование позволяет эффективно решать задачи 12.6. Особенности программирования гибридных систем сжатия и восстановления с малыми потерями информации. Экспери ментальные данные, полученные в результате моделирования систем, часто не стационарны по своей природе. В них встречаются нерегу лярные всплески высокой частоты, сменяющиеся регулярными струк турами. Поэтому для их анализа необходимо применение вейвлетов, обладающих возможностью представления нестационарных сигналов.

12.6. ОСОБЕННОСТИ ПРОГРАММИРОВАНИЯ ГИБРИДНЫХ СИСТЕМ Визуально-лингвистический подход в спецификации моделей гиб ридных систем имеет свои особенности и открывает широкие возмож ности исследования технических систем в традиционно принятой идеологии. Программные модели, представленные структурами, помо гают достаточно просто организовать активный вычислительный эксперимент в интерактивном режиме, что важно в задачах отладки моделей и настройки параметров. Макросредства предоставляют поль зователю новые возможности компактного описания модели, исклю чения повторных фрагментов с заменой их макроописаниями с факти ческими параметрами, неограниченные перспективы создания персональных библиотек модулей с любым уровнем детализации бла годаря наличию механизма неограниченной вложенности макросов и, наконец, новые семантические возможности анализа.


Символьный блок в определенном смысле – это аналог карт Харе ла, и пользователь может выбирать средства описания дискретного и непрерывного поведения ГС. Язык символьного описания компьютер ных моделей выгодно отличается от языков программирования MODELICA и MVL и других языков в известных современных систе мах моделирования DYMOLA и MVS. Отсутствие декларативных кон струкций значительно упрощает переход от математической к компь ютерной модели. Описание дифференциально-алгебраических моделей на языке программирования LISMA с точностью до знаков арифмети ческих операций совпадает с математической формой описания ГС.

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

Декларации сами по себе являются неисполняемыми операторами мо дели и не несут при этом никакой семантической нагрузки. Платой за отсутствие декларативных операций служит лишний проход интерпре Г л а в а 12. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ татора. Однако это не приводит к существенным затратам, так как время расчета правой части значительно превышает время интерпре тации символьной программной модели. Синтаксис языка LISMA, как это видно из многочисленных приведенных примеров, с достаточной степенью точности отражает семантику режимов ГС и механизм дис кретных переходов. Программирование на языке LISMA не нагружает предметного пользователя дополнительными знаниями из области программирования и тем более его современными парадигмами объ ектно-ориентированного проектирования (классы, инкапсуляция, по лиморфизм и др.). Перечисленные преимущества достигнуты благода ря оригинальной конструктивной особенности языкового процессора системы. Организация трансляции в режиме API позволяет встраивать новые методы интегрировании без перекомпиляции всей системы в целом.

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

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

Г л а в а УНИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ У нификация программного обеспечения предполагает исполь зование разработанного языкового процессора к предметным задачам из разных областей. Общим во всех рассматриваемых задачах анализа являются математические модели, представленные в обозна ченном классе систем дифференциально-алгебраических уравнений.

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

13.1. АКТУАЛЬНОСТЬ И ПОСТАНОВКА ЗАДАЧ Предметом химической кинетики является изучение закономерно стей протекания химических реакций во времени в зависимости от ус ловий, связи кинетических характеристик со строением реагентов, с энергетикой процесса и физикой активных частиц. Расчет кинетиче ских кривых для заданных начальных концентраций компонентов и констант скорости реакций классифицируется как прямая задача хи мической кинетики. Временные зависимости концентраций реагентов являются решением задачи Коши для системы дифференциальных уравнений химической кинетики. Проблемы численного решения пря мых задач химической кинетики с большим числом химических реак ций становятся все более актуальными, что обусловлено современны ми потребностями промышленности. Остро стоит ряд задач по улучшению технологических процессов переработки углеводородных соединений, усовершенствованию химических реакторов. В настоящее время при моделировании различных химических процессов исполь зуются схемы реакций, включающие несколько десятков реагентов и Г л а в а 13. УНИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ сотни элементарных стадий. Число реагентов определяет размерность системы дифференциальных уравнений, а число стадий отражает сложность правой части уравнения. Аналитическое решение прямой задачи ограничено размерностью и сложностью схем химических ре акций. Поэтому применяется метод компьютерного моделирования.

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

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

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

• трансляцию программ с входного языка химических уравнений в систему ОДУ с автоматической проверкой корректности синтаксиса и семантики;

• расчет системы ОДУ с применением соответствующих эффек тивных оригинальных численных методов с учетом жесткости и высо кой размерности из библиотеки численных схем ПО;

• графическую интерпретацию и документирование результатов численного анализа графическим интерпретатором решений.

13.2. Формирование дифференциальных уравнений химической кинетики 13.2. ФОРМИРОВАНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ХИМИЧЕСКОЙ КИНЕТИКИ Кинетическая схема химической реакции состоит из элементарных стадий, представленных в виде Nr Nr k ij yi ij yi, j (13.1) i =1 i = где yi, 1 i N r, – концентрации реагентов;

k j, 1 j N s, – констан ты скоростей стадий;

N r и N s – соответственно число реагентов и число стадий в реакции;

ij и ij, 1 i N r, 1 j N s, – стехиомет рические коэффициенты. Процессу (13.1) в рамках сосредоточенной модели изотермического реактора постоянного объема соответствует система обыкновенных дифференциальных уравнений y = T w, y (0) = y0, (13.2) где – стехиометрическая матрица с компонентами ij = ij ij, 1 i N r, 1 j N ;

w R N s – вектор скоростей стадий с компонен тами Nr w j = k j yi ij, j = 1, N s.

i = Для иллюстрации рассмотрим реакцию пиролиза этана, которая в отсутствие кислорода описывается схемой из пяти стадий:

C2 H6 CH3 + CH3, CH3 + C2 H 6 CH 4 + C2 H5, C 2 H5 C 2 H 4 + H, H + C 2 H 6 H 2 + C 2 H5, C2 H5 + C2 H5 C4 H10.

Г л а в а 13. УНИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ k1 = 1,34 105, Константы скоростей стадий имеют значения k2 = 3,73 102, k3 = 3,69 103, k4 = 3,66 105, k5 = 1,62 107.

Обозначим концентрации реагентов C2 H6, CH3, CH 4, C2 H5, C2 H 4, Н, H 2, C4 H10 через y j, j = 1, 8, соответственно. Начальная концентрация этана y1 (0) = 0,14, для остальных реагентов концентра ции равны нулю, поэтому имеет место y (0) = (0,14;

0;

0;

0;

0;

0;

0;

0)T.

Для приведенной реакции N s = 5 и N r = 8. Скорости стадий реакций wi, i = 1, N s, определяются в соответствии с (13.2) выражениями w1 = k1 y1, w2 = k2 y1 y2, w3 = k3 y4, w4 = k4 y1 y6, w5 = k5 y4.

Тогда система дифференциальных уравнений вида (13.2) для рассмат риваемого примера будет иметь вид y1 = k1 y1 k2 y1 y2 k4 y1 y6, y2 = 2k1 y1 k2 y1 y6, y3 = k2 y1 y2, y4 = k2 y1 y2 k3 y4 + k4 y1 y6 2k5 y4, y5 = k3 y4, y6 = k3 y4 k4 y1 y6, y7 = k4 y1 y6, y8 = k5 y4.

Теперь перейдем к синтаксически-ориентированной реализации за дачи предметной спецификации.

13.3. СИНТАКСИС Левую и правую части уравнений (13.1) и (13.2) можно рассматри вать как традиционные арифметические выражения, операндами кото рых являются реагенты химической реакции, умноженные на стехио метрические коэффициенты. Для спецификации задач химической кинетики разработан язык LISMA+, являющийся расширением базово го языка спецификации сложных динамических и гибридных систем LISMA. Так как имеет место включение GLISMA + GLISMA, то обес 13.3. Синтаксис печена преемственность языков спецификации новых приложений с наследуемыми методами обработки входного текста.

Представим порождающую грамматику химических реакций G [C ] в виде C SC S, S ES aES, (13.3) где S – стадии химической реакции;

ES – подмножество арифметиче ских выражений вида G [ ES ] G[ E ], a * символ итерации терминального алфавита основной грамма тики G [ E ], который однозначно определен терминальной цепочкой a = id = с идентификатором id, соответствующим скорости ста дий.


С учетом свойства вложенности для грамматики G [ ES ] использу ются те же однозначные методы анализа, что и для основной грамма тики G[ E ], а правила вывода подмножества новой грамматики по строены в соответствии с описанием химических реакций, причем термы T и операнды O здесь ограничены продукциями E S T T + ES, T O O *T, O id c, где id – идентификатор реагента химической реакции представляет безындексную запись переменной (например, C2 H5 записывается как C2H5 и т. д.) и поэтому не противоречит общепринятой в G[ E ] записи простых переменных;

c const, или целое без знака, обозначает ко личество реагентов, участвующих в реакции.

Таким образом, в соответствии с грамматикой G [C ] программная модель рассмотренной реакции пиролиза этана на языке LISMA+ бу дет иметь вид Г л а в а 13. УНИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ K1 = 1,34e 5;

K 2 = 3,73e + 2;

K 3 = 3,69e + 3;

K 4 = 3,66e + 5;

K 5 = 1,62e + 7;

C2H6 = K1 = CH3 + CH, CH3 + C2H6 = K 2 = CH3 + CH4 + C2H5, C2H5 = K 3 = C2H4 + H, H + C2H6 = K 4 = C2H5, C2H5 + C2H5 = K 5 = C4H10.

Программа на LISMA+ Программа Интерпретатор на LISMA LISMA/LISMA+ Упорядоченная структура Программная модель на C++ Генератор модели LISMA Dll модель Рис. 13.1. Технологическая схема работы процессора с языка LISMA+ В интерфейсе структурного элемента системы реализованы воз можность ввода и редактирования модели на входном языке описания химических реакций, а также дальнейшая содержательная диагностика синтаксиса и семантики и автоматическая генерация промежуточной модели на языке LISMA. Генерация промежуточной модели позволяет использовать существующий препроцессор с языка LISMA и не накла 13.4. Семантика дывает на систему моделирования никаких дополнительных требова ний. Таким образом, результатом работы препроцессора LISMA+ является корректная модель на языке LISMA. Технологическая схема работы языкового процессора с языка LISMA+ представлена на рис. 13.1.

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

13.4. СЕМАНТИКА Семантическим анализатором на основе синтаксического описания автоматически генерируется внутреннее представление задачи хими ческой кинетики. Внутреннее представление включает в себя матрицу разностей стехиометрических коэффициентов правой и левой частей химической реакции и рассчитанные в соответствии с (13.3) скорости стадий реакции.

В качестве иллюстрации методологии приведем форму внутренне го представления (табл. 13.1) для задачи пиролиза этана. В отличие от методики, в которой одно из кинетических уравнений формируется за один полный проход всей системы химических реакций, языковой процессор LISMA+ генерирует всю систему кинетических уравнений на основе внутреннего представления за один проход.

Т а б л и ц а 13. Внутреннее представление задачи j 1j 2j 3j 4j 5j 6j 7j 8j wj 1 0 0 0 0 0 0 k1c –1 2 0 0 0 0 k2c1c –1 –1 1 3 0 0 0 0 0 k3c –1 1 4 0 0 0 0 k4c1c –1 1 –1 k5c 5 0 0 0 0 0 –2 Г л а в а 13. УНИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 13.5. СПЕЦИФИКАЦИЯ СЛОЖНЫХ ХИМИЧЕСКИХ РЕАКЦИЙ Любую сложную реакцию можно свести к комбинации нескольких типов реакций: обратимые (двусторонние), параллельные и последова тельные реакции. Таким образом, актуален вопрос спецификации обо значенных типов сложных реакций. При рассмотрении кинетики сложных реакций используется принцип независимости, т. е. делается допущение о величине константы скорости элементарной химической реакции как не зависящей от того, протекают ли в данной системе од новременно и другие элементарные реакции. Иными словами, допус кается, что нарушение равновесного распределения по скоростям (или по энергиям) между частицами-реагентами в системе (из-за химиче ского превращения формульных единиц с наиболее высокими энер гиями) очень быстро восстанавливается за счет взаимного обмена энергиями при их столкновениях в процессе хаотического теплового движения. Следовательно, принцип независимости постулирует со блюдение одного из условий выполнимости закона действующих масс для простых реакций применительно ко всем элементарным стадиям сложных реакций. Этот принцип нельзя считать общим, так как из вестно взаимовлияние реакций, например, при сопряженных реакциях.

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

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

Они протекают не до конца – в некоторый момент времени устанавли вается равновесие между прямой и обратной реакциями. В общем виде уравнение обратимой одностадийной реакции записывается в виде k+ A B, (13.4) k где k+ и k – константы скоростей прямой и обратной элементарных стадий соответственно. Примером обратимой реакции может служить димеризация диоксида азота 13.5. Спецификация сложных химических реакций 2NO 2 N 2 O 4.

(газ бурого цвета) (бесцветные кристаллы) Реакция обратима в диапазоне температур от –11 до +150 C. При тем пературе ниже –11 C идет только прямая реакция с образованием N 2 O4, а выше +150 C – только обратная с образованием NO 2. Ско рость обратимой реакции равна разности скоростей прямой и обратной элементарных реакций: w = w+ w. Скорость реакции (13.4) равна w = k+ c1 k c2, где c1 и c2 – концентрации реагентов A и B соответственно.

Обратимые реакции примечательны тем, что в определенный мо мент времени происходит остановка реакции за счет выравнивания скоростей прямой и обратной элементарных стадий. Наступает состоя ние химического равновесия при достижении реагентами равновесных концентраций (рис. 13.2). Для многих обратимых реакций константа скорости прямой реакции значительно превосходит константу скоро сти обратной реакции, т. е. k+ k. В таких случаях с определенны ми допущениями их можно рассматривать как односторонние на ограниченных интервалах времени. Также следует учитывать, что не существует строго односторонних реакций или стадий. В любой системе по истечении бесконечно большого времени должно устано виться состояние равновесия. Все стадии при приближении к состоя нию равновесия становятся двусторонними. При этом скорости пря мых стадий становятся близкими по значению к скоростям обратных.

Поэтому лишь в ограниченном интервале изменения концентраций при протекании реакции в условиях, достаточно удаленных от состоя ния равновесия, стадия сложной реакции может рассматриваться как односторонняя. Обратимая реакция специфицируется в соответствии с принципом независимости как две элементарные стадии, соответст вующие прямой и обратной реакциям. Поэтому реакция (13.4) прини мает вид k k + A B, B A.

Г л а в а 13. УНИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Параллельные, или конкурирующие, реакции – это реакции, в ко торых реагент одновременно претерпевает изменение, по крайней мере по двум направлениям. Более обобщенно можно сказать, что если в системе одновременно протекает несколько реакций, в которых участ вует один и тот же реагент (или реагенты), давая различные продукты, то реакции считаются параллельными. Важное методическое значение среди параллельных реакций приобрели конкурирующие реакции, в которых одно вещество (частица) реагирует с двумя или более вещест вами (частицами), так что каждое из них конкурирует в реакции за это вещество (частицу). Распространенность таких реакций и обусловила тот факт, что параллельные реакции часто называют конкурирующи ми. Изучение кинетики конкурирующих реакций позволяет охаракте ризовать относительную реакционную способность ряда веществ (час тиц) по отношению к одному и тому же реагенту. Примером параллельной реакции служит разложение гидроксиламина, которое может протекать по двум направлениям одновременно:

3NH 2 OH NH3 + N 2 + 3H 2O, 4NH 2OH 2NH3 + N 2O + 3H 2 O.

w с с w w с t t а б в 13.5. Спецификация сложных химических реакций Рис. 13.2. Обратимая одностадийная реакция:

а – временная зависимость концентраций реагентов;

б – временная зависимость скоростей прямой и обратной стадий;

в – фрагмент программной модели на языке LISMA Простейший случай параллельной реакции можно представить схемой, где реагент A одновременно претерпевает превращения в продукты B и D, т. е.

k B A (13.5) k D Общая скорость изменения (расходования) реагента A равна сумме скоростей реакции по обоим направлениям:

w = w1 + w2 = k1c1 + k2 c1 = ( k1 + k2 ) c1, где c1 – концентрация реагента A. Скорости образования (получения) реагентов B и D, концентрации которых соответственно c2 и c3, равны w1 = k1c1 и w2 = k2 c1.

Параллельные реакции специфицируются в виде совокупности реакций, соответствующих элементарным стадиям по каждому из на k правлений (рис. 13.3). Реакция (13.5) принимает вид A B, k A D.

с с с с t Г л а в а 13. УНИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ а б Рис. 13.3. Параллельная одностадийная реакция с двумя направлениями:

а – временные зависимости концентраций реагентов;

б – фраг мент программной модели на языке LISMA Последовательные реакции – это реакции, протекающие таким образом, что продукт одной стадии является реагентом для другой (рис. 13.4). Пример простой последовательной реакции с двумя одно сторонними элементарными стадиями в общем виде можно предста вить следующим образом:

k k A P B.

1 2 (13.6) с с с t а б Рис. 13.4. Последовательная реакция с двумя односто ронними элементарными стадиями:

а – временные зависимости концентраций реагентов;

б – про граммная модель на языке LISMA В реакции (13.6) реагент A превращается в продукт B через образо вание некоторого промежуточного продукта P. В соответствии с оп ределением последовательной реакции промежуточное вещество P является продуктом первой стадии и одновременно реагентом второй стадии, т. е. образуется из реагента A по реакции с константой скоро сти k1 и расходуется по реакции с константой скорости k2. Скорости стадий реакции равны w1 = k1c1 и w2 = k2c3, где c1 и c3 – концентра 13.5. Спецификация сложных химических реакций ции реагентов A и P соответственно, при этом скорость изменения концентрации вещества P равна разности скоростей его образования и расходования, т. е.

dc = w1 w2 = k1c1 k2c3.

dt Последовательные реакции специфицируются в виде совокупности реакций, соответствующих каждой из последовательных элементар ных стадий. Реакция (13.6) принимает вид k k A P, P B.

1 Для иллюстрации механизма декомпозиции сложных реакций рас смотрим систему уравнений HIRES (дифференциации растительной ткани). Система описывает химические превращения восьми реагентов (рис. 13.5).

k Oks Pr Pfr k2 k– k6 k2 P XE E + PrX PfrX + E fr k k+ k* k PrX PfrX k Pfr + E k k k1 PfrX PrX k Рис. 13.5. Система уравнений HIRES с выделенными фрагментами:

1 – обратимая реакция;

2 – параллельная реакция;

3 – последовательная реакция Обозначим реагенты Pr, Pfr, Pr X, Pfr X, Pr X, Pfr X, Pfr X E и E через yi, 1 i 8, соответственно. Применение правил декомпози Г л а в а 13. УНИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ции сложных реакций на элементарные стадии приводит к системе из 15 уравнений:

O k k y1, ks y3 y4, 1 y6 y5, k k k y1 y2, 1 y4 y3, y7 y5 + y8, 2 k k k y2 y1, y5 y3, 5 y7 y6 + y8, k k k + y3 y1, y4 y6, y6 + y8 y7, 6 k* k k y2 y4, 3 y5 y6, 1 y7 y8.

Система дифференциальных уравнений химической кинетики со стоит из восьми уравнений и записывается в виде y1 = + w1 w2 + w3 + w4, y2 = + w2 w3 w5, y3 = w4 w6 + w7 + w8, y4 = + w5 + w6 w7 w9, y5 = w8 w10 + w11 + w12, (13.7) y6 = + w9 + w10 w11 + w13 w14, y7 = w12 w13 + w14 w15, y8 = + w12 + w13 w14 + w15, y1 (0) = 1;

y2 (0) =... = y7 (0) = 0;

y8 (0) = 0,0057;

0 t 321,8122, где wi, 1 i 15, – скорости стадий реакции, определяются выраже ниями w1 = Oks, w6 = k1 y3, w11 = k2 y6, w2 = k1 y1, w7 = k2 y4, w12 = k2 y7, w3 = k2 y2, w8 = k5 y5, w13 = k y7, w4 = k6 y3, w9 = k4 y4, w14 = k+ y6 y8, w15 = k * y7.

w5 = k3 y2, w10 = k1 y5, Тогда программная модель на промежуточном языке LISMA имеет вид 13.6. ОСОБЕННОСТИ УНИФИКАЦИИ Программное обеспечение нового приложения – задач химической кинетики со своими особенностями входного формата данных – по требовало минимальных затрат исходной спецификации входного язы ка. Интеграция языкового процессора с языка химических реакций LISMA+ позволила моделировать не только взаимодействие подсистем различной природы, но и имеющие различные формы представления исходной модели. При этом никаких дополнительных требований, ог раничений или доработок системы моделирования в целом не потребо валось.

Язык LISMA+ позволяет задавать системы химических уравнений и дополнительные данные в соответствии с представлениями новой предметной области. При этом среда моделирования ориентирована на предметного специалиста и не предъявляет к нему требований допол Г л а в а 13. УНИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ нительных знаний в области вычислительной математики, объектно ориентированного программирования, машинной графики. Предло женная инструментально-ориентированная методология исследования динамики процессов позволила резко сократить непроизводительные затраты при переходе от модели на языке химических уравнений к системе кинетических уравнений;

сосредоточиться на сущности ис следуемых задач;

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

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

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

Г л а в а ИНСТРУМЕНТАЛЬНО-ОРИЕНТИРОВАННЫЙ АНАЛИЗ ГИБРИДНЫХ СИСТЕМ Р ассмотрены компьютерные модели, спецификация которых соответствует разработанному подходу описания гибридных систем. Кроме технических систем, для которых необходимость инст рументальных средств моделирования наиболее очевидна, изучаются модели живых систем. На этом примере показана эффективность ис пользования инструментальных средств не только на стадии реализа ции, но и при проектировании математической модели, когда выбор модели и параметров зависит от оперативного получения результатов машинных экспериментов. Рассматриваются особенности исследова ния гибридных систем высокой размерности, представленных моделью проникновения помеченных радиоактивной меткой частиц в клетку, пораженную опухолью и др. В рамках введенных ранее определений гибридных систем динамические системы рассматриваются как част ный случай.

14.1. СИСТЕМА АВТОСОПРОВОЖДЕНИЯ В основе современных радиоэлектронных средств и комплексов дальнего обнаружения лежат цифровые вычислительные и управляю щие устройства [7, 8]. Синтез и анализ таких устройств осуществляют ся методом компьютерного моделирования [38]. Новые алгоритмы анализа сложных систем оказываются более эффективными для при кладного специалиста, если они окружены специализированными ин струментальными средствами моделирования, так как поведение таких систем в общем случае невозможно анализировать традиционными аналитическими или численными методами. Ниже в инструментальной среде осуществляется анализ импульсной системы автосопровождения (АС) баллистических, космических и аэродинамических объектов с использованием нетрадиционных методов моделирования гибридных систем.

Г л а в а 14. ИНСТРУМЕНТАЛЬНО-ОРИЕНТИРОВАННЫЙ АНАЛИЗ ГС Визуальный анализ системы автосопровождения Системе автосопровождения баллистических, космических и аэро динамических объектов при учете запаздывания соответствует струк турная схема эквивалентной импульсной системы, приведенная на рис. 14.1.

y (t ) x (t ) k eз p p Т k p k p Рис. 14.1. Структурная схема системы автосопровождения с запаздыванием Модель дискретной части системы состоит из простейшего импульсного (ИЭ) и формирующего (ФЭ) элементов. Запаздывание учитывается динамическим звеном с передаточной функцией W ( p) = e з p. Модель фильтра экстраполяции и сглаживания пред ставлена интеграторами, составляющими непрерывную часть (НЧ) мо дели системы. В моменты времени t = nT, n = 1, 2, 3..., происходит переключение на один шаг интегрирования с периодичностью T. За дающее воздействие представлено параболой в виде (t ) = 4 + 15t 5t и реализовано на интеграторах c фазовыми переменными x6, x7 и x8.

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

14.1. Система автосопровождения Рис. 14.2. Визуальная программная модель в среде Рис. 14.3. Переменные состояния системы автосопровождения:

x6 – измеренная траектория;

x1 – траектория сопровождения;

E – ошибка сопровождения Логика переключений организована макросом Switcher с двумя управляющими выходами со значениями 0 или 1. Первый выход равен значению 1 до момента коммутации и значению 0 в момент коммута ции. Второй выход является инвертором первого.

Традиционный подход моделирования импульсных систем облада ет тем существенным недостатком, что принятая в системах управле ния форма представления математической модели в виде структурной схемы становится искусством композиции структур для предметного Г л а в а 14. ИНСТРУМЕНТАЛЬНО-ОРИЕНТИРОВАННЫЙ АНАЛИЗ ГС пользователя в конкретной среде моделирования. При сложной логике управления непрерывной частью модели дискретная часть может быть представлена множеством дискретных систем управления. Наглядным примером служит представленная на рис. 14.1 структура, сочетающая в себе как непрерывную, так и дискретную части модели в одной структурной схеме. Такие структурированные визуальные модели, от редактированные в различных средах моделирования, становятся пло хо читаемыми, а порой доступными только автору конкретной компо зиции структуры для соответствующей среды моделирования.

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



Pages:     | 1 |   ...   | 5 | 6 || 8 | 9 |
 





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

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