Имитационное моделирование
Моделирование процесса сбора и обработки данных из системы автоматизации экспериментов в средах имитационного программирования GPSS и AnyLogic. Определение длительности выполнения программы и количества ее прерываний. Анализ полученных результатов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 05.12.2012 |
Размер файла | 987,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Формулировка задания
1.1 Задание
1.2 Алгоритм работы модели
2. Реализация здания в среде GPSS
2.1 Функции, используемые в программе
2.2 Описание текста программы
2.3 Описание таблиц-выводов
2.4 Построение графика
3. Реализация задания в среде AnyLogic
4. Анализ полученных результатов
моделирование имитационный программа
Введение
Имитационное моделирование - мощный универсальный метод исследования систем, функционирование которых зависит от воздействия случайных факторов. Применение современных вычислительных средств в совокупности с универсальными языками программирования позволяют исследователю достичь значительных результатов при изучении сложных объектов, избегая многих ограничений и допущений, которые неизбежны при аналитическом моделировании.
В настоящее время в мире информационных технологий имитационное моделирование переживает второе рождение. Интерес к такому компьютерному моделированию оживился в связи с существенным технологическим развитием систем моделирования, которые сейчас являются мощным аналитическим средством, вобравшим в себя всю мощь новейших информационных технологий, включая развитые графические оболочки для целей конструирования моделей и интерпретации выходных результатов моделирования, мультимедийные средства и видео, поддерживающие анимацию в реальном масштабе времени, объектно-ориентированное программирование, Internet-решения и др.
В мире бизнеса, корпораций имитационное моделирование становится все более распространенным и используется как системообразующее и наиболее ценное звено процесса принятия решения, поэтому используется совместно с другим ПО для принятия решений в системах поддержки принятия решений (СППР).
В экономическом анализе имитационное моделирование является наиболее универсальным инструментом в области финансового, стратегического планирования, бизнес-планирования, управления производством, проектирования, - и многих других сферах науки управления и исследовании операций.
Но, к сожалению, в России, в силу известных экономических причин, серьезных приложений для столь мощного аналитического аппарата не так много, да и высокая стоимость ПО этого вида является сдерживающим фактором.
В данной работе будут рассмотрены две среды имитационного моделирования - GPSS и AnyLogic 5.3.1. При решении одной задачи будут получены и анализированы результаты обоих этих сред. Результаты будут рассмотрены и проанализированы.
1. Формулировка задания
1.1 Задание
Задание 23. В системе автоматизации экспериментов (САЭ) на базе специализированной ЭВМ данные от измерительных устройств поступают в буферную зону оперативной памяти каждые 800 ± 400 мс. Объем буфера -- 256 Кбайт, длина одного информационного сообщения -- 2 Кбайт. Для записи сообщения в буфер требуется 20 мс времени работы процессора. После заполнения буфера его содержимое переписывается на накопитель на жестком диске (НД), для чего сначала необходима работа процессора в течение 30 мс, а потом -- совместная работа процессора и накопителя НД в течение 100 ± 30 мс. Для обработки каждой новой порции информации на НД, объем которой равен 2560 Кбайт, запускается специальная программа, требующая 100 ± 20 с времени работы процессора. Эта программа имеет самый низкий приоритет и прерывается программами сбора и переписи данных на НД.
Смоделировать процесс сбора и обработки данных с САЭ при условии, что обработать необходимо 5 порций информации. Зафиксировать длительность выполненной программы обработки и определить, сколько раз ее выполнение было прервано.
1.2 Алгоритм работы модели
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Как изображено на представленной выше схеме, мы имеем два устройства - накопители. Заявки от измерительных устройств поступают в буферную зону оперативной памяти - первый накопитель. Объем накопителя - 256 Кбайт, транзакты поступают на накопитель и скапливаются в нем. После заполнения буфера его содержимое переписывается в накопитель, расположенный на жестком диске. Объем этого накопителя - 2560 Кбайт. Для обработки каждой новой порции информации запускается специальная программа-обработчик. Эта программа имеет самый низкий приоритет и прерывается программами сбора и переписи данных.
2. Реализация в среде GPSS
2.1 Функции, используемые в программе
1. GENERATE - вводит транзакты в модель.
Формат: GENERATE A,B,C,D,E,F,G
А - среднее значение интервала времени;
В - разброс или модификатор среднего значения (по умолчанию ноль);
С - время появления первого транзакта;
D - общее число генерируемых транзактов;
Е - уровень приоритета каждого транзакта;(от 0 до 127,значение по умолчанию 0);
F - число параметров (по умолчанию 12);
G - тип параметра (F - полнословный, Н - полусловный - по умолчанию).
Вводит транзакты в модель, посылая их в следующий по порядку блок. Если в поле В не указана Функция, то интервал между поступлением транзактов определяется случайным числом, равномерно распределенным в диапазоне от (А - В) до (А + В). Если поле В является функцией (FN$), то этот интервал определяется произведением поля А на значение функции, заданной в поле В.
2. ADVANCE (ЗАДЕРЖАТЬ) ADVANCE - задерживает транзакт.
Формат: ADVA[NCE] А, В
А - среднее время задержки (константа, если В не задано);
В - разброс относительно среднего значения, должен быть меньше или равен А.
Блок ADVANCE моделирует временною задержку транзакта в течение определенного интервала. Значение задержки по умолчанию равно нулю. Если поле В не является FN$, т время задержки является случайным числом, распределенным равномерно на интервале от (; + В) до (А - В). Если поле В является функцией FN$, то время задержки определяете произведением поля А на значение функции в поле В. Функция может быть использована для задания времени задержки с определенным средним значением и отклонением, зависящим от А.
3. ENTER - помещает транзакт в память.
Формат: ENTE[R] А, В
А - имя памяти символическое или числовое;
В - число занимаемых единиц памятнее умолчанию единица).
Проверяется наличие свободного объема памяти, номер которой определен в поле А. Если имеется свободная память, то транзакт входит в блок ENTER. При этом занятый объем памяти увеличивается на значение поля В. Если транзакт не может войти в блок ENTER, о задерживается в предыдущем блоке.
4. STORAGE - определяет емкость памяти.
Форматы: num STOR[AGE] А
num - номер памяти.
А - емкость.
STORAGE A,B
А - память (S) (стандартный числовой атрибут)
В - емкость памяти (по умолчанию 32767).
Устанавливает определенную емкость памяти. Если емкость не определена, то значением по умолчанию является 32767.
Примеры:
1. I STORAGE 1000
Память I имеет емкость 1000 единиц
2. STORAGE S$2,100
Память 2 имеет емкость 100.
5. LEAVE - выводит транзакт из памяти.
Формат: LEAV[E] А, В
А - номер памяти;
В - число освобождаемых единиц, памяти (по умолчанию 1).
Транзакт удаляется из памяти, имя (номер) которой указано в поле А. Число освобождаемых при этом единиц памяти определяется полем В.
Примеры:
1. LEAVE 2
Транзакт удаляется из памяти 2, освобождая одну единицу памяти.
2. LEAVE Р$1,3
Удаляет транзакт из памяти, номер которой определен параметром 1, и освобождает в ней 3 единицы объема.
6. SEIZE - занимает устройство.
Формат: SEIZ[E] А
А - номер устройства.
Транзакт пытается занять устройство, определенное полем А. Если прервано, транзакт задерживается в предыдущем блоке.
Примеры:
1. SEIZ 5
Попытка занять прибор 5.
2. SEIZ Р$3
Попытка занять прибор, указанный в параметре 3.
7. RELEASE - освобождает устройство.
Формат: RELEASE А
А - номер устройства(числовое или символьное имя освобождаемого устройства) .
Устройство, указанное в поле А, освобождается и становится доступным для других транзактов. Освобождать устройство должен тот же транзакт, который его занимал.
Примеры:
1. RELEASE 10
Освободить устройство 10.
2. RELEASE Р$2
Освободить устройство, указанное в параметре 2.
8. GATE - вспомогательный блок, проверяющий состояния устройств, памятей, логических ключей.
Формат: GATE R А,В Внутренний операнд R определяет проверяемое условие в виде логического атрибута и может принимать следующие значения:
U - устройство занято;
NU - устройство не занято;
I - устройство прервано;
NI - устройство не прервано;
SF - память заполнена;
SNF - память не заполнена;
SE - память пустая;
SNE - память не пустая;
LR - ключ выключен;
LS - ключ включен;
М - транзакт находится в состоянии синхронизации;
MN - транзакт не находится в состоянии синхронизации.
Если проверяемое условие для объекта, номер которого определяется полем А, выполняется (СЛА "ИСТИНА"), то транзакт входит в блок GATE. Если условие "ЛОЖЬ", то возможны два случая:
если поле В задано, то транзакт идет в блок, номер которого указан в поле В;
если в поле В пробел, то транзакт ждет в предыдущем блоке, пока не выполнится условие.
Примеры:
1. GATE SF 1
Если память номер 1 полна, то транзакт входит в блок GATE, в противном случае ждет ее заполнения.
2. GATE NU Р$2,МЕТ
Если устройство, номер которого определен параметром Р$2, не занятого транзакт входит в блок GATE, в противном случае он идет в блок с именем МЕТ.
9. TRANSFER - изменяет движение транзакта в модели.
Формат: TRAN[SFER] А,В,С,D
А - режим передачи (пробел,., ALL, BOTH, FN, P, PICK, SBR, SIM);
В - следующий блок;
С - следующий блок;
D - значение индекса, используемое в режиме ALL.
Транзакт направляется в блок, определяемый в соответствии с режимом передачи, указанным в поле А.
Режимы передачи поля А:
1. Пробел - транзакт передается в блок, определяемый полем В.
2. "." - статистический режим; в поле А указано десятичное число, выражающее вероятность перехода в блок С; его дополнение до единицы указывает вероятность перехода в блок В.
3. ALL - транзакт последовательно пытается перейти в блоки, определяемые значениями В, B+D, B+2D.....C.
4. BOTH - транзакт последовательно пытается войти в блок В, затем в блок С, до тех пор, пока один из них станет доступным.
5. FN - функциональный режим: поле В является номером функции; следующий блок определяется суммой значения этой функции поля С.
6. Р - параметрический режим: поле В является номером параметра; следующий блок определяется суммой значения этого параметра и поля С.
7. PICK - выборочный режим: блок выбирается с равной вероятностью из блоков с номерами: В, B+l,..., С.
8. SBR - режим перехода к подпрограмме: номер текущего блока помещается в параметр, указанный в поле С, а транзакт передается в блок, номер которого указан в поле В.
9. SIM - одновременный режим: проверяется одновременное выполнение условий беспрепятственного движения транзактов в задерживающих блоках. Если условие выполняется, транзакт передается в следующий блок, в противном случае транзакт переходит на блок С.
Примеры:
1. TRANSFER , NEXT
Безусловная передача в блок с меткой NEXT.
2. TRANSFER .400, FACI.FAC2
С вероятностью 0.6 транзакты будут переданы в блок FAC1 и с вероятностью 0.4 в блок FAC2.
10. TERMINATE - удаляет транзакт.
Формат: TERMI[NATE] А
А - величина, вычитаемая из содержимого счетчика завершений(поле А карты START).
Транзакт удаляется из модели и поступает в пассивный буфер. Если в поле А пробел, воздействия на счетчик завершений не происходит, в противном случае его значение уменьшается на величину, указанную в поле А.
Примеры
1. TERMINATE
Транзакт удален, но значение счетчика завершений не изменяется.
2. TERMINATE 2
Значение счетчика завершений уменьшается на 2.
2.2 Описание текста программы
BUF STORAGE 256
HD STORAGE 2560
GENERATE 800,400,640
ADVANCE 20
SEIZE BUF
ENTER BUF,2
RELEASE BUF
GATE SNF BUF,MET1
ADVANCE 102400
MET1 LEAVE BUF,2
ADVANCE 30
ADVANCE 100,30
ENTER HD,2
LEAVE HD,2
TRANSFER 0.2,OUT,MET2
MET2 SEIZE OB
ADVANCE 100,20
RELEASE OB
OUT TERMINATE 1
Генерируются 100 запросов каждые 800±400 мс. Эти заявки задерживаются на 20 мс, в связи с работой оперативной памяти по помещению заявки в буфер-накопитель (BUF). Входя в накопитель, каждая заявка занимает 2 Кбайта. Так как память накопителя определена - это 256 Кбайт, то в буфере одновременно может быть только 128 заявок. В буфере транзакты подвергаются задержке на 102000 мс. Это как раз время, за которое в устройство сгенерируются 128 транзактов (при данном условии).
Когда в накопитель зайдет 128-ой транзакт, то будет произведена проверка накопителя, есть ли свободный объем. В данной ситуации ответ будет отрицательным и накопитель начнет освобождаться. Транзакты будут переписываться на Жесткий диск (HD). Но перед этим они пройдут две задержки - одна на 20 мс, другая на 100±20 мс, и только потом начнется операция переписи на HD. Всю эту операцию определения свободного места в накопителе переход по метке к переписи на жесткий диск произвела функция GATE (кроме, конечно же, задержек). Функция и раньше проверяла накопитель на свободный объем, но описана лишь здесь, для того, чтобы не запутаться в логике программы.
Все транзакты перепишутся на HD. Запустится программа обработки данных, но так как это программа имеет самый низкий приоритет, то очень часто прерывается. В данной программе реализован вероятностный переход либо к терминатору, либо к обработке. Реализовано это с помощью функции TRANSFER. Вероятность перехода разработчик программы определяет сам. Здесь вероятность, что транзакт не будет обработан - 80%.
Затем начнется новая генерация транзактов. Так как по заданию нужно обработать 5 порций информации, а в одной порции информации 128 заявок, то получается нам нужно сгенерировать всего 640 транзактов.
2.3 Описание таблиц-выводов
GPSS World Simulation Report - КР.76.1
Wednesday, December 05, 2007 23:54:38
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 611161.935 17 2 2
NAME VALUE
BUF 10000.000
HD 10001.000
MET1 8.000
MET2 14.000
OB 10002.000
OUT 17.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 640 0 0
2 ADVANCE 640 0 0
3 SEIZE 640 0 0
4 ENTER 640 0 0
5 RELEASE 640 0 0
6 GATE 640 0 0
7 ADVANCE 623 0 0 MET1
8 LEAVE 640 0 0
9 ADVANCE 640 0 0
10 ADVANCE 640 0 0
11 ENTER 640 0 0
12 LEAVE 640 0 0
13 TRANSFER 640 0 0MET2
14 SEIZE 141 0 0
15 ADVANCE 141 0 0
16 RELEASE 141 0 0 OUT
17 TERMINATE 640 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
BUF 640 0.000 0.000 1 0 0 0 0 0
OB 141 0.023 99.055 1 0 0 0 0 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
BUF 256 256 0 256 1280 1 208.767 0.815 0 0
HD 2560 2560 0 2 1280 1 0.000 0.000 0 0
Таблица №1 - Рассмотрим полученные результаты
Время начала моделирования |
Время окончания моделирования |
Количество блоков |
Количество устройств |
Количество накопителей |
|
0 |
611161.935 |
17 |
2 |
2 |
Таблица №2
Имя |
Значение |
|
BUF |
10000.000 |
|
HD |
10001.000 |
|
MET1 |
8.000 |
|
MET2 |
14.000 |
|
OB |
10002.000 |
|
OUT |
17.000 |
Таблица №3
Идентификатор строки |
Номер блока |
Тип блока |
Количество входящих транзактов |
Количество текущих транзактов на блоке |
Количество ожидающих транзактов |
|
1 |
GENERATE |
640 |
0 |
0 |
||
2 |
ADVANCE |
640 |
0 |
0 |
||
3 |
SEIZE |
640 |
0 |
0 |
||
4 |
ENTER |
640 |
0 |
0 |
||
5 |
RELEASE |
640 |
0 |
0 |
||
6 |
GATE |
640 |
0 |
0 |
||
7 |
ADVANCE |
623 |
0 |
0 |
||
8 |
LEAVE |
640 |
0 |
0 |
||
9 |
ADVANCE |
640 |
0 |
0 |
||
10 |
ADVANCE |
640 |
0 |
0 |
||
11 |
ENTER |
640 |
0 |
0 |
||
12 |
LEAVE |
640 |
0 |
0 |
||
13 |
TRANSFER |
640 |
0 |
0 |
||
14 |
SEIZE |
141 |
0 |
0 |
||
15 |
ADVANCE |
141 |
0 |
0 |
||
16 |
RELEASE |
141 |
0 |
0 |
||
OUT |
13 |
TERMINATE |
640 |
0 |
0 |
Таблица №4
Устройство |
Кол-во входов |
Коэфф. загрузки |
Средн. время занятости |
Сост. Готовности в конце мод-ния |
Номер последнего сообщения |
Количество ожидающих сообщений |
Счетчик сообщений в списке прерываний |
Кол-во сообщ., ожид. спец условий |
Кол-во сообщ., ожид занятия устройства |
|
BUF |
640 |
0.000 |
0.000 |
1 |
0 |
0 |
0 |
0 |
0 |
|
OB |
141 |
0.023 |
99.055 |
1 |
0 |
0 |
0 |
0 |
0 |
Таблица №5
Имя многоканального устройства |
Описание |
Емкость |
Минимум емкости |
Максимум емкости |
Кол-во входов |
Сост. Готов в конце мод-ния |
Среднее количество |
Коэфф. загрузки устройства |
Кол-во сообщений, ожидающих спец. условий |
Кол-во сообщений, ожид. занятия устройства |
|
BUF |
256 |
256 |
0 |
256 |
1280 |
1 |
208.76 |
0,815 |
0 |
0 |
По таблице можно сделать вывод - был смоделирован процесс обслуживания 640 запросов. Число запросов, получивших отказ в обслуживании равно 0, поэтому мы можем сказать, что модель работает нормально, без сбоев. Но из-за низкого приоритета функции обработки сообщений было обработано только 22% сообщений. Из 640 введенных запросов только 141 был обработан, следовательно сбоев - 499. Через среднее время можно узнать сколько продолжался процесс обработки - кол-во обработанных заявок * среднее время занятости. Получится:
141 * 99,055=13966,755 ед. времени.
2.4 Построение графика
По данным, приведенным в таблице построим график. Для этого произведем следующие действия:
1. Произведем подготовку модели. Откроем Command -> Create Simulation.
2. Откроем окно построения графиков. Window -> Simulation window -> Plot Window.
Заполним следующее окошко - введем значения в поля Label, Expression, Title, Time Range, Min Value, Max Value.
Label - название функции («изменение емкости»)
Expression - значение функции. S - тип переменной (типа storage), BUF - имя накопителя, по емкости которого будет строиться график.
Title - название графика («емкость BUF»)
Time Range - время окончания моделирования.
Min Value - минимальное значение графика.
Max Value - максимальное значение графика.
Последние три поля нужно заполнить для того, чтобы провести масштабирование и получить красивый график.
Нажимаем кнопку Plot во вкладке New Expression.
3. Нажимаем OK.
Открываем Command -> START. В окошке напишем START 640 и нажмем OK.
Получаем график.
Данный график иллюстрирует заполненность транзактами накопителя BUF. График можно условно разделить на три области - в области 1 график имеет восходящий характер, происходит резкое увеличение транзактов в накопителе, связанное с быстрым генерированием транзактов в самом начале программы. В области 2 число транзактов остается примерно постоянным. Это связано с движением транзактов по программе, в накопитель входит и выходит одинаковое число транзактов. В облсти 3 график имеет нисходящий характер. Это связано с прекращением генерации новых транзактов и постепенным очищением накопителя. В конце концов емкость накопителя становится равна 0, как и в самом начале выполнения программы.
4. Реализация в среде AnyLogic
Среда имитационного моделирования AnyLogic позволяет создавать имитационные модели на основе объектов различных свойств и характеристик. Вообще активные объекты являются главными строительными блоками в AnyLogic, позволяя построить модель почти любого реального мира.
Активные объекты могут содержать вложенные объекты, причем уровень вложенности неограничен. Это позволяет провести декомпозицию модели на любое количество уровней детализации. Используя соединение методов объектно-ориентированного моделирования и установление различных видов связей между объектами можно четко определить взаимосвязь между реальными явлениями и проводить различные эксперименты, меняя входные данные и изучая поведение системы.
Для выполнения заданной задачи потребуются следующие фундаментальные объекты:
Source - генерирует заявки
Sink - удаляет поступающие заявки
SelectOutput - в зависимости от заданного условия пересылает заявку на один из выходных портов
Queue - Хранит заявки в указанном порядке
BatchQ - Помещает поступающие заявки в одну новую заявку - партию заявок, после чего пересылает ее дальше
Unbatch - Извлекает все заявки, содержащиеся в поступившей партии заявок, и пересылает их далее по отдельности
Delay - Задерживает заявки на заданный промежуток времени
Полученная имитационная модель.
Полученная анимационная модель, необходимая для интерактивного изменения входных параметров и визуального наблюдения за поведением модели с помощью выходных параметров.
Отчет, сгенерированный в AnyLogic:
Table of contents
Package: course
Active Object: Main
Project: course
Package: course
Active Object: Main
Structure |
||
Picture |
||
Variable |
generation |
|
Variable type |
real |
|
Initial value |
0.8 |
|
Variable |
obrabotka |
|
Variable type |
real |
|
Initial value |
100 |
|
Object |
source |
|
Description |
Данные от измерительных приборов поступают в буферную зону компьютера каждые 0,8 с +/- 0,4 с |
|
Type |
com.xj.anylogic.lib.enterprise_library.Source |
|
Parameters |
Name Value arrivalsMax 640 interarrivalTime triangular( generation-0.4, generation, generation+0.4 ) |
|
Object |
sink1 |
|
Description |
необработанные заявки уничтожаются |
|
Type |
com.xj.anylogic.lib.enterprise_library.Sink |
|
Object |
batchQ1 |
|
Description |
Это буферная зона компьютера. Здесь собираются заявки. Так как объем ограничен - 256 Кбайт (а каждая заявка - 2 Кбайта), то здесь сможет поместиться только 128 заявок Здесь заявки сгруппировываются в партии по 128 |
|
Type |
com.xj.anylogic.lib.enterprise_library.BatchQ |
|
Parameters |
Name Value size 128 onExit batchQ1.block() permanent false |
|
Object |
unbatch1 |
|
Description |
В этом устройстве партия заявок расформировывается, получается 128 заявок |
|
Type |
com.xj.anylogic.lib.enterprise_library.Unbatch |
|
Parameters |
Name Value onEnter batchQ1.unblock() |
|
Object |
delay |
|
Description |
работа процессора в связи с записью данных в буфер Т=0,02 с |
|
Type |
com.xj.anylogic.lib.enterprise_library.Delay |
|
Parameters |
Name Value delayTime triangular(0.02, 0.02, 0.02) |
|
Object |
delay1 |
|
Description |
Работа процессора в связи с записью на HD Т=0,03 с |
|
Type |
com.xj.anylogic.lib.enterprise_library.Delay |
|
Parameters |
Name Value delayTime triangular(0.03, 0.03,0.03 ) capacity 128 |
|
Object |
delay2 |
|
Description |
Совместная работа процессора и HD над записью заявок на HD Т=0,1 с +/- 0,03 с |
|
Type |
com.xj.anylogic.lib.enterprise_library.Delay |
|
Parameters |
Name Value delayTime triangular( 0.07, 0.1, 0.13 ) capacity 128 |
|
Object |
chartTime |
|
Type |
com.xj.anylogic.lib.business_graphics_library.ChartTime |
|
Parameters |
Name Value Placeholder animation.rectangle1 Data0 batchQ1.size() Color0 BGBase.RED LegendText0 "заявки перед буфером" ScaleType FIXED SAME FOR ALL DATA FillUnderneath true Maximum 140 TimeWindow 20 |
|
Object |
chartTime2 |
|
Type |
com.xj.anylogic.lib.business_graphics_library.ChartTime |
|
Parameters |
Name Value Placeholder animation.rectangle2 TimeWindow 20 ScaleType FIXED SAME FOR ALL DATA FillUnderneath true Data0 delay3.size() LegendText0 "обработка заявки" Maximum 2 |
|
Object |
selectOutput |
|
Description |
Если не происходит никаких процессов записи, то начинается обработка информации, но при этом программа обработки имеет самый низкий приоритет и прерывается записью заявок в буфер и на HD |
|
Type |
com.xj.anylogic.lib.enterprise_library.SelectOutput |
|
Parameters |
Name Value selectCondition queue.size()<5 |
|
Object |
sink2 |
|
Description |
обработанные заявки уничтожаются |
|
Type |
com.xj.anylogic.lib.enterprise_library.Sink |
|
Object |
delay3 |
|
Description |
обработка информации Т=100 с +/- 20 с |
|
Type |
com.xj.anylogic.lib.enterprise_library.Delay |
|
Parameters |
Name Value delayTime triangular( obrabotka-20, obrabotka, obrabotka+20 ) |
|
Object |
queue |
|
Type |
com.xj.anylogic.lib.enterprise_library.Queue |
|
Parameters |
Name Value capacity 5 |
|
Comment |
textBox8 |
|
Text |
В Системе Автоматизации экспериментов данные от измерительных устройств записываются в буферную зону компьютера. После заполнению буфера, данные переписываются на накопитель на жестком диске. Для обработки каждой новой заявки запускается программа, требующая около 100 с работы процессора. Но программа имеет самый низкий приоритет и прерывается программными сбора и перезаписи данных на HD. |
|
Comment |
textBox7 |
|
Text |
Генерация новых заявок - данных от измерительных устройств |
|
Comment |
textBox6 |
|
Text |
Задержка работы процессора, связанная с записью данных в буфер компьютера |
|
Comment |
textBox5 |
|
Text |
Распаковка заявок, сгруппированных в буфере компьютера (устройство batchQ1) |
|
Comment |
textBox4 |
|
Text |
Устройство - воплощение буфера - заявки в виде данных собираются, пока их число не станет максимальным, после этого сгруппированная порция заявок переписывается из буфера компьютера на его диск. |
|
Comment |
textBox3 |
|
Text |
Задержки времени, связанные с подготовкой и самой записью порции данных на HD |
|
Comment |
textBox2 |
|
Text |
Логическое условие - если в данный момент времени заявки не обрабатываются (очередь меньше 5), то послать заявку на обработку, в противном случае заявка не обрабатывается и остается записанной на HD |
|
Comment |
textBox1 |
|
Text |
обрабатанные заявки |
|
Comment |
textBox |
|
Text |
необработанные заявки |
Animation |
||
Name |
animation |
|
Picture |
||
Slider |
slider |
|
Variable name |
generation |
|
Min value |
0.41 |
|
Max value |
1.6 |
|
Slider |
slider1 |
|
Variable name |
obrabotka |
|
Min value |
50 |
|
Max value |
100 |
5. Анализ полученных результатов
Итак, мы получили две модели, выполненные в разных средах имитационного программирования. Теоретически здесь должен находиться раздел, сравнивающий анализы обоих моделей, и делающий выводы о приближенности к реалиям, достоверности, но в данной курсовой модели этого не произойдет. А причина в следующем - в среде имитационного моделирования GPSS не удалось осуществить некоторых необходимых функции для полного осуществления модели.
В GPSS нельзя осуществить прерывание программы-обработчика функциями по сбору и переписи заявок на HD. Можно установить приоритет, но это не совсем то, что от нас требуется в задании. Также очень сложно осуществить блокировку устройств или операций по условию. Наконец в GPSS невозможно протекать процессам параллельно и независимо друг от друга, так как программа жестко алгоритмична и структурирована.
В AnyLogc, напротив возможно провести параллелизацию процессов, что, в конечном счете, решило проблему прерывания программы-обработчика. В результате можно сказать, что при заданных входных параметрах:
Генерация 640 данных, представленных в виде заявок
Объем буфера - 128 заявок
Обработка каждой заявки - 100 +/- 20 с
Будет обработано только 4-5 заявок, что составляет 0,78 % от общего числа. Только такой процент заявок будет обработан во время получения данных. Остальные заявки будут обработаны только после окончания принятия заявок на компьютер.
Есть несколько путей решения задачи по повышения процента обработанных заявок:
1. Сокращение времени обработки заявки. Сокращение времени со 100 +/- 20 с до 50 +/- 20 с позволит увеличить процент обработанных заявок до 1.5%, то есть в 2 раза. Этот путь является по сути малоэффективным и трудным, так как значительное сокращение времени обработки повлечет за собой не столь значительный рост числа обработанных заявок.
2. Совершенствование программы-обработчика по направлению увеличению числа одновременно обрабатываемых заявок. Может быть, это будет механизм распараллеливания процессов, а может это будет преобразование информации из двух заявок в одну, комбинированную. В любом случае, рост эффективности будет выше, чем при 1-ом варианте, но вместе с этим этот путь является еще более сложным, чем 1-ый.
Размещено на Allbest.ru
...Подобные документы
Концептуальная модель процесса обслуживания покупателей в магазине. Описание системы моделирования GPSS. Разработка моделирующей программы на специализированном языке имитационного моделирования в среде AnyLogic. Результаты вычислительных экспериментов.
курсовая работа [906,9 K], добавлен 12.07.2012Особенности систем массового обслуживания и сущность имитационного моделирования с использованием GPSS. Структурная схема модели системы и временная диаграмма. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.
курсовая работа [214,2 K], добавлен 23.06.2011Создание имитационной модели системы массового обслуживания с помощью языка имитационного моделирования GPSS/PC - моделирование обработки на участке 500 деталей. Определение загрузки второго станка на вторичной обработке и вероятности появления отходов.
курсовая работа [602,3 K], добавлен 30.11.2010Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic. Средства описания поведения объектов. Анимация поведения модели, пользовательский интерфейс. Модель системы обработки информации в среде компьютерного моделирования.
курсовая работа [1,5 M], добавлен 15.05.2014Использование языка GPSS для описания модели автосервиса, обслуживающего автомобили различных моделей с учетом их приоритета. Сущность и возможности имитационного моделирования. Разработка GPSS-модели функционирования ремонтных работ в автосервисе.
курсовая работа [259,4 K], добавлен 08.05.2013Определение необходимого количества работников и их распределение между операциями, при которых достигается максимальная экономическая эффективность работы цеха. Описание процессов, протекающих в моделях систем массового обслуживания. Листинг программы.
курсовая работа [314,9 K], добавлен 09.06.2015Построение модели системы массового обслуживания с помощью ЭВМ с использованием методов имитационного моделирования. Моделирование проводилось с помощью GPSS World Student version, позволяющего достоверно воссоздать систему массового обслуживания.
курсовая работа [555,7 K], добавлен 29.06.2011Применение метода имитационного моделирования с использованием генератора случайных чисел для расчета статистически достоверных переменных. Создание программы на языке GPSS. Результаты моделирования диспетчерского пункта по управлению транспортом.
курсовая работа [399,9 K], добавлен 28.02.2013Методы прогнозирования, их классификация. Использование рекламы в социологии. Пооперационная разработка, реализация и конфигурирование модели в пакете Anylogic. Создание анимации. Описание имитационных вычислительных экспериментов, анализ результатов.
курсовая работа [1,7 M], добавлен 03.06.2012Структурная схема, классификация устройств СМО и анализ динамики ее функционирования. Формализация модели СМО средствами GPSS World. Модификация имитационной модели. Реализация модельных экспериментов. Имитационное моделирование СМО в среде GPSS World.
курсовая работа [504,6 K], добавлен 14.12.2012Понятие и особенности технологии Ethernet, алгоритм работы сети. Построение схемы сети Ethernet по принципу топологии шины. Аналитическое и имитационное моделирование базовой 10-мегабитной сети Ethernet с помощью специализированной системы GPSS Worl.
курсовая работа [268,1 K], добавлен 16.05.2013Разработка решения задачи имитационного моделирования системы массового обслуживания (СМО), на примере склада продукции. Построение концептуальной модели системы. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.
курсовая работа [75,5 K], добавлен 26.06.2011GPSS как один из эффективных и распространенных языков моделирования сложных дискретных систем. Возможности языка GPSS. Построение имитационной модели "Моделирование мини-АТС". Разработка программы работы диспетчерского пункта в торговом предприятии.
курсовая работа [118,8 K], добавлен 19.01.2016Моделирование системы, состоящей из ЭВМ (BLK1, BLK2, BLK3) и передающей пакеты данных на обслуживание; распределение вероятностей передачи пакетов. Имитационное моделирование GPSS/PC; математическая модель, машинная программа, оценка и анализ результатов.
курсовая работа [69,1 K], добавлен 28.06.2011Разработка концептуальной модели системы обработки информации для узла коммутации сообщений. Построение структурной и функциональной блок-схем системы. Программирование модели на языке GPSS/PC. Анализ экономической эффективности результатов моделирования.
курсовая работа [802,8 K], добавлен 04.03.2015Разработка программы с использованием GPSS, моделирующей процесс работы взлётно-посадочной полосы. Сравнение результатов имитационного моделирования и аналитического расчета характеристик. Блок-диаграмма модели. Возможные улучшения в работе системы.
курсовая работа [393,3 K], добавлен 03.07.2011Понятие компьютерной модели и преимущества компьютерного моделирования. Процесс построения имитационной модели. История создания системы GPSS World. Анализ задачи по прохождению турникета на стадион посредством языка имитационного моделирования GPSS.
курсовая работа [291,3 K], добавлен 11.01.2012Программные средства системного моделирования. Разработка программы процесса работы кладовой на фабрике с использованием языка имитационного моделирования GPSS. Сравнение результатов моделирующего алгоритма и аналитического расчета характеристик.
дипломная работа [757,1 K], добавлен 21.06.2011Характеристика функций имитационного моделирования. Знакомство с особенностями имитационного моделирования агрегированной системы массового обслуживания. Анализ программы GPSSWorld: рассмотрение возможностей, способы составления имитационной модели.
курсовая работа [1,6 M], добавлен 27.05.2013Моделирующие программы системы GPSS WORLD. Блоки и транзакты - типы объектов системы. Событийный метод моделирования. Проект моделирования работы в библиотеке, его анализ с помощью среды GPSS WORLD. Описание процесса и метода моделирование системы.
курсовая работа [227,4 K], добавлен 16.08.2012