Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Выполнение программы имитации




Однократное выполнение программы имитационной модели будем называть прогоном модели. Прогон начинается, когда система встречает управляющий оператор Start. Он может быть в тексте модели, а также его можно задать в интерактивном режиме командой Command/START. Появляется диалоговое окно, в котором следует уточнить значение счетчика завершений. В нашем примере моделирование должно завершаться с приходом транзакта-таймера, который уменьшает счетчик завершений на 1 (см. последнюю строку программы). Поэтому начальное значение счетчика завершений должно быть равно 1, т.е. команда начала моделирования имеет вид START 1.

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

Выполните команду START 1 и изучите сообщения в окне Журнала. Моделирование закончилось в 50 минут модельного времени (Clock is 50.000000). Это же время указано в окне REPORT (Отчет) в столбце END TIME.

Повторные команды START (повторные прогоны) выполняются с текущего значения модельного времени. Учитывается также и накопленная статистика моделирования, т.е. моделирование продолжается с того состояния, в котором модель находилась в момент прекращения предыдущего прогона. Сбросить в 0 модельное время и статистику моделирования можно командой Command/CLEAR.

Выполните еще раз команду START 1. Будет сформирован новый отчет, в котором значение END TIME равно 100 и статистика моделирования учитывает информацию, накопленную во время обоих прогонов. Теперь задайте команду Command/CLEAR выполните еще один прогон модели. Время окончания моделирования будет равно 50, т.е. моделирование было начато сначала (с нулевого момента времени, когда в системе не было еще ни одного транзакта).

Иногда не требуется получать отчет о результатах моделирования при каждом прогоне модели. Подавить формирование отчета можно, если в команде START задать параметр NP (не формировать отчет):

START 1,NP

Обратите внимание, что между запятой и параметром NP не должно быть пробела!

Содержимое окна JOURNAL (Журнал) можно сохранить в файле с расширением .sim. Если закрыть окно Журнала без сохранения его содержимого, то объект Имитация (т.е., откомпилированная программа модели) удаляется из памяти компьютера. Требуется вновь компиляция модели и запуск имитации на выполнение.

Закройте без сохранения окно Журнала и все созданные ранее окна Отчетов.

Рассмотрим пример ошибок, возникающих в ходе имитации. При проявлении любой такой ошибки моделирование аварийно прекращается.

Внесите в текст программы следующие исправления: в блоке DEPART измените имя очереди на QMast. Выполните компиляцию модели. Такая ошибка не будет выявлена в процессе компиляции. Начните выполнение прогона модели командой START 1. Имитация будет остановлена, когда первый транзакт попытается войти в блок DEPART. Система выдаст сообщение, что зафиксирована попытка сделать содержимое очереди отрицательным (рис.2.6). Дело в том, что система считает, что имеется две разные очереди: QMaster и QMast. Транзакт был учтен, как поступивший в очередь QMaster (соответствующий счетчик количества транзактов в этой очереди был увеличен), а покинуть он пытается другую очередь – QMast. Счетчик количества транзактов должен быть уменьшен на единицу, но тогда он станет отрицательным, ведь его начальное значение равно 0! Таким образом обнаруживается ошибка в модели, когда имена очереди в блоках QUEUE и DEPART отличаются.

Рис.2.6. Окно Журнала с ошибкой времени выполнения.

 

Исправьте ошибку и перекомпилируйте модель. Выполните прогон модели без подавления отчета.

В нашем примере прогон продолжается ровно 50 единиц модельного времени и затем моделирование прекращается (с приходом транзакта-таймера). Напомним (см. лабораторную работу № 1), что для моделирования прохождения определенного количества транзактов (например, 100), нужно изменить программу модели следующим образом:

· удалить две последние строки модели, касающиеся транзакта –таймера;

· изменить блок TERMINATE для транзактов, изображающих клиентов, задав ему параметр 1:

TERMINATE 1

· начать моделирование командой START 100.

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

 




Поделиться с друзьями:


Дата добавления: 2015-05-26; Просмотров: 660; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.025 сек.