Системы массового обслуживания. Оператор описания функций Function. Оператор EQU

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Фрагмент текста работы

Написать программу для моделирования ситуации, когда транзакты поступают в устройства с равной вероятностью.

·  Для всех программ  выполнить 2-3 прогона.

          Списки системы

Интерпретатором GPSS сообщения (транзакты) заносятся в списки, в которых они хранятся.

Вставить другие списки

В списке текущих событий находятся сообщения, соответствующие событиям, время наступления которых меньше или равно текущему модельному времени.

Список пользователя содержит сообщения, удаленные пользователем из списка текущих событий и помещенные в список пользователя как временно неактивные. Со списком пользователя связаны блоки LINK и UNLINK.

Перевод сообщений из списка текущих событий в список пользователя осуществляется блоком LINK. Удаление сообщений из списка пользователя производится блоком UNLINK.

Пример 2. Требования поступают в систему через 20±2 мин. и направляются во второй канал обслуживания в течение 70 мин. По прошествии 70 мин. требования направляются на обслуживание в первый канал. Каждый из каналов производит обслуживание со временем 19±7 мин. Предусмотреть вывод требований в списки пользователя и их возврат на обслуживание в каналы. Первый канал обслуживает требования, 100 из которых полностью обслуживаются и выводятся из системы, а остальные требования отправляются на дообслуживание во второй канал. В первом канале обслуживание предусмотреть по дисциплине FIFO (первым пришел, первым обслужился). Смоделировать процесс обслуживания требований и собрать статистику о работе каналов, возникающих очередях, списках пользователя.

Решение примера 2 приводится как программа 2.

Программа 2

generate 20,2

assign    13,7

test G    c1,70,que2

queue     1; 1-я очередь

link      waz1,fifo,chan1

chan1     seize     1; 1-е устройство с меткой chan1

depart    1

advance   19,7

release   1

unlink G waz1,chan1,1,13,6,que2

terminate 1

que2      queue     2; 2-я очередь с меткой que2

seize     2; 2-е устройство

depart    2

advance   19,7

release   2

terminate

start     100

В программе 2 два блока, распределяющие транзакты по каналам: блок TEST в режиме сравнения "больше" (G) и блок UNLINK, который удаляет транзакты из списка пользователя сначала в первое устройство, а потом во второе устройство (точнее во вторую очередь). Следует отметить, что работа блоков LINK и UNLINK в сильной степени зависит от соотношения времени генерации транзактов и их временной задержки в устройствах. Реализация достижения момента в 70 мин. достигается при введении в поле <A> блока TEST системного числового атрибута С1 — текущего значения условного модельного времени. Один блок TERMINATE отсчитывает число завершений, заданного в операторе START (START 100). Другой блок TERMINATE выводит транзакты из системы без уменьшения счетчика числа завершений (поле <A> пусто).

Формат записи блока LINK:

link waz1,fifo,chan1

В поле <A> блока LINK задается имя списка пользователя, куда заносятся транзакты (в программе задано имя waz1). Поле <B> задает алгоритм упорядочивания списка пользователя (в программе применена дисциплина FIFO). В поле <B> могут быть использованы операнды: FIFO, LIFO — последним пришел первым вышел, номер параметра, приоритет, время нахождения транзакта в модели М1 или С1. В поле <C> задается альтернативный выход (в программе по метке chan1 транзакты отправляются в первое устройство под номером 60).

Формат записи блока UNLINK:

unlink G waz1,chan1,1,13,16,que2

В данном случае задействованы все поля блока UNLINK: <A>, <B>, <C>, <D>, <E>, <F> и вспомогательное поле <X>.

В поле <X> установлен указатель отношения G — больше. Отношение истинно, если значение параметра, заданного в поле <D>, больше значения, заданного в поле <E>.

Поле <A> задает имя списка пользователя (в программе waz1), из которого удаляются транзакты.

В поле <B> указывается имя блока, к которому переходят удаленные транзакты (в программе блок с меткой chan1).

Поле <C> задает число удаляемых из списка транзактов (в программе 1). Операнд поля <C> может быть именем, положительным целым (как в программе число 1), СЧА.

В поле <D> задан номер параметра (в программе номер 13, который переопределен блоком ASSIGN на число 7). Поле <D> может быть именем, целым (как в программе номер параметра), СЧА.

Поле <E> определяет числовой атрибут (в программе задано число

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.