Научная статья на тему 'Разработка пакета моделирования для исследования событийно-управляемых систем'

Разработка пакета моделирования для исследования событийно-управляемых систем Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
80
17
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СОБЫТИЙНО-УПРАВЛЯЕМАЯ СИСТЕМА / ПАКЕТ КОМПЬЮТЕРНОГО МОДЕЛИРОВАНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Беломестных Игорь Сергеевич, Косов Александр Аркадьевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка пакета моделирования для исследования событийно-управляемых систем»

иркутским государственный университет путей сообщения

-био ресурсы без.. ---био ресурсы с восстановлением ..

636500 -

636000 - ^^---^

635500

635000

1 1 1

1959 1969 1979 1989

Рис. 9. Сравнение динамики показателей биоресурсов для базового и сценария восстановления леса

Выводы. Проведенные сценарные расчеты позволили оценить альтернативные варианты экономического развития АЧР. В базовом сценарии выявлены диспропорции в структуре экономики. К таковым можно отнести слабое развитие легкой промышленности в Азиатской части России ради ускоренного развития тяжелой. Это по прошествии 30-40 лет привело к существенному ухудшению состояния природной среды и продолжающемуся дефициту продукции легкой промышленности, что сдерживает рост конечного потребления.

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

Беломестных И. С., Косов А. А.

потреблению и ликвидируют дефицит производства этой промышленности в АЧР.

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

Данная работа выполнена при финансовой поддержке гранта РГНФ № 09-02-00650 и междисциплинарного интеграционного проекта СО РАН № 79.

БИБЛИОГРАФИЯ

1. Малов В. Ю., Мелентьев Б. В. Опыт использования межотраслевого инструментария для оценки значимости транспортного комплекса Сибири и Дальнего Востока / ИЭОПП СО РАН // Исследование многорегиональных экономических систем. Новосибирск, 2007. С. 179-197.

2. Мелентьев Б. В. Межрегиональный финансовый баланс «Платежи - Доходы» в системе экономических расчетов / ИЭОПП СО РАН // Исследование многорегиональных экономических систем. Новосибирск, 2007. С. 198-223.

3. Гурман В. И. Эколого-экономическая стратегия развития региона. Новосибирск : Наука. Сиб. отд-ние, 1990. 184 с._

УДК 004.94

РАЗРАБОТКА ПАКЕТА МОДЕЛИРОВАНИЯ ДЛЯ ИССЛЕДОВАНИЯ СОБЫТИЙНО-УПРАВЛЯЕМЫХ СИСТЕМ

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

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

Подытоживая вышесказанное, можно сформулировать основные требования к пакету моделирования:

• отображать состояния модели во время моделирования, используя 2D или 3D графику;

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

• предоставлять должный уровень абстракции модели, удобный для проектировщика;

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

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

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

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

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

• создавать библиотеки типовых компонентов как библиотеки классов;

• повторно использовать компоненты с помощью наследования классов;

• естественным образом строить модели с множеством однотипных объектов или регулярными структурами (массивами) объектов;

• осуществлять параметризацию моделей с помощью полиморфизма;

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

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

Рис. 1. Классификация пакетов моделирования

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

Рис. 2. Функциональная схема пакета моделирования дискретно-событийных систем

иркутским государственный университет путей сообщения

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

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

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

Состояние 1 Состояние 2

-К™)

Состояние 3 Состояние 4

и^-)-ц^з

1-»о

Состояние 5

Рис. 3. Графическое изображение элементов модели

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

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

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

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

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

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

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

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

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

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

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

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

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

