<< Пред.           стр. 5 (из 6)           След. >>

Список литературы по разделу

 ?S/C: OFF ABS CLOCK: 0. REL CLOCK: 0. TTG: 0
 ???????????????????????????????????????????????????
 ?XACT: CURBLK: NEXTBLK: CHAINS: PC: ?
 ? ?
 ?MARK-TIME: MOVE-TIME: PRIORITY: ?
 ????????????????????????????????????????????????????
 Ready!
 :
  В.После инициализации отладчика
 BLOCK CURRENT TOTAL SOURCE FOR MODEL xx.GPS
 1 1 GENERATE 4,1 поступление заготовок
 2 0 ADVANCE 2 транспортирование
 3 0 SEIZE SERVER занятие сервера
 4 0 ADVANCE 3.75,1 обслуживание на сервере
 ????????????????????????????????????????????????????
 ?S/C: OFF ABS CLOCK: 3.5406 REL CLOCK:3.5406 TTG:100 ????????????????????????????????????????????????????????
 ХACT: 1 CURBLK: 1 NEXTBLK: 2 CHAINS: CEC PC: ? MARK-TIME: 3.5406 MOVE-TIME: 3.5406 PRIORITY: 0 ????????????????????????????????????????????????????????
 Ready!
 : s
 XACT 1 POISED AT BLOCK 2. RELATIVE CLOCK: 3.5406
 :
  Рис.3.7 Вид трёхоконного отладчика, А - в начальный момент вызова ; В - после инициализации отладчика ( первый шаг).
  На рис.3.7 представлены оба варианта окон отладчика, вариант А - сразу после вызова окна пусты, первое окно исходного МФ (SOURCE FOR MODEL), следующее статусное окно и последнее диалоговое окно. На рис .3.4В представлены те же окна после инициализации МФ примера .
 Инициализация вызванного трёхоконного отладчика производится двумя эквивалентными путями:
 Нажатием клавиши F10, что соответствует одному такту действия отладчика (каждое последующее последовательное нажатие клавиши продвигает процесс ИМ на один такт).
 Написанием в командной строке после приглашения ( : ) команды:
  < s[tep]_ n > ,
  где команда может быть написана в любом виде, начиная от четырёх букв до одной первой буквы и через обязательный пробел число тактов, на которые продвинется процесс ИМ (по умолчанию 1), т.е. s 1 =F10. При отсутствии пробела появится предупреждение об ошибке, после которого необходимо написать команду в правильном формате.
 
 3.6.2 Содержание окон.
  Рассмотрим теперь более подробно содержание окон, руководствуясь рис. 3.7В, поскольку все названия у окон обеих вариантов одинаковы, но в варианте В присутствует конкретное содержание.
  Примечание: Окно диалога варианта А содержит запись - Simulation begins, которая исчезает после инициализации, кроме того, на рисунке не показаны всегда существующие надписи об авторе программы (см. реальное окно отладчика).
 Окно исходного модельного файла (окно источника).
 Занимает одну треть экрана дисплея и является верхней частью экрана отладчика
 Справа вверху первого окна отладчика следует общее название:
  « Исходный файл интерактивного дебагера GPSS/H »
 Далее в окне следуют названия колонок:
 BLOCK – обозначает номер ОБ,
 CURRENT – показывает ИН Хакт в ОБ,
 TOTAL- показывает общее количество транзактов в ОБ за время ИМ,
 SOURCE CODE (основан на примере ) - показывает 4 или 5 строк исходного МФ, а красная черта указывает на следующий ОБ, куда направится Хакт, если МФ длинный, то высекается только фрагмент, указывающий нахождение Хакт, следующий ОБ и 2-3 сопутствующих ОБ.
 Окно текущего положения (статусное окно)
 Занимает среднюю часть экрана и содержит информацию о состоянии модели, меняющуюся по мере продвижения Хакт по модели.
 S/C :OFF - положение флага изменения статуса: выключено,
 ABS CLOCK – значение абсолютного модельного времени,
 REAL CLOCK – значение относительного модельного времени. Оба этих значения в отсутствии ОУ CLEAR или RESET имеют одинаковую величину.
 TTG – (termination to go ) - значение счётчика завершений –СЗ, поскольку на первом такте терминирования не происходит, то оно равно значению операнда А ОБ START и уменьшается при каждом терминировании на величину операнда А ОБ TERMINATE.
 XACT - ИН транзакта, активного в данный момент.
 CURBLK- имя или номер ОБ, где находится Хакт.
 NEXTBLK - имя или номер ОБ, куда направляется транзакт.
 CHAINS:CEC – имя списка, в котором транзакт находится в настоящий момент, в данном примере список текущих событий – СТС.
 PC: - число захватов ( в материалах не используется ).
 MARK-TIME – время, отмечаемое при входе Хакт в модель.
 MOVE-TIME - время будущего начала движения, если Хакт находится на обслуживании.
 PRIORITY – уровень приоритета Хакт.
 Окно диалога
 Находится в нижней трети экрана и показывает команды, задаваемые пользователем, реакцию отладчика на эти команды, приглашения разного вида (см. далее по тексту). Информация окна автоматически прокручивается вверх, для освобождения пространства для новой информации.
 Ready! – сигнал, что отладчик готов к началу диалога.
 :s - приглашение в начале командной строки
 XACT1… запись после выполнения такта, гласящая, что «Хакт 1 располагается перед ОБ 2 », т.е. вышел со склада и готов начать движение на транспортёре. Выражение “ poised at … “ всегда обозначает, что Хакт пытается двигаться в ОБ, номер которого указан в сообщении.
 
 3.6.3 Выход из сеанса отладчика.
 Прерывание тестового режима и переход в командную оболочку можно осуществить двумя путями.
 Команда QUIT , написанная в командной строке прерывает сессию отладчика и возвращает управление DOS. Однако при этом, программа вначале проверяет, нет ли какой незавершённой операции, которая должна попасть в листинг отчёта и если такая операция существует и она незавершенна, то программа уточняет, действительно ли вы хотите прервать сессию. При этом у пользователя имеется три выбора: первый повторить запись quit и прервать сессию с потерей неоконченных операций, написать run или continue, позволяющих завершить все операции.
 Команда QQ или равноценная - qq (Quit Quickly ) сразу прерывает сессию отладчика и немедленно возвращается в командную оболочку без какой либо проверки незавершённых операций.
  Обе эти команды не имеют никаких операндов.
 
 3.6.4 Функциональные клавиши
  После запуска отладчика функциональные клавиши F1 –F10 клавиши прокрутки выполняют специфические функции, которые указаны в таблице 3.4. Имеет смысл потренироваться с использованием всех клавиш, чтобы запомнить их назначение.
 Таблица 3.4 Роль функциональных клавиш
 
 Клавиша Выполняемая функция
 Стрелка вверх Прокрутка окна диалога на 5 строк вверх
 Стрелка вниз Прокрутка окна диалога на 5 строк вниз
 Стрелка влево Прокрутка окна диалога влево на 20 символов
 Стрелка вправо Прокрутка окна диалога вправо на 10 символов
 F1 Перемещение к началу окна диалога
 F2 Удаление окон кроме окна диалога
 F3 Перемещение к концу окна диалога
 F4 Возвращение к з-м окнам
 F5 Прокрутка окна диалога влево на 20 символов
 F6 Прокрутка окна диалога вправо на 10 символов
 F7 Прокрутка вверх на 1 линию окна МФ
 F8 Не используется
 F9 Прокрутка вниз на 1 линию окна МФ
 F10 Продвижение процесса ИМ на один такт = step
 
 3.6.5 Команды и коды объектов
 Ниже в таблице 3.5 приведен список наиболее применяемых команд, используемых в сеансе отладчика. В таблице, при использовании команд подчёркнуты буквы сокращённой записи команды, которая воспринимается программой аналогично полной записи. В графе таблицы
 «пояснение» приводится основное назначение команды, некоторые команды используются для разных целей, соответственно для них указаны разные операнды.
  Таблица 3.5 Команды отладчика( в алфавитном порядке )
 
 Команда Операнды Пояснение
 
 
 AT
 Имя или номер одного или нескольких ОБ Предлагает список команд отладки, исполняемых каждый раз при достижении Хакт назначенного ОБ, прерывается командой END или для ранее установленных точек командой UNBREAK.
 
 
 BREAK Имя или номер одного или нескольких ОБ Вводит прерывание процесса для каждого установленного ОБ, глобальное прерывание снимается командой UNBREAK. локальное прерывание снимается командой CONTINUE
 
 CONTINUE Ноль или несколько имёнSCAN,NEXT, SYSTEM Служит для возобновления ИМ или для снятия локальных точек прерывания
 
 
 DISPLAY Статус или код объекта
 См. примечания 1,2 Выводит на экран дисплея статистики многих объектов и другую информацию, прерывается нажатием клавиш BREAK ,CTRL-C,CTRL-BREAK
 QQ Не имеет Немедленно прекращает процесс ИМ
 QUIT Не имеет Прекращает процесс ИМ при выполнении условий
 
 
  Ноль или больше имён Исполняет процесс ИМ, снимает все условия остановки процесса ИМ
  SCAN,SYSTEM, NEXT,CLOCK, ХACT Устанавливает глобальные условия запрета.
 
 
 
  TIME =n,nS,nM
  Устанавливает предел времени исполнения процесса в секундах или минутах
  TLOG[=]ON,OFF
  Переключает логику действия терминала, при включении отображает на экране
  TV[ = ] ON,OFF Управляет показом процесса отладки
 STEP Число тактов Задаёт темп продвижения по модели
 STOP Не имеет Прерывает на время процесс ИМ
 
 
 
 
 
 
  SYSTEM
  Определяет, что в каждый момент времени Хакт останавливается, контроль передаётся пользователю
  NEXT
  Хакт снимается из СТС, появляется сообщение, контроль передаётся пользователю
  SCAN
  Производит сканирование СТС, контроль передаётся пользователю
  CLOCK Ставит ограничение на абсолютное время, когда оно достигает назначенной величины, контроль передаётся пользователю
  XACT Ставит ограничение на Хакт с определённым ИН
 UNBREAK Одно или несколько имён ОБ Снимает глобальные условия прерывания
 UNTRAP SYSTEM, NEXT, CLOCK ,XACT Снимает условия запрета со всех точек модели
  Приложение. В списке классов и кодов объектов, упомянутых в таблице 3.5, подчёркнуты допустимые сокращения
 1. коды состояния модели
  ATL blockname/ num - список AT имён или номеров ОБ
  ATP - все точки AT
 BREAKPOINTS - все глобальные точки прерывания
 CLOCKS - абсолютное и относительное время
 COMMON - использование общей памяти
 OUTPUT - стандартный отчёт
 STATUS - значения ИН Хакт, времени, значения СЗ
 TRAPS - все глобальные запреты
  2 Имена классов объектов
  AMP - отображение всех амперпеременных
  BLO - отображение данных ОБ
  FAC - отображение данных об устройствах
  QUE - отображение данных об очередях
  RNO - выходные данные о БСВ
  STO - отображение данных о памятях
  TAB - отображение данных о таблицах
 
 3.6.6 Основы использования отладчика
  Наличие отладчика примечательно тем, что после успешно проведённой симуляции и исполнения команды ОУ START, можно передать управление программой пользователю. Пользователь может применить одну или несколько команд отладчика, дальнейшая работа может вестись в диалоговом режиме, с последовательной передачей функций управления от программы к пользователю и обратно. Такой режим способствует отладке программы, уточнению сомнительных мест, выводу на дисплей любой интересующей пользователя информации. Процесс продолжается до подачи команды STOP или любой команды выхода из тестового режима, например, QQ. Отметим, что в тестовом режиме (сеансе отладчика) невозможно внести какие либо изменения в МФ! Для внесения изменений необходимо прервать сеанс отладчика, вернуться к редактору, с помощью которого вы создавали МФ, внести необходимые изменения и лишь после этого вернуться в тестовый режим.
  Далее рассмотрим команды, приведенные в таблице 3.5. Команды рассматриваются не в алфавитном порядке, а по частоте использования и по важности. Первой рассмотрим команду DISPLAY, позволяющую выводить на экран дисплея разнообразную информации о состоянии модели и о данных различных объектов
  DISPLAY
 Команда используется для выдачи информации о членах классов объектов или о состоянии модели. Классы объектов и коды состояний приведены в комментариях 1,2 таблицы 3.5.
 А. Информация о членах классов объектов имеет следующий формат:
  < D[isplay] класс объекта (имя, номер) >
 Приведём несколько примеров (обратите внимание на возможные варианты записи команды):
  DISPLAY FAC - вывести данные об устройствах
  DIS QUEUE(SAM,FRED) - данные об очередях SAM,FRED
  D ВLO(1…10,20)-данные об ОБ с первого по десятый и о 20-м
  d AMP -показать все амперпеременные
 Если нет членов класса, удовлетворяющих записанной команде, то информация не отображается. Например, если запрашивается информация об устройствах, а ни одно устройство пока не захвачено, то информация на дисплее не появляется.
  Б. Информация о статусе модели имеет следующий формат ( впредь будем пользоваться только сокращённой формой записи команды ) :
  < d код… > , а для транзактов
  < d xact=n > например ,
 d CPU COM- показать время исполнения ЦПУ и загрузку памяти,
 d STA - показать состояние модели ( Хакт, время, состояние СЗ ),
 d CEC FEC - показать СТС и СБС (списки текущих и будущих ХАСТ),
 d ATL 12 - показать список AT команд для ОБ № 12,
  d XACT=100 - показать транзакт с ИН 100,
  d XACT=3 XACT=10 - показать Хакт с ИН 3 и 10.
  Информация, показываемая для каждого класса или состояния (за исключением информации об амперпеременных) идентична данным выходного отчёта для объектов. Информация о состоянии модели при введённых условиях запрета и прерывания специфична для отладчика. Информация о транзактах идентична информации об активных транзактах в окне состояния отладчика, если нет текущих транзактов, то , в ответ на запрос, появляется сообщение об их отсутствии.
  TRAP и UNTRAP
  Команда TRAP может применяться для установки запрета в самых разных вариантах, которые выбираются пользователем. В GPSS/H существует пять видов наложения условий запрета, рассмотрим их подробнее. В любом случае при введении запрета появляется сообщение и управление передаётся пользователю
 Условия запрета SYSTEM проявляются каждый раз, когда транзакт, по какой либо причине больше не может двигаться по модели. Среди этих причин можно назвать:
 - транзакту запрещён вход в ОБ,
 - транзакт попадает в СБС,
 - транзакт размещается в списке пользователя ( ОБ LINK),
 - транзакт уничтожен ( ОБ TERMINATE , ASSEMBLE ).
  Эта форма запрета используется как барьер при изучении движения транзакта, представляющего большой интерес для исследователя. Если вдруг транзакт неожиданно исчезает из поля зрения, то эти условия позволяют определить его судьбу и принять решение о других командах.
  2. Условия запрета NEXT возникают всякий раз, когда симулятор вводит Хакт после сканирования СТС. При введения этого запрета Хакт располагается перед его следующим ОБ и появляется сообщение “XACT i POISED at BLOCK j “, где i и j могут быть номерами или именами.
  Эти два условия в материале не используются.
  3. Условие запрета CLOCK проявляется, когда абсолютное время достигает или превышает заданное время, при этом процесс ИМ останавливается в это время. Если абсолютное время превысило заданное значение, то его величина фиксируется для продолжения процесса ИМ после снятия запрета со значения превысившего заданное время.
  4. Условия запрета XACT налагаются на определённый транзакт и всякий раз, когда Хакт с этим номером снимается после сканирования из СТС, появляется сообщение и управление передаётся пользователю. Условия запрета налагаются заранее, и по умолчанию роль отмеченного Хакт прослеживается за весь жизненный цикл.
  5. Условия запрета SCAN реализуются каждый раз, когда симулятор готов начать сканирование СТС, при этом появляется сообщение “SCAN TRAP TAKEN (SYSTEM POISED TO BEGIN CEC SCAN)” - запрет по сканированию введён (система готова начать сканирование СТС) и управление передаётся пользователю.
  Формат команды TRAP для всех видов запретов имеет вид:
 < TRAP Y [ Y … ] > , Y = ( SYSTEM , NEXT , CLOCK ,… ), например :
  TRAP SYSTEM NEXT - наложены запреты SYSTEM и NEXT,
  TR XACT=1 XACT=5- наложены запреты на Хакт ИН1 и ИН5,
  T CLOCK 1000 - наложено ограничение по времени – 1000 дискрет МВ,
 t SCAN - наложен запрет на сканирование СТС.
  Для снятий условий запрета используется только команда UNTRAP, которая должна предварять любые команды продолжения процесса ИМ, так если будет применена одна из команд RUN, CONTINUE, STEP, то процесс ИМ при отсутствии команды UNTRAP будет продолжаться только до одной из ближайших точек прерывания или запрета. Формат команды UNTRAP аналогичен формату команды TRAP и поэтому приведём лишь примеры использования команды :
 UNTRAP SYSTEM NEXT - снятие запретов SYSTEM и NEXT
 UNT XAC=1 XACT=5 - снятие запретов с Хакт ИН1 и ИН5.
  Программа GPSS/H предусматривает два вида запретов: глобальные и локальные. Команда TRAP налагает только глобальные запреты, которые могут быть сняты только командой UNTRAP. Локальные же запреты, налагаемые командой CONTINUE, приводимой ниже, действуют только на протяжении одной команды отладчика.
  BREAK и UNBREAK
  Условия прерывания также могут быть глобальными и локальными и применяться к любому количеству ОБ одновременно. Глобальные условия прерывания действуют до тех пор, пока они не будут специально сняты, локальные условия, устанавливаемые командой CONTINUE, действуют на протяжении одной команды. Имена или номера ОБ, на которые наложены условия прерывания могут быть отображены на дисплее после команды < d BRE >. Когда Хакт достигает ОБ, к которому применены условия прерывания, появляется сообщение, содержащее ИН Хакт, ОБ, текущее значение времени, после чего управление передаётся пользователю. Формат команд одинаков и имеет вид :
  < B[REAK] имя блока >
  < UNB[REAK] имя блока > , например
  BREAK 5 - прерывание на ОБ № 5
  B 5 LINE - прерывание на ОБ 5 и LINE
  UNBREAK 5 - снятие прерывания с ОБ 5
  UNB 5 LINE - снятие прерывания с ОБ 5 и LINE
  АТ
  Команда АТ обеспечивает в каждый момент времени возможность автоматизации отображения списка команд, относящихся к ОБ, в который пытается войти Хакт. Формат команды АТ имеет вид:
  < AT имя или номер ОБ
  @ команда 1
  …
  @команда n
  @END
  : >
 Когда достигается точка прерывания на заданном ОБ, то при наличии команды АТ, список команд, ассоциирующихся с этой командой автоматически выполняется программой. Таким образом, команда АТ может быть использована, как для задания условий прерывания, так и для запуска процесса выполнения списка команд. Обратите внимание на следующее обстоятельство: как только в командной строке появится команда АТ, так сразу форма приглашения с ( : ) меняется на ( @ ), которая предваряет каждую команду списка, после исполнения команды end , форма приглашения в командной строке снова принимает привычный вид ( : ). Следует помнить, что выполнение любой команды из списка осуществляется после нажатия пользователем клавиши Enter . Приведём пример использования команды:
  : at block6
  @ d blo
  @ r
  @ end
  :
 Команды, находящиеся в списке для лучшей читаемости специально сдвинуты вправо. В параграфе 6.7.2, будет рассмотрен пример сессии отладчика, где будут использованы многие из приведенных команд.
  RUN, CONTINUE, STEP
  Все вышеназванные команды используются для запуска или реализации процесса ИМ. Кроме того, эти команды могут использоваться для достижения точек запрета или прерывания.
  1. В нормальных условиях (при отсутствии специальных условий) команда RUN обеспечивает проведение процесса ИМ в пакетном режиме с нормальной скоростью моделирования, что, естественно, исключает возможность диалога. При наличии условий запрета или прерывания, команда RUN сразу доводит процесс ИМ до первой специальной точки. Формат команды имеет вид :
  < R[UN] Y > Y= (block ,SCAN,XACT,… ) , например:
 RUN - отсутствие специальных точек , процесс ИМ идёт до конца,
 RUN SAM 17 - движение до глобальных прерываний в ОБ SAM и 17,
 R CLOCK 400 – запрет процесса ИМ после 400 дискрет МВ,
 R XACT=5 3 - запрет на Хакт с ИН5, прерывание на Хакт с ИН3.
  2. Команда CONTINUE аналогична команде RUN, т.е. доводит процесс ИМ до конца (при отсутствии специальных условий), а кроме того с её помощью можно установить локальные условия прерывания и локальные условия запрета только для запретов типа NEXT и SYSTEM. Локальность запрета, заключается в том, что его действие распространяется только на период исполнения команды CONTINUE, появление первой глобальной специальной точки прерывает исполнение команды, а, следовательно, отменяет локальные условия. Формат этой команды имеет такой же вид, как у команды RUN. Приведём примеры:
  CONTINUE - отсутствие ограничений, процесс ИМ идёт до конца
  CONTINUE SAM 17 - локальные прерывания на ОБ SAM и 17
  C NEXT - локальный запрет на типа NEXT
  c 12 SYSTEM - прерывание на ОБ 12 и запрет типа SYSTEM
  3. Команда STEP используется в, так называемом тактовом или пошаговом режиме, служит для продвижения процесса либо на один такт, что равносильно исполнению одного ОБ или нажатию функциональной клавиши F10, либо на то число тактов, которое задаётся после обязательного пробела за именем команды. Формат команды имеет вид:
  < S[TEP] n >, по умолчанию число тактов равно 1, например:
  STEP 5 – исполнение 5-ти ОБ,
  S - исполнение одного ОБ,
  s 2 - исполнение двух ОБ.
  Команда Step не налагает ограничений на отдельные транзакты, поэтому необходимо использовать ограничения типа NEXT или SYSTEM . Переход в пошаговый режим исключает возможность использования команды CONTINUE, которая применима только в нормальном режиме.
  STOP, SET
 1. Команда STOP используется для прерывания сеанса диалога, если в момент прерывания подготавливается итоговый отчёт, то об этом появляется сообщение и необходимо ещё раз написать ту же команду, тогда процесс останавливается . Формат команды имеет простой вид:
  < STO[P] > , пример применения очевиден.
 Команда SET используется для установления предела времени исполнения программы. Когда процесс ИМ достигает предела МВ, заданного либо извне, либо с помощью операнда А ОБ SIMULATE, появляется сообщение, процесс останавливается и управление передаётся пользователю. Формат этой команды имеет вид:
  < SET TIME [ =] n [ S,M] > , например :
  SET TIME=1.5M – установить предел МВ равный 1.5 минутам
  SE TIME 90S - то же самое в секундах
  se TIME 20 - появляется сообщение “ Minutes assumed” .
 
 3.6.7 Практические советы по работе с отладчиком
  Прежде чем начинать работу в режиме отладки для практических целей, а не для тренировки навыков, необходимо чётко представлять специфику работы моделируемой системы. Особенно важно при разработке новой системы уяснить для себя проблемные части будущей системы, поведение которых не до конца очевидны исследователю. Именно для целей практического применения диалогового режима можно дать несколько практических советов:
 Заранее определите количество и расположение критических точек модели.
 Установите режим прерывания в этих точках (break –b) и непременно пользуйтесь на каждом шаге процедурой отображения (display – d). В непосредственной близости от точки прерывания используйте шаговый режим (step – s), чтобы не пропустить каких либо особенностей поведения модели. Удаляйте точки прерывания сразу после того, как задача исследования достигнута. Подобное поведение позволяет выявить возможные ошибки и верифицировать логику модели.
 Избегайте длительных диалоговых режимов, чтобы не утомляться и не наделать новых ошибок при длительной отладке. Выйдя из режима диалога, проанализируйте все ваши действия в процессе отладки и продумайте новые изменения, если они необходимы.
 Помните, что выявленная ошибка порой даёт гораздо больше информации, позволяющей исключать подобные ошибки в дальнейшем. Появление второй аналогичной ошибки свидетельствует о том, что либо ваши усилия были не эффективны, либо заданы неверные начальные условия или режимы использования.
 Для выявления влияния поведения транзактов на возможные ошибки, используйте условия запрета (trap- t) , чтобы уточнить логику МФ.
 В случае невозможности определить причины ошибки, попробуйте применять стрессовые методы, например, увеличить размер шага, чтобы локализовать место происхождения ошибки. Порой помогает изменение стратегии контроля, но всё это приходит при накоплении опыта.
 
 3.7 Примеры применения ЯИМ GPSS/H
 В данном параграфе будут представлены два примера. Первый, моделирование процесса выходного контроля качества телевизионного производства, с использованием большого числа, описанных выше операторов. Пример имеет логическую структуру, которой следует придерживаться при выполнении курсового проекта!
 Второй пример иллюстрирует использование отладчика, в отчете данные об использовании отладчика следует приводить только в том случае, когда это оговорено в полученном задании.
 
 3.7.1 Пример использования ЯИМ
 Пример 3.1 моделирования системы контроля качества
 Постановка задачи.
  Собранные телевизоры проходят через группу контрольных постов выходного контроля. Если телевизор не проходит выходной контроль , то он отправляется на участок подрегулировки , и после успешного завершения этой операции возвращается в очередь телевизоров , ждущих выходного контроля. Прошедшие выходной контроль телевизоры поступают на склад готовой продукции. Эта схема представлена на рис. 6.6 . Телевизоры поступают на выходной контроль каждые 5.5 2 минуты , на котором находится два контрольных поста, время проверки 10 3 минуты . С вероятностью 12 % телевизоры не проходят выходной контроль и отправляются на подрегулировку. Время подрегулировки 30 10 минут. Как перед постами выходного контроля , так и перед регулировщиком могут скапливаться телевизоры , необходимо определить число потребных стеллажей для хранения поступающих телевизоров. Процесс моделирования прекращается после проверки 100 телевизоров. В качестве дополнительного условия рассмотрим возможность получения результатов нескольких последовательных реплик в одном цикле ИМ, что достигается размещением в модуле управления петли управления DO- ENDDO, включающей ОУ CLEAR.
 2.Допущения, сделанные в модели.
  После прохождения выходного контроля телевизоры разделяются на два потока, 88% годных отправляются на склад готовой продукции, 12 % дефектных на подрегулировку. Для исследования вопроса о числе стеллажей контроля создаются две очереди, одна перед постами выходного контроля, вторая на линии регулировки.
 Для возвращения отрегулированных телевизоров, в общий поток проверяемых, используется ОБ TRANSFER безусловного вида. Для получения динамики производственного процесса, совместим 5 последовательных прогонов (реплик) в одном цикле ИМ, путём введения петли управления. Эпюра движения транзактов представлена на рис.3.8
 
 Рис.3.8 Эпюра движения транзактов.
 Таблица обозначений
 Обозначения примера 3.1 сведены в таблице 3.6
  Таблица 3.6 Временная дискрета: 1 минута.
 
 Объекты GPSS/H Объекты системы
 Транзакты
  Фрагмент 1
  Фрагмент 2
 Готовые телевизоры
 Телевизоры после подрегулировки
 Устройства
  ADJUSTER
 Регулировщик
 Очереди
  ADJUSTQ
  LASTTEST
 Очередь на подрегулировку
  Общая очередь на контроль
 Памяти
  TESTERS
 Два контролёра
 
 4.Модельный файл
 * Модуль описания

<< Пред.           стр. 5 (из 6)           След. >>

Список литературы по разделу