Главная » Просмотр файлов » Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5

Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147), страница 19

Файл №1124147 Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5) 19 страницаЮ. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147) страница 192019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 19)

Средства Апу1 одГс дпя имитационного моделирования систем через порт сообщений. В данной главе мы не будел~ строить дискретную модель счетчика сами. Вместо этого мы подробно рассмотрим уже разрабатанную модель с именем соппеес, находящуюся в папке Мог!с! Ехаптр1ез~рап 11. Наша задача — объяснить различия между этой моделью и моделью сопелппоиесоипсес. 6.1.1. Рассматриваемые вопросы В результате обсуждения модели соппсес будут рассмотрены новые средства: лз порты и.сообшения; П действия при получении сообщений. 6.1.2. Структура модели Сзруктура модели соспеег совпадает со структурой модели сопелппопесоппсет. Их внешнее поведение также одинакова. Откройте модель соппсет и запустите ее.

В этой модели определены три класса активных объектов: аеп (генератор импульсов), ссппеес (одноразрядный десятичный счетчик) и костел (корневой объект, включающий генератор и три разряда счетчика). 6.1.3. Представление сиГнала как сообщения Генератор должен посылать сигналы с заданной частотой.

Сигнал можно представить как сообщение, передаваемое между объектами через явно определенный интерфейс — порт. В качестве сообщения в Апу(.ая(с можно передавать любой объект, фактически, экземпляр любого класса. Сообщения в Апу(.оя(с (как и любой класс 3ата) должны наследоваться от базового класса аь)есе, В нашей модели счетчика важен только сам факт передачи или приема сообщений, а содержимое сообщений не важно.

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

Порт — это основной низкоуровневый механизм Апу(.ай(с в коммуникации объектов модели с помощью Глава 6. Разработка моделей дискретно-событийных систем передачи сообщений. Сообщения посылаются и передаются через порты. Порты являются двунаправленными, через них сообщения могут и посылаться, и приниматься. Через порт, помегценный на границе прямоугольника, ограничивающего активный обьект, этот объект может посылать и принимать сообщения от других активных объектов.

У генератора определен порт с именем еъск. Для того чтобы создать такой порт, нужно щелкнуть мышью на кнопке Я панели инструментов, а затем на границе прямоугольника, представляющего активный объект пеп. Вслед за этим в окне свойств порта нужно установить его параметры. Все параметры порта пъск, кроме имени, оставлены неизменными так, как они определены по умолчанию. Генератор нашей модели периодически с частотой т!гсечпепсу должен выдавать сообщения (т. е. экземпляры класса оь)ест) через порт и'ск.

Внутри прямоугольника аеп помещена иконка ['Я статического таймера (рис. 6.1). Рис. 6.т. Структура генератора Справа в окне свойств таймера указано его предопределенное имя степ-, а также параметры таймера: то, что он циклический, что он не срабатывает на старте и что период его срабатывания ранен гт г -еч епсу. В поле Действие при срабатывании указывается, что при кажлом срабатывании таймера должен делать генератор. Здесь это дейстние — посылка нового сообщения типа оьбесп через выходной порт с именем пгсю Это выражается в АпуЕорс следующей строкой: пгск.еепгт( пее Оьбесп( 1 ); Именно эта строка записана в поле Действие ири срабатывании окна снойств таймера (рис.

6.1). Часть И. Средства Аоф одю для имитационного моделирования систем Разряд счетчика Разряд десятичного счетчика представляется как и в модели сосстпиоиесосесет активным объектом соессек. Однако здесь он кроме целой переменной сч хранящей состояние разряда, включает не две интерфейсные переменные, а два порта: сьск и очетг1ои. Каждый раз, когда происходит событие получения сообщения в порте сток, переменная и должна увеличиваться на единицу по модулю 1О с извещением по порту очетс1ои о переполнении, если оно наступило. Это значит, что если значение и есть 9 и пришло новое сообщение по порту сьск, то переменная и примет значение О, а через' выходной порт будет послан сигнал. В противном случае разряд счетчика увеличивает значение своей переменной и на К Именно это записано в поле Действие при получении вкладки Код порта сасх (рис.

б.2). Рис. 6.2. Структуре разряда счетчика В полях окна свойств порта любое пришедшее в этот порт сообщение доступно по имени мед. В соответствии с данной записью, через порт очесс1о ~, таким образом, будет передаваться каждое десятое сообщение, полученное в порт ссск. Приведенная запись в окне Действие при получении окна свойств порта т ьск — это, в действительности, фрагмент программного кода на языке 5ауа, выражающий логику нужных лействий разряда счетчика при получении им сообщения по данному порту.

Такую логику невозможно выразить с помощью только графических визуальных средств. Объединение визуальной разработки модели с фрагментами кода является очень удобным приемом, неизмеримо увеличивающим гибкость и мощность среды разработки моделей Апу) оя1с. Глава б. Разработка моделей дискретно.событийных систем Корневой обьект Нос(е/и анимация модели Этот объект аналогичен соответствуюгдему объекту модели ссссъпссиесссссет.

Он включает один экземпляр генератора и три экземпляра разряда счетчика. Соединение портов включенных обьектов выполняется точно так же, как и соединение интерфейсных переменных в модели сссссет. Чтобы связать интерфейсные переменные и порты не прямой линией„используется иконка ~Я панели инструментов. Строить связь с помощью этого графического элемента нужно так, как строился переход в стейтчарте (рис. 4.1б). Анимация модели ссисее - построена точно так же, как анимация модели сосеъсиоиесоипеес.

6.2. Реагирующие системы (геасМче зуз$еез) и стейтчарты Реааярующую систему (геасйуе аувер) А. Пнуэли в [Р8б1 определил как систему, постоянно ожидающую внешних или внутренних событий и реагирующую на них. Реагирующие системы являются типичными системами дискретно-событийного типа: события происходят в дискретныс моменты времени, реакция системы на события состоит в изменении переменных состояния этих систем и формально такая реакция является мгновенной. При задании реагирующих систем оказалось удобным использовать стейтчарты (или карты состояний), простейший вариант которых был использован нами в главе 4. Стейтчарты представляют собой графический язык диаграмм (фактически, расширение обычных графов переходов). Язык стейткчпртов, впервые введенный Д. Харелом (Н871, в настоящее время широко применяется для спецификации, моделирования, верификации и прототипирования протоколов коммуникации, встроенных систем управления в авиации, на транспорте, в бытовой и научной электронике.

Они также являются средством определения поведения объектов в ЫМЬ. Стейтчарты строятся из состояний и переходов между ними. Система может находиться в каждый момент только в одном состоянии. Переходы из состояния в состояние случаются, если происходит событие. связанное с этим переходом, и условие, связанное с переходом (если оно есть), выполнено.

На диаграмме рис. б.З. система из состояния л переходит в состояние в, если наступит событие е и при этом условие г будет выполнено. Событием может быть, например, истечение таймаута, переключение в истину предиката (условия), определенною на переменных модели и т. п. Графически состояния представляются прямоугольниками или овалами, а переходы— дугами. Короткая стрелка-указатель, входящая в состояние л, говорит о том, что это состояние начальное: в начальный момент времени система будет находиться именно в этом состоянии. Очевидно, что у системы может быть Часть д Средства Апу~одк для имитационного моделирования систем ровно одно начальное состояние. С каждым переходом может быть связано некоторое действие — изменение переменных, посылка сигнала и т.

и. С каждым состоянием также могут быть связаны действия. Одно дейстние выполняется н момент входа в это состояние, другое дейстние выполняется при выходе из состояния. На рис. 6.3 тт и тз условно обозначены действия, выполняемыс при срабатынании соответствующих переходов. Рис. 8.3. Простой граф переходов Рисунок 6.3 представляет простейший стейтчарт с двумя элементарными состояниями. В общем случае в стейтчартах можно дополнительно использовать расширения этой простейшей модели переходов: иерархические состояния (гиперсостояния), исторические состояния, услонные переходы и некоторые другие нозможности.

Рассмотрим их по порядку. Иерархические состояния или гиперсостояиия вводятся для того, чтобы объединить несколько состояний, имеющих одну и ту же рсакпию на событие. На рис. 6,4 справа гиперсостояние р позволяет упростить граф переходон, представленный слева: переход н состояние л при наступлении события ь происходит вне зависимости от того, в каком из состояний, в или с находилась система. Иными словами, два стейтчарта на рис. 6.4 эквивалентны. Рис. В.Я. Использование гиперсостояния упрошает граФ переходов 95 Глава Б. Раз ботна моделей дискретно-событийных систем Каждое гиперсостояние требует, чтобы точно одно из включенных в него состояний было помечено как начальное.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6417
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее