Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Символьная спецификация и анализ программных моделей гибридных систем Бессонов Алексей Владимирович

Символьная спецификация и анализ программных моделей гибридных систем
<
Символьная спецификация и анализ программных моделей гибридных систем Символьная спецификация и анализ программных моделей гибридных систем Символьная спецификация и анализ программных моделей гибридных систем Символьная спецификация и анализ программных моделей гибридных систем Символьная спецификация и анализ программных моделей гибридных систем Символьная спецификация и анализ программных моделей гибридных систем Символьная спецификация и анализ программных моделей гибридных систем Символьная спецификация и анализ программных моделей гибридных систем Символьная спецификация и анализ программных моделей гибридных систем Символьная спецификация и анализ программных моделей гибридных систем Символьная спецификация и анализ программных моделей гибридных систем Символьная спецификация и анализ программных моделей гибридных систем Символьная спецификация и анализ программных моделей гибридных систем Символьная спецификация и анализ программных моделей гибридных систем Символьная спецификация и анализ программных моделей гибридных систем
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Бессонов Алексей Владимирович. Символьная спецификация и анализ программных моделей гибридных систем: диссертация ... кандидата Технических наук: 05.13.11 / Бессонов Алексей Владимирович;[Место защиты: «Новосибирский государственный технический университет»].- Новосибирск, 2016

Содержание к диссертации

Введение

ГЛАВА 1. Класс систем 16

1.1 Пространственно-временные гибридные системы 16

1.2 Классификация гибридного поведения 24

1.3 Обзор инструментальных средств 28

1.4 Задачи исследования 38

1.5 Выводы 39

ГЛАВА 2. Математическое и программное обеспечение 40

2.1 Архитектура 41

2.1.1 Обобщенная архитектура сред моделирования 41

2.1.2 Архитектура среды моделирования ИСМА 2015 43

2.2 Унифицированное внутреннее представление 49

2.2.1 Компоненты непрерывного поведения 52

2.2.2 Компоненты дискретного поведения 56

2.2.3 Компоненты модели 57

2.2.4 Сопровождающие инструменты 57

2.3 Программные инструменты моделирования 61

2.3.1 Эквивалентные преобразования модели 61

2.3.2 Расширение библиотеки численных методов 62

2.3.3 Контроллеры методов численного анализа 64

2.4 Выводы 66

ГЛАВА 3. Символьная спецификация 68

3.1 Язык символьной спецификации 68

3.1.1 Грамматика языка 69

3.1.2 Классификация грамматики 79

3.2 Автоматизация построения синтаксического анализатора 82

3.2.1 Универсальный языковой процессор 83

3.2.2 Генератор нисходящих анализаторов «ANTLR4» 89

3.2.3 Сравнительный анализ подходов автоматизации

3.3 Семантический анализ и интерпретация 94

3.4 Выводы 96

ГЛАВА 4. Инструментально-ориентированный анализ гибридных систем 98

4.1 Анализ традиционных ГС 98

4.1.1 Модель двух осциллирующих на пружинах масс 98

4.1.2 Модель двух баков 101

4.1.3 Модель ЭЭС 106

4.2 Анализ пространственно-временных гибридных систем 112

4.2.1 Модель суточной концентрации озона 113

4.2.2 Модель нестационарной теплопроводности 115

4.2.3 Модель диффузии

4.3 Анализ деформации твёрдого тела 120

4.4 Выводы 122

Заключение 124

Основные обозначения и сокращения 126

Список использованных источников

Классификация гибридного поведения

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

Дискретное поведение ПВГС. Дискретное поведение в (1.2) более сложное, чем в системах из класса (1.1) [98]. В таких системах оно может возникать в результате различных воздействий в зависимости от области, в которой происходит разрыв. В связи с этим можно выделить три типа дискретного поведения ПВГС: дискретное поведение с разрывом по пространственной переменной; по переменной времени и фазовым переменным; одновременно по пространственным, временной и фазовым переменным; по начальным и краевым условиям.

