Смоделировать обслуживание 100 заявок, при одном и двух прогонах программы, которые поступают на обслуживание каждые 4±3 мин. Обработка заявок может осуществляться четырьмя каналами с равной вероятностью и временем обслуживания 12±2 мин, 7±2 мин, 10±2 мин, 13±2 мин соответственно. Проанализируйте полученные результаты.
Лабораторная работа №3
Обработка транзактов, принадлежащих одному семейству
Цель работы: научиться генерировать транзакты, принадлежащих одному или разным семействам.
Задачи: ознакомиться с основными операторами генерации транзактов одного семейства, реализовать представленные примеры, сгенерировать отчет и проанализировать его.
Блок SPLIT выполняет функцию копирования транзакта, входящего в него, самостоятельно создавать транзакты он не может. При этом входящий транзакт называют транзактом-родителем, а копию – транзактом-потомком. Каждый транзакт-потомок становится членом семейства транзактов, порожденных одним транзактом-родителем. Формат блока:
|
|
SPLIT <А>, <B>, <С>
Операнд А указывает число создаваемых копий транзакта. Операнд B - метка блока, куда отправляются копии. В операнде С может быть задан номер параметра, используемого для присвоения копиям последовательных номеров.
Блок ASSEMBLE объединяет определенное количество транзактов, после чего из него выходит один транзакт, а все остальные уничтожаются. Т.о., этот блок осуществляет сборку заданного числа транзактов. Он имеет следующий формат:
ASSEMBLE <А>
Поле А объединяет заданное число транзактов, принадлежащих к одному семейству, в один транзакт, который переходит в следующий по номеру блок.
Пример 6. В цех поступают детали по равномерному закону в интервале 5±2 мин. Обработка деталей, поступивших на первую сортировку, осуществляется также по равномерному закону в интервале от 4 до 8 мин. Далее рассортированные детали проходят параллельную обработку с еще одним этапом сортировки, т.е. формируется новая деталь, состоящая из двух исходных. После обработки новые детали собираются в одном помещении. Смоделировать работу цеха по обработке 100 деталей.
Листинг программы примера 6:
generate 5,2,,100
split 1,obr1det
seize 1
advance 6,2
release 1
transfer,out
obr1det split 1, obr2det
seize 2
advance 6,2
release 2
transfer,out
obr2det seize 3
advance 6,2
release 3
out assemble 3
terminate 1
start 100
Сгенерируйте отчет, проанализируйте полученные результаты, сделайте выводы.
Блок GATHER осуществляет накопление транзактов одного и того же семейства, с последующей попыткой одновременной передачи их к следующему блоку. Формат блока:
GATHER <А>
Операнд А задает число транзактов, которое необходимо накопить.
Пример 7. На участок сборки подшипников поступает 100 деталей с интервалом времени от 21 до 29 мин. Одна деталь состоит из 1 обоймы и 8 шариков. На контроль обоймы затрачивается от 3 до 5 мин; контроль шариков осуществляется последовательно от 1 до 3 мин на шарик. Операция сборки требует одновременного поступления обоймы и 8 шариков и производится от 2 до 6 мин. Все процессы подчиняются равномерному закону. Смоделировать процесс прохождение 100 деталей на производственном участке сборочного цеха.
|
|
Листинг программы примера 7:
detal generate 25,4,,100
split 8,shar
oboima seize 1
advance 4,1
release 1
transfer,soed
shar seize 2
advance 2,1
release 2
gather 8
soed assemble 9
podsh seize 3
advance 4,2
release 3
terminate 1
start 100
Сгенерируйте отчет, проанализируйте полученные результаты, сделайте выводы.
С помощью блока MATCH осуществляется синхронизация продвижения транзактов по модели с другим блоком MATCH.
Пример 8. Детали на участок поступают с интервалом времени 300±50 мин, их обрабатывают двое рабочих. После завершения операции обработки, выполняемой 1-м рабочим со временем 90 мин и 2-м со временем 60, осуществляется операция сверки, время выполнения которой принимается равной нулю. Затем 3-й рабочий производит сборку изделия из этих деталей со временем 40 мин. Сборка начинается только после поступления всех деталей. Смоделировать процесс прохождения 100 деталей.
Листинг программы примера 8:
detal generate 300,50
split 1,rab2
rab1 seize 1
advance 90
qq1 match qq2
release 1
transfer,soed
rab2 seize 2
advance 60
qq2 match qq1
release 2
soed assemble 2
rab3 seize 3
advance 40
release 3
terminate 1
start 100
Сгенерируйте отчет, проанализируйте полученные результаты, сделайте выводы. Смоделируйте пример 7 без условия синхронизации.