*Люди с левой стороны

GENERATE 30,10

QUEUE QPEOPLEV

GATE LR MASH

ENTER PEOPLEV

DEPART QPEOPLEV

ADVANCE 120,60

LEAVE PEOPLEV

TERMINATE

*Люди с правой стороны

GENERATE 30,10

QUEUE QPEOPPRAV

GATE LR MASH

ENTER PEOPPRAV

DEPART QPEOPPRAV

ADVANCE 120,60

LEAVE PEOPPRAV

TERMINATE

*Таймер

GENERATE 86400

TERMINATE 1

Моделирование работы станции технического контроля производственной линии

1. Постановка задачи. Собранные телевизион­ные приемники после сборки проходят серию испытаний на станциях технического контроля. На последней из этих станций проверяют регулировку установки кадров по вертикали. Если оказывается, что функционирование теле­визора ненормально, то отбракованный телеви­зор переправляют в цех наладки, где заменяют блок установки кадров по вертикали. После наладки телевизор возвращают на последнюю станцию контроля и снова проверяют. Теле­визионные приемники уходят с последней стан­ции после одной или нескольких проверок в цех упаковки.

Описанная ситуация представлена на рис. 2F.1. Кружками представлены телевизоры. Пустые кружки символизируют телевизоры, ожидающие проверки и проверяемые телеви­зоры, а перечеркнутые — телевизоры с нару­шенной регулировкой по вертикали. Они либо находятся в наладке, либо ожидают обслужи­вания в цехе наладки.

Телевизионные приемники попадают на последнюю станцию с предыдущей каждые 5±2 мин. На станции находятся два контро­лера. Каждому из них требуются на проверку 9±3 мин. Примерно 85% телевизоров про­ходят проверку успешно и попадают в цех упаковки. Остальные 15% попадают в цех наладки, в котором находится один рабочий-наладчик. Наладка блока регулировки по вер­тикали занимает 30 ± 10 мин.

НЕ нашли? Не то? Что вы ищете?

Напишите на GPSS модель функционирова­ния этого подразделения производственной ли­нии. С помощью этой модели оцените, сколько мест на стеллажах необходимо предусмотреть на входе станции контроля и в цехе наладки. Место на стеллажах — это пространство, пред­назначенное для хранения ожидающих в оче­реди элементов, в данном случае телевизионных приемников.

2. Метод построения модели. Такую модель легко реализовать в виде одной последователь­ности блоков. Транзакты-телевизоры проходят последовательность QUEUE — ENTER — DEPART — ADVANCE — LEAVE (СТАТЬ В ОЧЕРЕДЬ — ВОЙТИ — ПОКИНУТЬ ОЧЕРЕДЬ — ЗАДЕРЖАТЬ — ВЫЙТИ), мо­делирующую станцию контроля. Из блока LEAVE они входят в блок TRANSFER (ПЕРЕ­ДАТЬ) в режиме статистической передачи. Отсюда в 85% случаев они «проваливаются» в блок TERMINATE (ЗАВЕРШИТЬ). Осталь­ные 15% переходят в последовательность QUEUE — SEIZE — DEPART — ADVANCE-RELEASE (СТАТЬ В ОЧЕРЕДЬ — ЗАНЯТЬ - ПОКИНУТЬ ОЧЕРЕДЬ — ЗАДЕРЖАТЬ — ОСВОБОДИТЬ), моделирующую станцию наладки. После выхода из блока RELEASE они безусловно передаются в блок QUEUE, связанный со станцией контроля. Счетчики максимального содержимого для обеих очередей можно интерпретировать как объем места на стеллажах, предназначенных для хранения приемников на станциях контроля и наладки соответственно.

3. Таблица определений. Единица времени: 0,1 мин.

Таблица 2F.1. Таблица определений примера моделирования 2F

Элементы GPSS

Интерпретация

Транзакты:

1 сегмент модели

2 сегмент модели

Телевизоры

Транзакт-таймер

Приборы:

FIXER

Рабочий в цехе наладки

Очереди:

AREA1

AREA2

Место для ожидания на станции технического контроля

Место для ожидания в цехе наладки

Многоканальные устройства:

TEST

Рабочие на станции технического контроля


4. Блок-схема




5. Распечатка программы


