Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147), страница 48
Текст из файла (страница 48)
В частности, этот класс и позволяет выпал- нять команды в отдельном процессе относительно процесса, в котором работает Апу(х)я(с (фактически, н отлельном окне %)пг)о)чз). Пример, приведенный далее, открывает папку С:'1СУЯ Г((ез н %(пг)о)уз Ехр!огег. сту ( Еппеьве гипсгве = Еппсьве.девнипвгве()г гппььве.ехес( "СгХХИХИНОХЕ1Хехр1охев.ехе " ь "Сг 1ХСув Г11ев" ); // символ" 1" Юуолируется в строке ) саесп ( Зача.го.10Ехсереьоп ех ) ( Епдьпе.ехгок[ "Ехсерв1оп ьп ехес: " ь ех )г ) 11.5.
Вызов модели из внешних приложений В некоторых случаях при разработке модели встроенных средств анимации не хватает. Одно из решений этой проблемы — разработка интерфейса к модели на языке программирования. По происходяшим н приложении событиям, реализуюшим интерфейс с пользователем (например, нажата кнопка "проиграть модель" ), приложение должно запускать модель Апу(.оа)с на выполнение. Для того чтобы скомпилировать модель как независимое 3ауа-приложение, вы должны построить )АК-файл с классами модели.
Для этого задайте имя 3АК-файла в поле Целевой файл свойств модели. После того как )АК-файл модели построен, скопируйте файл хзапу1одгс5епд1пе. зах в директорию ЫЬ основного каталога Аль ой)с, в которой находится )АК- файл модели. Для запуска модели, построенной как Зава приложение, можно использовать привеленную далее строку кода: 3ача -ср х3апу1одгс5епд1пе.заггвувог)е1.)ах вувог)е1.иа1пзегви1асгоп В этой строке вызывается интерпретатор )ауа с параметрами, в которых указываются используемые приложением библиотеки (параметр -ср) и главный класс, с которого начинается выполнение приложения (эксперимент е)ви1асьоп, запускаюший класс нагл). Глава 11. Организация взаимодействии Длу~сд1с с другими приложениями 231 11.6.
Вызов ОЫ из моделей Апу1 о9!с Возможность вызова 01.!. из АпуЕоа!с позволяет интегрировать модели с численными методами, реализованными на С, использовать быстрые алгоритмы обработки структур данных и т. п. Механизм 1й!! (1ата Хат!те !пгегйсе), который лежит в основе этой интеграции, позволяет также вызывать функции, специфичные для операционной системы: организовывать доступ к специальным аппаратным устройствам, использовать уже существующий не 1ата-код или использовать построенные вне модели критичные ка времени выполнения части кола.
В настоящий момент Лх! разработан как интерфейс с собственными методами, написанными только на С или С++. Руководство по использованию данной технологии доступно по адресу Ы1р1//)ата.авп.сащ/12ае/1.42/йоса/йвй!е/!в!/. Принципиальная схема взаимодействия компонентов программы при использовании !й!! представлена на рис. 11.2. Рис.
11.2. Схема использования Лате нарве!п1епасе Пример использования )й1! представлен на а1$!к//!ата.ава.сав/ Йоса/Ьаака/(а1апа!/па!!те1.1/!айех.а!пй. 11.7. Использование ЙМ! Вызов удаленных методов (Кещаге Мегпог! !птосаг!оп, КМ!) обеспечивает взаимодействие между !ача-программами, даже если они выполняются на различных территориально удаленнь1х компыатерах. Фактически, эта технология позволяет удаленно вызывать методы моделей Апу(.аа!с, запушенных на других компьютерах, из таких же моделей Апу).оя!с. Полобное взаимодействие можно организовать также поверх ТСР/!Р, но стоит отметить, что Часть Ш.
Методологические вопросы испольэованил моделей КМ! представляет интерфейс более высокого уровня. При использовании КМ1 методы удаленных моделей вызываются так, как если бы удаленный объект обрабатывался локально. Примеры использования данной технологии представлены на сайте Ы!р://!ата.авп.сов/бете!орет/ов1шеТга!в!вй/ гта!/КМ1.в!ш1. 11.8. Заключение Разработанная и скомпилированная модель, построенная в среде Апу!.од!с, является !ОО % приложением 3ата. Это дает возможность не только использовать всю мощь языка !ага при разработке модели (например, преимущества объектно-ориентированной разработки, библиотеки и классы 1ата и т. п.). Это позволяет также использовать все стандартные средства и методы, предоставляемые данным языком для интеграции 3ата-приложений. В частности, использование внешних классов и библиотек, доступ к внешним базам данных и электронным таблицам типа Ехсе!, взаимолействие нескольких территориально распределенных моделей — все зто можно использовать для моделей, разрабатываемых в Апу!.оя!с.
Часть!У СОВременные парадигмы В имитациОннОм мОделирОВании Глава 12. Динамические системы Глава 13. Системная динамика Глава 14. Дискретно-событийное моделирование Глава 15. Многоагентные системы Глава 16. Использование различных парадигм при разработке моделей Часть Лт. Современные парадигмы в имитационном моделировании Хотя имитационное моделирование — чрезвычайно широкая сфера с огромным количеством прикладных областей, в каждой из которых существуют свои приемы моделирования, здесь можно выделить четыре основные парадигмы моделирования, т.
е. четыре основные системы взглядов, подходов и концепций, используемых в качестве каркаса при построении моделей: П динамические системы, П системная динамика, П дискретно-событийное моделирование, П мультиагентные системы. За исключением мультиагентного молелирования, три первые парадигмы сформировались более 40 лет назад. За несколько десятилетий эти концепции, фактически, не изменялись, поэтому их часто называют традиционными. Одной из причин стабильности традиционных парадигм моделирования является их удобство для решения проблем моделирования, специфичных для конкретных применений.
Другая причина состоит в том, что традиционные парадигмы "заморожены" в программных продуктах, которые были разработаны в 60-х годах прошлого века и до сих пор широко используются в моделировании. Эти выпущенные на рынок продукты препятствуют революционным изменениям парадигм моделирования. В данной части на примерах построения типичных моделей из упомянутых четырех областей показывается, что с помощью инструмента АпуЕоя1с разработка моделей в соответствии с каждой из перечисленных парадигм выполняется легко и естественно.
Потому изучение различных парадигм молелирования для различных классов проблем может быть выполнено в рамках только одного этого инструмента. Более того, АпуЕорс предоставляет возможность объединения, смешивания различных методов и стилей молелирования при создании одной модели, чего нет ни в одном современном продукте имитационного молелирования. Глава 12 Динамические системы Динамические системы — это сложные объекты, поведение которых описывается системами алгебраических и дифференциальных уравнений, а также событиями, менявшими либо среду, либо модель, либо даже саму структуру системы.
К этому классу относятся системы управления, физические и механические объекты, объекты химической технологии, системы обработки сигналов и т. п. 12.1. Простая динамическая система: система управления бойлером Рассмотрим в качестве примера классическую динамическую систему, со- стояшую из двух связанных подсистем: объекта управления и регулятора (рис.
12.1). Внешнее возмущение Е Вход пара дная ина 7 Упр Заданное значение (уставка) тз рис. 12.1 Структура системы регулирования гзв Часть Ф. Современные парадигмы в имитационном модвлированин Пусть объектом уярпвяения является бойлер, который нагревается ло температуры т. Величину температуры т необходимо поддерживать на заданном уровне тт. Температура бойлера зависит от входного параметра — в нашем случае от мощности тока и, подаваемого на нагревательный элемент бойлера. Обьект управления подвергается внешнему возмушению г (г может характеризовать внешнюю температуру или теплоизоляцию), вследствие чего значение выхолного параметра т может меняться. Поддержание значения т на заданном уровне тя есть задача регулятора. Регулятор по разнице заданного и текушего значений выходного параметра (тт-т) формирует величину входного параметра объекта управления — в нашем случае регулируется мошность п, подаваемая на нагревательный элемент.
Уравнения функционирования как бойлера, так и регулятора будем записывать явно, а не с помошью передаточных функций. Обвеяв упрпвлениж Выхолная величина т типичного объекта управления описывается уравнением: с(тие = тта ° ( к*о — в — т(, где: (з а — коэффициент пропорциональности, определяемый параметрами объекта управления (выберем его значение 10); П к — коэффициент усиления объекта по управлению (установим его в 1); П г — изменяющееся внешнее возлействие (температура окружаюшей среды или теплоизоляция). Регулятор можно строить разными способами; мы будем использовать здесь так называемый регулятор с пропорционально-интегральным законом управления (ПИ-регулятор).
Выходную величину (управление) регулятора определим так: о=ш 'кр*(те-т(, гле: (:) и — управление, которое состоит из интегральной и пропорциональной части; (з пъ — интегральная составлявшая управления; (".) кр — коэффициент при пропорциональной составляюшей управления (=1). Интегральная составляющая управления может быть задана так: сшъис = къ*(тя-т), тле: О) къ — коэффициент при интегральной составляюшей управления (= 0.3). Глава 12 Динамические системы 237 Поставим задачу исследовать с помощью молели качество регулирования температуры бойлера в зависимости от соотношений параметров объекта управления и регулятора.