Смена состояния ГС во времени в непрерывной пространственной области. Данный тип дискретного поведения наиболее близок к ГС из класса (1.1). Он предполагает наличие в системе нескольких состояний со своим собственным законом функционирования описываемым оригинальной системой ДУЧП и набором краевых условий. Смена состояний происходит последовательно во времени и может возникать в контексте смены системы ДУЧП и/или в контексте смены краевых условий. В случае смены краевых условий могут быть рассмотрены свойства системы каналов [86], а также системы с дискретно изменяемым внешним воздействием. К последним, например, могут быть отнесены задачи теплопроводности с дискретно изменяемым законом поведения температуры на краях системы. В контексте смены системы ДУЧП могут быть рассмотрены задачи изучения сетевой нагрузки [106], а также решены задачи [93] изучения нагрузки на городскую транспортную систему.

Смена состояния ГС по пространственным переменным в непрерывной временной области подразумевает разбиение пространственной области на участки, которые обладают собственным законом поведения и уникальной системой ДУЧП с краевыми условиями. Подобные модели обычно имеют место при изучении задач оптимизации формы [111] или, к примеру, изучения теплопроводных свойств сплава [121]. Причинами возникновения разбиения единой системы на подсистемы в пространстве могут быть: неоднородность состава системы, гетерогенность, акцент в моделировании на определенный участок и др.

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

Типы дискретного поведения представлены на рисунке 1.2 в виде областей, в которых действует то или иное состояние ГС. Обозначения PDE1 – PDE3 (Partial Derivative Equation) соответствуют трём состояния ПВГС, каждое из которых описывается собственной системой ДУЧП. Также, на рисунке 1.2 BC (Boundary Conditions) обозначают краевые условия, IC (Initial Conditions) – начальные условия, t – переменную времени, x и y – пространственные переменные. Наличие на среднем рисунке переменной y вместо переменной по времени подчеркивает тот факт, что данный тип дискретного поведения характерен в том числе и для исключительно пространственных задач, не зависящих от времени. К примеру, к таким задачам могут быть отнесены эллиптические ДУЧП, описывающие объект лишь по пространственным переменным [55]. В частности, к ним относятся уравнения Пуассона при помощи которого могут быть описаны задачи из множества областей: задачи механики твердого тела, задачи изучения электростатического поля, стационарного поля температуры, поля давления, поля потенциала скорости в гидродинамике и многие другие. Таким образом можно говорить про данные системы, как частный случай ПВГС.

Унифицированное внутреннее представление

Среда моделирования ИСМА разработана на кафедре АСУ НГТУ и имеет богатый десятилетний опыт развития. Компоненты системы защищены множеством свидетельств о регистрации программ в Роспатент и ОФАП. Можно выделить несколько этапов в истории развития среды ИСМА. Каждый переход ознаменовывает появление новых задач и невозможность их решения имеющимися средствами. До 2004 года системе предшествовала среда MODO, которая позволяла описывать на языке низкого уровня структурные схемы для непрерывных процессов. В ней, в отличие от современных средств моделирования, использовалась тривиальная техника (ДВК-4), а в качестве языка моделирования использовался «язык описания структур» (ЯОС) [78]. В период 2004–2006 г. появилась первая версия системы, близкая к своему современному виду. Система получила близкий к математическому язык для описания дифференциальных уравнений и впервые имела оконный графический интерфейс. В период 2007–2010 г. ИСМА получила возможность моделирования дискретных процессов, что, вместе с непрерывными процессами, позволило моделировать гибридные системы. Для описания дискретного поведения выбрана текстовая спецификация.