Перейдем к более подробному описанию постановки задачи. Существует набор из нескольких десятков подводных роботов (преследователей). Данные роботы представляют простые устройства, способные менять горизонтальные и вертикальные углы наклона (тангаж, рыскание) с определенной инерцией. Также есть ведущий объект, намного больший по размерам и инерционным показателям. Назовем его объект-цель, он произвольно выбирает курс и скорость своего движения. У него небольшой максимальный угол вертикального наклона. Каждый объект имеет минимальное расстояние, на которое может приблизиться к другому объекту. Роботы-преследователи имеют максимальную скорость намного больше скорости лидирующего объекта. Основная их цель - из произвольного положения и расстояния от ведущего объекта подойти к нему на фиксированную позицию и начать произвольное движение по траектории на поверхности, описанной вокруг него.

Из постановки задачи выделим основные параметры объектов: 1) объекты имеют различные максимальные скорости движения и могут изменять их вплоть до остановки; 2) объекты могут изменять вертикальные и горизонтальные углы положения с определенной угловой скоростью; 3) объекты имеют виртуальную замкнутую поверхность, описывающую топологию формы объ-

иркутским государственный университет путей сообщения

екта, попадание в область которой других объектов недопустимо.

Рассмотрим один из вариантов решения поставленной задачи. На рис. 4 показана раскадровка движения объектов в горизонтальной плоскости. Набор (Пь П2, П3, П4} представляет этапы движения преследующего объекта, а набор (Оь О2, О3, О4} - объекта-цели преследования. Стрелками указаны векторы скорости текущего положения. Как видно из рисунка, преследующий объект стремится занять позицию рядом с главным объектом. Это достигается выбором "идеальных" параметров, на которые ориентируются преследователи. ПИ - это позиция, которую пытаются занять все роботы. Она расположена по вектору движения главного объекта на расстоянии ^ + , где Я1 и - радиусы ограничивающей сферы объекта-преследователя и главного объекта соответственно.

Мотивация выбора "идеального" положения (ПИ) впереди главного объекта вместо его центра обоснована тем, что после проведения ряда тестов выяснилось - объекты, оказавшиеся впереди, начинают обоснованно резко разворачиваться. А при выборе смещенной цели данного эффекта не наблюдается, так как она становится недостижимой из-за снижения скорости.

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

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

Рис. 4. Схема движения объектов

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

Рис. 5. Визуальное представление движения объектов

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

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

Авторы благодарны профессору Л.В. Мас-сель за ценные критические замечания, способствовавшие улучшению первоначального варианта статьи.

Работа поддержана грантом Президента РФ по государственной поддержке ведущих научных школ (проект НШ-1676.2008.1) и совместным проектом СО РАН и ДВО РАН № 45.

БИБЛИОГРАФИЯ

1. Колесов Ю. Б., Сениченков Ю. Б. Моделирование систем. Динамические и гибридные системы : учеб. пособие. - СПб. : БХВ-Петербург, 2006. 224 с.

2. Колесов Ю. Б. Объектно-ориентированное моделирование сложных динамических систем. -СПб. : Изд-во СПбГПУ, 2004. 240 с.

3. Советов Б. Я., Яковлев С. А. Моделирование систем : учеб. для вузов. - 3-е изд., перераб. и доп. М. : Высш. шк., 2001. 343 с.

4. Бенькович Е. С., Колесов Ю. Б., Сениченков Ю. Б. Практическое моделирование динамических систем. СПб. : БХВ-Петербург, 2002. 464 с.

5. Cassandras Ch. G. Introduction to Discrete Event Systems. - Springer science+business media, inc, 1999.

6. Hruz В., Zhou M. C. Modeling and Control of Discrete-event Dynamic Systems. - London : Springer-Verlag, 2007.

Берман А. Ф., Вильвер П. Ю., Николайчук О. А. УДК 519.6:004.942

МОДЕЛИРОВАНИЕ ФУНКЦИОНИРОВАНИЯ СЛОЖНЫХ ТЕХНОЛОГИЧЕСКИХ КОМПЛЕКСОВ НА ОСНОВЕ МОДИФИЦИРОВАННОЙ СЕТИ ПЕТРИ

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

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

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

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

Существующие принципы и методы моделирования [1-5], визуального и приборного кон-

i Надоели баннеры? Вы всегда можете отключить рекламу.