7. Обсуждение. Использование модели. Моделирование вы­полняется для пяти восьмичасовых рабочих дней подряд с агрегированным сбором стати­стики; сбор ведется от начала моделирования и статистика распечатывается для конца каж­дого дня. В распечатке программы на рис. 2F.3 видно, как это осуществлено с помощью зна­чений операндов блока GENERATE (карта 26) и карты START (карта 31). В соответствии со значениями операндов А и С карты START счетчики завершений и снимков устанавли­ваются в значении 5 и 1 соответственно. Транзакт-таймер входит в модель через каждые 480 мин модельного времени и сразу же завер­шает свою работу, вычитая по единице из обоих счетчиков. В первых четырех случаях интерпретатор: а) распечатывает стандартные статистические параметры, поскольку счетчик снимков сбрасывается в ноль; б) восстанавли­вает счетчик снимков в единицу и в) продол­жает выполнение моделирования, поскольку счетчик завершений еще не равен нулю. На­конец, когда пятый транзакт-таймер входит в модель, моделирование завершается, и в пя­тый и последний раз распечатываются статисти­ческие данные.

Результаты моделирования. (Полное время моделирования на ЭВМ IBM 360/67 равнялось 4,1 с.) Обращаясь к рис. 2F.4, д, получаем ма­ксимальное число телевизоров в очередях AREA1 и AREA2, находящихся перед стан­цией контроля и станцией наладки. Эти значе­ния равны 3 и 5 соответственно в течение пяти моделируемых дней. Эти максимальные значе­ния были получены уже на исходе первого моделируемого дня (см. рис. 2F.4, а), что гово­рит о том, что этот параметр вошел в устойчивое состояние. В противоположность этому, значе­ние AVERAGE TIME/TRANS (СРЕДНЕЕ ВРЕМЯ/ТРАНЗ) для очереди 2 меняется.

В течение первого дня 17,2% телевизоров, прошедших через станцию контроля, были пере­даны в цех наладки [см. рис. 2F.4, а, из 101 TOTAL ENTRIES (ЧИСЛО ВХОДОВ) оче­реди AREA1 99 прошли проверку, а 2 нахо­дятся в очереди; из 99 прошедших проверку 17 были посланы в очередь AREA2]. В течение пяти дней, как показывает информация на рис. 2F.4, д, 14,2% проверенных телевизоров было передано в цех наладки.

Оценка влияния численности рабочей силы на срок выполнения проекта, заданного стохастическим сетевым графиком

1. Постановка задачи. Сеть на рис. 7D.1 представляет собой последовательность проектов, которые необходимо выполнить для завершения всего комплекса работ. Для обозначения каждого конкретного проекта использована пара кружков (узлов), соединенных стрелкой. Например, узел 1 соединен с узлом 2, обозначая так называемый проект 1—2. У каждой стрелки дана надпись, означающая, сколько людей и какое число временных единиц требуется для выполнения соответствующего проекта. Так, для завершения проекта 1—2 требуется четыре человека и 14 ± 6 единиц времени.

Сеть на рис. 7D.1 представляет также ограничения, связанные с порядком следования различных проектов, показывая, какие проекты должны быть завершены перед тем, как другие проекты могут быть начаты. Например, проекты 2—4 и 3—4 обязаны быть завершены перед тем, как может быть начат проект 4—7. Аналогично, проект 5—7 не может быть начат, пока не закончится проект 2—5 и пока не завершатся проекты, входящие в узел 4. (Заметим, что пунктирная линия, идущая из узла 4 и узел 5, представляет собой фиктивный проект, не требующий ни людей, ни времени. Фиктивность просто подчеркивает временное ограничение по отношению к началу проекта 5—7).

В проектах, подобных представленному на рис. 7D.1, важно выяснить, сколько времени потребуется для завершения всего комплекса работ; а именно, следует оценить распределение случайной переменной «время выполнения комплекса работ». Ясно, что это распределение зависит от распределения времен завершения проектов и от заданных отношений предшествования. Предположим, что в работе над всем комплексом принимает участие фиксированное число рабочих, тогда время завершения комплекса зависит также от имеющейся рабочей силы. Если рассматривать экономический аспект задачи, то может существовать стоимостная зависимость между временем выполнения комплекса работ и степенью использования всей рабочей силы.

Построить GPSS-модель комплекса работ, показанного на рис. 7D.1 Использовать модель для исследования поведения случайной переменной «время выполнения» как функции числа рабочих, назначенных для исполнения всего комплекса работ. Оценить также распределение случайной величины— «число занятых рабочих» для каждого уровня наличия рабочей силы.