Рассмотрим архитектуру среды моделирования ИСМА, представленную набором взаимосвязанных компонентов. Редактор с входного языка, позволяет пользователю вводить модели ГС в виде структурных схем и символьной спецификации на языке LISMA. Для обеспечения традиционных этапов разбора (лексического, синтаксического и семантического анализа) текста программной модели используется специальный интерпретатор. Финальным этапом разбора модели является синтез расчётной модели на языке C++. Она представляет совокупность правых частей ДАУ для локальных состояний. Полученный код компилируется в dll – модули и загружается в систему во время запуска численного эксперимента. Процессоры структурных схем и численного анализа являются центральными компонентами и выполняют следующие функции: диагностика визуальной модели; генерация графов, описывающих уравнение системы ДАУ; подготовка начальных условий задачи Коши; распределение памяти под результаты численного эксперимента; запуск и контроль численного эксперимента в традиционной и активной форме. Исполнение модели подразумевает обращение к численному методу, расчёт правых частей уравнений ДАУ и обнаружение смены состояния ГС. Процесс численного анализа основан на использовании развитой библиотеки алгоритмов численных методов. Они представлены в виде программных модулей, которые подключаются к системе во время инициализации ИСМА при помощи специальных загрузчиков. Результаты численного эксперимента интерпретируются компонентой GRIN (GRaphical INterpretation) и предоставляют пользователю решение в виде динамики фазовых переменных во временной или фазовой плоскости. Основной способ спецификации моделей ГС в среде моделирования ИСМА представлен в виде структурных схем. Это обусловлено тем, что методология гибридных систем развивалась [44, 75] на основе теории систем релейного и импульсного управления, описываемых дифференциальными уравнениями с разрывами первого рода в первой производной фазовых переменных. Этот факт, а также некоторые особенности архитектуры накладывают существенные ограничения на расширение исследуемого класса задач и разработку новых предметно ориентированных способов спецификации моделей ГС.

Ввиду этого была разработана архитектура новой среды моделирования – ИСМА_2015, которая учитывает все предъявляемые к системе требования и наследует весь развитый математический аппарат. В новой архитектуре центральным объектом исследования является гибридная система, как наиболее общий класс сложных систем. В таком случае все предметные модели рассматриваются в качестве подмножества ГС. Как было доказано в главе 1, ПВГС также являются подмножеством ГС. Сконструированная архитектура придерживается принципов максимальной унификации, модульности, расширяемости и взаимозаменяемости компонентов. Такой подход позволяет настраивать среду на новые приложения с минимальными доработками. В качестве инструментов реализации используются современная платформа (Java) и актуальные развивающиеся библиотеки. Это позволяет запускать ИСМА_2015 на различных устройствах, реализовывать облачные вычисления с предоставлением пользователю веб-интерфейса для описания моделей, а также говорить о параллельных вычислениях на суперкомпьютерах.

Архитектура среды может быть разделена на три слоя: компоненты графического интерфейса, компоненты спецификации и компоненты вычислительного эксперимента. В связи с этим можно отметить, что решаются три основные общие задачи: взаимодействие с пользователем; реализация средств спецификации, хранения и обработки модели ГС; реализация средств проведения численного эксперимента. Архитектура ИСМА_2015 представлена на рисунке

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

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

Автоматизация построения синтаксического анализатора

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

Формирование расчётной модели производится в несколько этапов: компиляция сгенерированного класса; загрузка класса в JVM (Java Virtual Machine) во время работы среды моделирования перед запуском численного эксперимента; создание объекта, передаваемого в процессор численного анализа. Рассмотрим подробнее взаимодействие контроллеров с расчётными моделями.

Расчётная модель ИСМА2015 представляет собой Java класс, описывающий: локальные состояния в виде системы ДАУ с начальными условиями; локальные состояния в виде системы ОДУ с начальными условиями и СЛАУ; предикаты перехода между состояниями. Уравнения и предикаты представляют собой объекты, содержащие индекс в соответствующем массиве и уравнение правой части или, в случае предиката, выражение условия.

