Имитационное моделирование

Моделирование процесса сбора и обработки данных из системы автоматизации экспериментов в средах имитационного программирования 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.2011

  • GPSS как один из эффективных и распространенных языков моделирования сложных дискретных систем. Возможности языка 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.