2. Метод построения модели. Транзакт интерпретируется как бригадир проекта. У каждого проекта имеется собственный бригадир. Бригадир не поступает в модель до тех пор, пока условия предшествования не позволят начаться соответствующему проекту. (В некоторых случаях бригадир может оставаться в модели для управления двумя или более проектами). Конечно, даже когда выполнены условия предшествования, бригадир может ждать необходимой рабочей силы перед тем, как начать выполнение проекта.

Для представления различных узлов в сети приняты следующие правила.

1.  Когда узел является конечной точкой для двух и более проектов, в этом узле используется блок ASSEMBLE. Это дает гарантию того, что все проекты, приходящие в узел, будут завершены перед тем, как будет сделана попытка начать проекты, выходящие из этого узла.

2.  Если узел является начальной точкой для двух или более проектов, в нем используется блок SPLIT. Это обеспечивает соответствующее число бригадиров для управления проектами, начинающимися в данном узле.

Теперь, используя эти простые соображения, в узле 1 на рис. 7D.1 можно поставить блок SPLIT. Аналогично, блок SPLIT может быть использован в узлах 2 и 3. В узле 4 используется последовательность блоков ASSEMBLE—SPLIT. В узлах 5 и 7 необходимы блоки ASSEMBLE. Наконец, в узле 6 не требуются ни ASSEMBLE, ни блок SPLIT. (Заметим, что для выполнения проекта 3—6 требуется только один рабочий, тогда как для выполнения проекта 6-7 требуются четыре человека.)

Что касается ограничения на рабочую силу, то каждый бригадир проекта может o6paщаться к общему резерву рабочей силы из соответствующим образом размещенных блоков ENTER - LEAVE, имеющих нужные величины в операндах В. При просчетах модели распределение времени завершения может быть сначала определено при емкости многоканального устройства равной 5 (максимальное число рабочих, требуемых для проекта 2—5, равно 5). Затем провести дополнительные просчеты, последовательно увеличивая емкость многоканального устройства. Наконец, можно определить емкость многоканального устройства, соответствующую практически неограниченному количеству рабочей силы.

Распределение случайной величины “число занятых рабочих” требует использования таблицы.

3.  Таблица определений. Единица времени: единица времени подразумевается в постановке задачи.

Таблица 7D.1. Таблица определений примера моделирования 7D

Элемент GPSS

Интерпретация

Транзакты:

1-й сегмент модели

2-й сегмент модели

Бригадир проекта

Транзакт-наблюдатель:

P1- время, в которое произошла последняя запись в таблицу INUSE

Логические переключатели:

NEXT1

Логический переключатель, не позволяющий начаться новому прогону полного комплекса работ до тех пор, пока не завершится текущая итерация

Многоканальные устройства:

MEN

Многоканальное устройство, используемое для имитации ограниченности рабочей силы

Таблицы:

INUSE

RTIME

Взвешенная таблица, в которую заносят число занятых рабочих

Таблица, в которую заносят полное время выполнения комплекса работ

7. Обсуждение. Логика моделирования. В распечатке программы, приведенной на рис. 70.3, некоторые блоки имеют метки, несмотря на то, что они не нужны. Это сделано для того, чтобы распечатка соответствовала блок-схеме на рис. 70.2. (Эти избыточные имена присвоены ключевым блокам для того, чтобы установить соответствие между различными узлами сети и проектами. Во избежание затрудненного пони­ания блок-схемы на рис. 70.2 на ней не сделаны пояснительные надписи.)

Обратите внимание, каким образом в начале 1-го сегмента модели использованы блок GATE и логический переключатель для предотвращения начала следующего прогона полного комплекса до окончания текущей итерации. Транзакт-инициатор не выходит из блока GENERATE до тех пор, пока не наступит время начала следующего просчета. Вспомним, что в гл. 4 было указано, что транзакту не назначается отметка времени до тех пор, пока он не выйдет из блока GENERATE. Вспомним также (см. гл. 6), что все потомки, вышедшие из блока SPLIТ, имеют такую же отметку времени, что и их родитель. Эти два факта объясняют, почему величина М1 у транзакта, выходящего из последнего блока АSSEMBLE (блок 25 на рис. 70.3), равна полному времени завершения комплекса для текущего просчета. (Заметьте, что М1 является аргументом для таблицы RTIME, см. карту 10 на рис. 70.3).

Второй сегмент модели состоит из замкнутой блок-схемы, предназначенной для оценки распределения случайной величины — числа занятых рабочих. Алгоритм работы этого сегмента очевиден. Обратите внимание на то, что приоритет транзакта-наблюдателя равен 1 (для того, чтобы он всегда находился в начале цепи текущих событий) и что его параметры заданы полными словами (для того, чтобы не возникло переполнения блока MARK при работе).