Стандартным подходом при описании уравнений в расчётных моделях является создание анонимного внутреннего Java - класса, содержащего выражение правой части, используемое при расчётах. Особенностью расчётных моделей ИСМА2015 является допустимая большая размерность системы уравнений, что имеет место при аппроксимации системы ДУЧП разностной сеткой. Чтобы избежать генерацию большого количества анонимных классов используется технология ссылки на метод, указанной в виде лямбда-выражения. Ссылки на методы впервые появились в Java 8 (2014 год), что позволяет говорить о том, что при реализации среды моделирования ИСМА_2015 используются современные технологии. Данный подход эффективен, поскольку в результате генерации будет сформирован лишь один класс модели с определенным количеством методов расчёта правых частей для каждого уравнения. Кроме того, сгенерированная модель очень компактна.

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

Для того чтобы корректно сформировать расчётную модель, создан специальный сервис генерации модели. Первым этапом работы сервиса перед генерацией является анализ входной модели УВП и заполнение профиля расчётной модели – необходимой технической информации. На основании профиля расчётной модели производится генерация. Особенностью данного сервиса является подход к распределению функциональности. Сервис представляет собой набор из наследующих друг друга классов. Каждый класс отвечает за введение в сервис функциональности генерации определенной части расчётной модели. Таким образом логика формирования расчётной модели распределена между следующими классами: AB01Actions – базовые элементарные действия; AB02Expression – печать выражений; AB03BoundaryConditions – печать уравнений краевых условий; AB04Equations – печать уравнений ДУЧП; AB05CycleCondition – метод проверки окончания моделирования; AB06SpecifyDomain – печать метода установления границ рассматриваемой области; AB08AdditionalMethods – печать вспомогательных методов; AB13AMManager – печать метода инициализации менеджера вычисления значений краевых условий; AB14Constructor – печать конструкторов класса; AB15ClassBody – печать тела класса; AB20AlgorithmClass – печать всего класса целиком; MainAlgorithmBuilder – главный класс печати модели. Данный подход позволят легко расширять функциональность генерации. Управление процессом численного эксперимента. После того, как сформировано описание Java – класса расчётной модели, происходит его компиляция и загрузка в память машины JVM. В случае успешной компиляции модель считается готовой к численному эксперименту. Численный эксперимент представляет собой набор итераций численного метода с формированием массива результатов моделирования. В котроллерах данный этап с точки зрения управления процессом моделирования аналогичен и различается лишь набором входных параметров. В случае ИСМА_2015 на вход контроллеру подаются параметры: численный метод, интервал времени вычислительного эксперимента, точность, режим устойчивости, режим стабильности и режим параллельного вычисления. В случае NMWS входными параметрами являются: показатель точности, тип полинома интерполяции, условие остановки вычисления, границы рассматриваемой области.

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

Модель двух осциллирующих на пружинах масс

Рассмотрим систему из двух цилиндрических сообщающихся баков (рисунок 4.5). Постановка задачи основана на реально существующей установке [75, 112]. Модель динамики клапанов определена экспериментально в университете Дортмунда, что исключает упрощения и идеализацию модели. Рассматриваемая проблема характерная для сферы автоматизации процессов: программа должна быть проверена в отношении соответствия требованиям неформального естественного языка, основанного на знаниях семантики процессов.

Перейдем к рассмотрению системы, которая состоит из двух баков, трубопроводов, клапанов и системы управления. Трубопроводы управляются клапанами Winput, W1, W2. Подача жидкости в систему контролируется через Winput, который открывается мгновенно, со скоростью входного потока vinPut =0 при ґ 0, 400 при 0. Клапаны W1 и W2 являются инерционными устройствами. От момента начала открытия (закрытия) до полного открытия (закрытия) требуется 80 сек. Их открытие и закрытие контролируется задвижкой, меняющей свое положение от значения Р=80 (полное закрытие) до Р = 0 (полное открытие). Управление открытием/закрытием клапанов WinpuU W1 и W2 осуществляется контроллером и также входящим в описываемую систему. Если через А1 и А2 обозначить площади оснований баков, то система уравнений для уровней воды в баках h1 и h2 будет иметь вид: К = 4"1 (Ппрш У\г\ k = А21 (V12 - vout). Скорость протекания воды между баками V12 зависит от уровней и в соответствии с законом Торричелли V12 = К1(р1) Jh1-h2+H,h2 Я, г ч Г {MP1)- h2 H. Скорость вытекания воды из системы Vout зависит от уровня во втором баке h2 и положения задвижки р2 на W2. Если контроллер обнаруживает, что уровень воды во втором баке опустился ниже значения Ljninus, поступает команда закрыть выходной клапан Wout, если вода во втором баке превышает уровень Ljplus - выдается команда открыть выходной клапан. Таким образом, \K2(p2)Jh2,h2 L Plus, Vout=\ У H Индивидуальные свойства клапанов определяются функциями 1(й) = 1,85.10-4. 0-6-А3,0,1 80 , [0, р1 = 80, К2{р2) = \2,261 .е-5,710-6-А, Р2 80, [0, р2 = 80.

В исходном состоянии все клапаны закрыты и оба бака пусты. В начальный момент (t = 0) контроллер посылает сигнал входному клапану Winput , который мгновенно открывается и в течении времени Time1 [сек] наполняется только первый бак. По истечении времени Time1 контроллер посылает команду открыть W1 и вода начинает поступать во второй бак. Второе состояние сохраняется на протяжении Time2 [сек]. По истечении времени Time2 открывается W2. Если контроллер обнаруживает, что уровень воды во втором баке опустился ниже значения L_minus, поступает команда закрыть выходной клапан Wout , если вода во втором баке превышает уровень L_plus – выдается команда открыть выходной клапан. В постановку задачи входит анализ системы с параметрами Time1 = 9, Time2 = 20, L_plus = 0,94 и L_minus = 0,3. Утверждается [112], что время выдачи первой команды контроллера на закрытие вентиля Wout равно 303.13 сек (h2 = L_minus = 0.3 м), а десятой – 2669.9 сек.

Диаграмма состояний модели системы двух баков представлена на рисунке 4.6. Каждое состояние отражает изменения положения заглушек p1 и p2 , так как именно эти две переменные определяют процесс системной динамики. Уравнения для остальных переменных имеют одинаковый вид во всех состояниях системы. Состояние «closedV12» описывает процесс наполнения первого бака, при этом клапан Winput открывается, остальные клапаны закрыты. Состояние «openV12» характеризует поведение системы после начала открывания клапана W1. Состояние «openVout» описывает поведение системы с момента подачи сигнала об открытии клапана W2.

Состояния «full» и «empty» характеризуют процесс работы системы после выполнения предварительных процессов по заполнению первого и второго баков. Если контроллер обнаруживает, что уровень воды во втором баке опустился ниже значения L_minus, то он выдает команду закрыть выходной клапан W2. Если уровень во втором баке превышает отметку L_plus – выдается команда открыть выходной клапан.

В модели присутствует блок событийного управления, реализующий инертное поведение динамики заглушки клапанов. Также примечательно использование индексной формы записи для некоторых уравнений и макроподстановок. Такой подход, впервые введенный в LISMA_PDE, позволяет сократить программную модель и делает запись близкой к математической. эксперимента полностью соответствуют результатам, полученным как в первоисточниках [75, 112], так и во многих мировых средах (Model Vision Studium, AnyLogic, MATLAB/Simulink). На рисунке 4.8(б) приведены результаты численного эксперимента в среде моделирования AnyLogic. На рисунке 4.9 видно, что результаты, полученные в ИСМА_2015 и AnyLogic практически идентичны. Рассматриваемый тестовый пример демонстрирует возможность изучения непрерывных процессов, управляемых логическими контроллерами. Системы подобного рода широко распространены в технологических процессах промышленных предприятий.