Использование модели. Как видно из упра­вляющих карт на рис. 70.3, последовательные просчеты были сделаны для случаев 5, 6, 7 10, 11 и 12 рабочих в одной общей группе (предварительно можно сказать, что для указанной работы никогда не потребуется более 11 рабочих одновременно). Каждый просчет времени завершения проекта основан на 250 завершениях (250 прогонов проекта при каждом уровне рабочей силы).

Распечатка результатов (время моделирования на ЭВМ 1ВМ 360/67 составило 57,6 с. На рис. 70.4 показана часть распечатки результатов, соответствующих уровню рабочей силы, равному 11. На рис. 70.4, а—в показаны соответственно статистика многоканального устройства, распечатка таблицы INUSE и таблица RTIME. Заметим, что AVERAGE CONTENTS (среднее содержимое) многоканального устройства и взвешенное МЕАN АVERAGE (среднее значение) таблицы INUSE, как и следовало ожидать, совпадают.

В табл. 7D.2 помещен итог просчета модели, приведенной на рис. 7D.3. В таблице показаны средние значения и стандартные отклонения времени завершения. В ней также приведены результаты использования рабочей силы на каждом ее уровне и указано максимальное число рабочих, используемых одновременно (в качестве этой величины берется величина последнего UPPER LIMIT (верхнего предела) в статистике таблицы INUSE). При различных временах во время одного или более прогонов все рабочие из резерва рабочей силы были заняты, при условии, что резерв содержит 11 или меньше рабочих. Как видно из последней строки табл. 7D.2, 11 рабочих соответствуют «неограниченной рабочей силе». Ни разу не использовали одновременно 12 рабочих. Несмотря на это, результаты для 12 рабочих не совпадают точно с результатами для 11 рабочих. В упражнении 6 параграфа 7.30 читателю будет предложено объяснить это. Что касается использования рабочей силы, то оно достигает максимума при уровне рабочей силы, равном 8, но последовательно не возрастает до этого уровня и последовательно не убывает после этого уровня.

Тенденцию к уменьшению среднего времени завершения и его стандартного отклонения, заметную в первых четырех строках табл. 7D.2, можно было ожидать. С девятью и более рабочими в резерве рабочей силы эта тенденция нарушается. На первый взгляд, это кажется противоестественным. Может ли среднее время завершения возрастать с возрастанием рабочей силы? Ответ таков: да, при некоторых обстоятельствах. В зависимости от конкретной сети не всегда лучше начинать каждый новый проект, как только это становится возможным. Поступая таким образом, можно задержать начало выполнения некоторого другого проекта на большее время, чем в другом варианте. В зависимости от того, что следует за другим проектом, результатом этой задержки может быть увеличение продолжительности всего комплекса работ. Для численного обоснования этого положения времена задержек в различных блоках ADVANCE в модели на рис. 7D. З были заменены их математическими ожиданиями и был выполнен прогон этой детерминированной модели. (Каждая карта «START 250» была также заменена для этого прогона картой «START 1».) Результаты помещены в табл. 7D.3. Тенденция нерегулярности во времени завершения проекта сохранилась даже при этих детерминированных условиях. (В упражнении 4 параграфа 7.30 требуется найти такой проект, преждевременное начинание которого действительно увеличивает время выполнения комплекса работ при увеличении рабочей силы с 8 до 9 человек при детерминированных условиях.)

Модель гаража

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

Все городские транспортные средства обязаны регулярно прибывать в гараж для профилак­тического осмотра. Число автомобилей, прибывающих каждый день по графику осмотра, рас­пределено равномерно от 2 до 4. Время, необ­ходимое для обслуживания каждой машины, равномерно распределено в интервале от 1,5 до 2,5 ч. Машины, предназначенные для осмотра в данный день, оставляют в гараже до начала каждого рабочего дня. Рабочий день длится 8 ч.

При некоторых условиях регулярная работа по осмотру может быть прервана, и яму используют для более важных целей. В частности, город пытается поддерживать полный парк полицейских машин, работающих в любое время. Требуется, чтобы полицейские машины можно было использовать 24 ч в сутки. Как только с какой-либо машиной что-то случается, ее немедленно доставляют в гараж для ремонта вне графика. Даже если на профилактическом осмотре в это время стоит другая машина, вновь прибывшей полицейской машине разрешается занять смотровую яму, и ее ремонт начинается без задержки. Тем не менее, полицейская ма­шина, нуждающаяся во внеплановом ремонте, не может вытеснить другую полицейскую ма­шину, стоящую на внеплановом ремонте.

Распределение времени между поступлением полицейских машин на внеплановый ремонт является пуассоновским со средним интервалом, равным 48 ч. Если гараж закрыт в момент их поступления, машины должны ждать до 8 ч утра, пока не начнется работа. Время их об­служивания распределено по экспоненте со средним 2,5 ч.

Построить GPSS-модель для имитации дея­тельности гаража. По полученной модели оце­нить распределение случайной переменной «число полицейских машин, находящихся на внеплановом ремонте». Выполнить прогон мо­дели, имитирующей работу в течение 25 дней, выводя промежуточную распечатку всей ин­формации, включая цепи текущих и будущих событий и цепи прерывания по окончании каж­дых пяти дней. Для простоты предположить, что механик работает 8 ч в день без перерыва, и не учитывать выходные. Это аналогично пред положению, что гараж открыт 7 дней в неделю (см. упражнение 3 параграфа 7.18).

2. Метод построения модели.

Сегмент планового осмотра. Машины-транзакты, прибывающие в гараж для планового осмотра, являются пользователями прибора-ямы, которым не разрешен захват. Эти машины-транзакты проходят через первый сегмент модели. Каждый день в 8 ч утра главный транзакт - машина входит в этот сегмент. Затем он входит в блок SPLIT, порождая необходимое число транзактов, представляющих собой машины, запланированные на этот день для осмотра. Эти машины-транзакты проходят затем через простую последовательность блоков SEIZE— ADVANCE—RELEASE и покидают модель.

Участок внепланового ремонта. Полицейские машины, нуждающиеся во внеплановом ремонте, двигаются в модели в своем собственном сег­менте. Использование ими ямы-прибора имитируется простой последовательностью блоков PREEMPT—ADVANCE—RETURN. В опе­ранде В блока PREEMPT не требуется РR; просто при попытке занять смотровую яму посредством входа в блок РRЕЕМРТ этим транзактам разрешается вытеснить любой транзакт, которому захват не разрешен. Поскольку вариант с использованием РR в блоке РRЕЕМРТ не применяется, им не позволяется замещать на обслуживании того пользователя, которому разрешен захват смотровой ямы.

В параграфе 5.11 было объяснено использо­вание взвешенной таблицы для оценки распре­деления длины очереди. В данной модели можно использовать приведенный там для этой цели сегмент для оценки требуемого распределения числа неработающих полицейских машин. Для этого требуется только, чтобы полицейские машины-транзакты входили в блок QUEUE в момент их прибытия в гараж и чтобы они проходили через блок DEPART непосредственно перед их выходом из гаража. Таким образом, состояние «вне работы» равносильно пребыва­нию в очереди. Затем, как было объяснено в гл. 5, для наблюдения за числом транзактов в очереди и для занесения соответствующих результатов во взвешенную таблицу может быть использован отдельный сегмент.

Открытие и закрытие гаража. Для того чтобы организовать закрытие гаража по исте­чении каждого восьмичасового рабочего дня и открытие его снова в 8 ч утра, используют специальный сегмент. Транзакт-хозяин входит в этот сегмент каждые 24 ч (начиная с конца первого рабочего дня). Этот транзакт, имею­щий в модели высший приоритет, затем не­медленно поступает в блок РRЕЕМРТ, имеющий в операнде B символ PR. Хозяину, таким образом, разрешено захватить яму-прибор вне зависимости от того, кем является текущий пользователь (если он есть). Затем, спустя 16 ч, хозяин освобождает смотровую яму-прибор, позволяя закончить ранее прерванную работу (при наличии таковой).

Сбор данных для неработающих полицейских машин. Для сбора данных, позволяющих оце­нить распределение числа неработающих поли­цейских машин, используется свой сегмент модели. Алгоритм работы этого участка был разобран в параграфе 5.11.

Промежуточная выдача. Для требуемой про­межуточной выдачи и окончания моделирования в конце 25-го дня используют последовательность блоков GENERATE—TERMINATE.

Вопросы приоритетов. В модели есть вопросы, касающиеся уровней приоритетов, ко­торые заслуживают внимания. Они будут об­суждены при разборе логики модели в конце примера. Перед тем, как перейти к этому, следует рассмотреть приводимую ниже блок-схему, составленную согласно изложенным соображениям.

3. Таблица определений. Единица времени: 1 мин.

6. Выходные данные

7. Обсуждение. Логика моделирования. В мо­дели предполагается, что показание времени, равное единице, соответствует 8 ч утра первого дня моделирования. Заметим, что главная ма­шина входит в модель для планового осмотра в момент времени 1, выйдя из блока «GENERATE 1440,,1,,2» (блок 1, рис. 7В.2). Затем каждая следующая главная машина поступает через 24 ч (операнд А блока GENERATE ра­вен 1440, т. е. числу минут в 24 ч).

Первое появление транзакта-хозяина про­исходит в момент времени, равный 481, через блок «GENERATE 1440,,481„3» (блок 14). Это соответствует окончанию восьмого часа первого дня. После этого другой транзакт-хозяин поступает через 24 ч.

Транзакт, обеспечивающий промежуточную выдачу, впервые появляется во время, равное 6241, выходя из блока «GENERATE 7200,,6241» (блок 25 на рис. 7В.2). Момент времени 6241 соответствует концу восьмого часа пятого дня моделирования. После появле­ния первого транзакта, обеспечивающего про­межуточную выдачу, следующий транзакт появляется через каждые пять дней.

Таблица 7В.2. Величины приоритетов, используемые в примере 7В

Сегмент модели

Интерпретация транзактов

Уровень приоритета

3

Хозяин

3

1

Машины, прибывающие на плановый осмотр

2

2

Полицейские машины, поступающие на внеплановый ремонт

2

4

Транзакт, наблюдающий за очередью

1

5

Транзакты, обеспечивающие выдачу на печать

0

Заметим, что для транзакта-наблюдателя в 4-м сегменте модели параметры определены полными словами (см. блок 19 на рис. 7В.2). Если по умолчанию там были бы использованы для параметров полуслова, вполне вероятно, что могла бы возникнуть ошибка переполне­ния. Дело в том, что процесс моделирования не закончится до времени 35041 (что соответ­ствует 25 дням плюс 8 ч, выраженным в мину­тах). Это означает, что временные величины, помещаемые в первый параметр транзакта-наблюдателя, могут превысить значение 32767, что является наибольшей величиной, которую можно поместить в полуслово.

Теперь рассмотрим приоритетную схему мо­дели. Различные используемые приоритетные уровни помещены в табл. 7В.2. Чтение таблицы сверху вниз эквивалентно просмотру цепи те­кущих событий с начала до конца. Если в цепи текущих событий имеется транзакт-хозяин, то он стоит в начале цепи; за ним следуют тран­закты планового осмотра (при их наличии) и транзакты внепланового ремонта (если таковые имеются). Эти транзакты с приоритетом, рав­ным 2, будут в общем случае перемешаны в смысле их расположения в цепи по отноше­нию друг к другу. Наконец, идет наблюдатель за числом транзактов в очереди (который всегда находится в цепи текущих событий) и транзакт, обеспечивающий промежуточную выдачу (который появляется в цепи только в конце каждого пятого дня).

Хозяин имеет высший приоритет, потому что ему всегда должно удаваться закончить рабо­чий день путем захвата смотровой ямы. Что касается транзактов, связанных с текущим ос­мотром и внеплановым ремонтом, то при рас­смотрении их приоритета требуется: 1) чтобы он был ниже приоритета хозяина и 2) чтобы он был выше, чем приоритет транзактов про­межуточной выдачи. Это последнее условие гарантирует, что все движение машин в модели перед каждой промежуточной выдачей будет полностью учтено.

На транзакты внепланового ремонта суще­ствует дополнительное ограничение. Их приоритет должен быть выше, чем приоритет на­блюдателя за длиной очереди. Такой порядок гарантирует, что длина очереди перед тем, как производится наблюдение, полностью учтена. Это объясняет, почему приоритет наблюдателя за очередью меньше 2. Следующее соображение относительно наблюдателя заключается в том, что он должен стоять впереди транзакта, обес­печивающего промежуточную выдачу, с тем, чтобы результат последнего наблюдения перед выдачей был включен в таблицу. Тем самым последовательно объяснена позиция наблю­дателя позади полицейских машин и впереди транзакта-выдачи.

В действительности, как только транзакт-выдача появляется в цепи текущих событий, наблюдатель уже находится там (поскольку он всегда там). Это означает, что наблюдатель мог бы иметь такой же приоритет, как и транзакт-выдача, и их относительное расположение было бы всегда таким, какое требуется. Такое различие приоритетов в модели было сделано специально для того, чтобы подчеркнуть необ­ходимое относительное расположение этих транзактов.

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5