русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Специальные операторы


Дата добавления: 2015-06-12; просмотров: 733; Нарушение авторских прав


COUNT – определение числа объектов, удовлетворяющих заданному условию, с записью в параметр активной заявки. Пусть необходимо узнать число свободных ОУ или число накопителей с коэффициентом использования меньше 700 (в долях от 1 000) и др. Для этого используется оператор COUNT, который имеет следующий формат записи:

COUNT X A,B,C,[D],[E]

Оператор COUNT работает в двух режимах: условном или логическом. Режим работы определяется логическим или условный оператором X, который задает условие, например, подсчет числа свободных накопителей, занятых ОУ и др. Для ОУ используются следующие ло­гические операторы: NU, U, NI, I, FV, FNV, для накопителей: SE, SNE, SF, SNF, SV, SNV, для логических ключей: LR, LS. Содержание логических операторов из­ложено при рассмотрении оператора GATE (см. ЛР№4). При использовании логических опе­раторов операнды D и Е могут быть опущены.

В качестве условных операторов используются следующие: L, NE, LE, E, G, GE, MAX, MIN, NE. Здесь MAX (MIN) – наибольшее (наименьшее) значение из всех значений СЧА объектов, удовлетворяющих заданному условию, а NE – значение прове­ряемого СЧА должно быть не равно заданному значению. Содержание ос­тальных условных операторов – см. ЛР№5-7. Если используются услов­ные операторы, то операнды D и Е должны быть заданы.

Операнд А это номер параметра, вошедшей в оператор COUNT заявки, в котором будет организован счетчик числа объектов. Операнд А может быть именем, положительным целым числом, выражением в скобках, СЧА или СЧА*параметр.

Операнды В и С определяют соответственно нижнюю и верхнюю границы диа­пазона изменения номеров или имен объектов, для которых проверяется за­данное условие. Значение операнда С должно быть больше или равно значе­нию операнда В. Операнды А и В могут быть такими же, как и операнд А.

Операндом D задается значение, которое сравнивается со значением операнда Е. Операнды D и Е используются только совместно с условными операторами L, LE, E, NE, G, GE. Если условный оператор не используется, то операнд D можно не задавать.



Операнд Е это какое-либо из СЧА проверяемых объектов. Необходимо запи­сывать только мнемоническое обозначение атрибута, поскольку диапазон из­менения номеров объектов задан операндами В и С.

Примеры использования:

- COUNT L 3,4,8,Х$ВЬ2,FT – оператор COUNT работает в условном режиме. Подсчитывается число ОУ в диапазоне от 4 до 8 (операнды В и С), среднее время обслуживания (операнд Е) в которых одной заявки меньше времени, записанного в со­храняемой ячейке Вb2 (операнд D), и заносится в параметр 3 (операнд А) во­шедшей в оператор COUNT заявки.

- COUNT SNF 2,Pogr1,Pogr3 – оператор COUNT работает в логическом режиме. Определяется и заносится в параметр 2 (операнд А) вошедшей в оператор заявки число не­заполненных (оператор SNF) накопителей в диапазоне от Pogr1 до РоgrЗ (операнды В и С). Операнды D и Е не используются. В данном примере накопители указаны именами. По условиям оператора COUNT необходимо этим именам предварительно присво­ить командой EQU последовательные номера.

- COUNT E KolQ_0,ObsQ1,ObsQ6,0,Q – оператор COUNT работает также в условном режиме. Опреде­ляется количество очередей (операнд Е) в диапазоне от ObsQ1 до ObsQ6 (операнды В и С), длины которых равны нулю (операнд D), и заносится в параметр ак­тивной заявки с именем KolQ_0) (операнд А). Именам очере­дей ObsQ1-0bsQ6 командами EQU должны быть присвоены последовательные номера.

SELECT – выбор первого объекта в заданном диапазоне с записью номера в параметр активной заявки. Оператор SELECT выбирает первый объект в заданном диапазоне, который удов­летворяет определенному условию. Номер этого объекта заносится в задан­ный параметр вошедшей в оператор заявки. Оператор SELECT имеет следующий формат записи:

SELECT X A,B,C,[D],[E],[F]

Логические и условные операторы Х здесь имеют тот же смысл, что и в операторе COUNT. Назначение операндов А, В, С, D и Е также аналогично. Операнд F задает номер альтернативного оператора для входящей заявки, если заданному условию не удовлетворяет ни один объект в указанном диапазоне. Если операнд F не используется, то заявка будет направлена к следующему по номеру оператору. Например:

- SELECT MIN 2,1,6,,FR – оператор SELECT работает в условном режиме (условный опе­ратор MIN). В диапазоне от 1 до 6 (операнды В и С) определяется первое ОУ с ми­нимальным коэффициентом использования (операнд Е). Номер выбранного ОУ записывается в параметр 2 (операнд А) вошедшей в оператор заявки. Операнды D и F не используются. Заявка из оператора SELECT будет направлен к следующему оператору.

- SELECT SV PPogr,Pogr1,Pogr3,,Met4 – оператор SELECT работает в логическом режиме. Из диапазона отPogr1 до РоgrЗ (операнды В и С) определяется первый накопитель, который является доступным (логический оператор SV). Номер найденного накопителя записывается в параметр заявки с именем PPogr (операнд А). Операнды D и Е не используются. Если доступный накопитель не будет найден, активная заявка будет направлен к оператору с меткой Met4 (операнд F). В противном случае – к следующему оператору. Име­нам накопителей Pogr1-РоgrЗ командами EQU должны быть присвоены последова­тельные номера.

- SELECT LE 4,Aa1,Aa7,X$Bb3,Q – оператор SELECT также работает в условном режиме (условный оператор LE). Из очередей Aal-Аа7 (операнды В и С) выбирается первая оче­редь (операнд Е), длина которой меньше или равна значению ячейки Вb3 (опе­ранд D). Номер очереди записывается в параметр 4 (операнд А) вошедшей в оператор заявки. Операнд F не используется, поэтому заявка из оператора SELECT направляется к следующему оператору. Именам очередей Aa1-Аа7 также ко­мандами EQU должны быть присвоены последовательные номера [30, 31].


 

Электронные материалы по курсу

 

Помимо данного учебно-методического комплекса для успешного освоения курса «Моделирование», выполнения лабораторных работ и курсового проекта рекомендуется дополнительно ознакомиться с материалами, которые выдаются в электронном виде. Характеристика материалов приведена в таблице 40.

Таблица 40
Папка Файл Описание
    Пример задания на проектирование многопоточной СМО с отказами доступа входных очередей и пояснительной записки к курсовому проекту.
Базовая имитационная модель (ИМ) многопоточной СМО с отказами доступа входных очередей.
Модификация базовой ИМ, реализованная для решения первой задачи анализа второй части курсового проекта.
Модификация базовой ИМ, реализованная для решения второй задачи анализа второй части курсового проекта.
Генератор случайных чисел для определения числа прогонов ИМ для обеспечения заданной точности моделирования по лимитирующему процессу.
Граф сети Петри модели многопоточной СМО с отказами доступа входных очередей.
Бланк защиты курсового проекта. Распечатанный бланк вкладывается (не подшивается!) в сброшюрованную пояснительную записку для оформления протокола проверки и защиты проекта.
Образец оформления титульного листа курсового проекта для студентов заочного отделения.
Правила оформления пояснительной записки к курсовому проекту.

 

Продолжение таблицы 40
Папка Файл Описание
    Программа моделирования систем автоматического управления. Используется в лабораторной работе №2.
Дистрибутив системы автоматизации функционального и схемотехнического проектирования Circuit Maker. ПО используется в лабораторных работах №1 и №2.
Дистрибутив ПО моделирования GPSS World. ПО используется в лабораторных работах №3–6 и в курсовом проектировании.
Программа моделирования временных ингибиторных сетей Петри. Используется в лабораторной работе №7 и, при необходимости, в курсовом проектировании.
  Расчет статического риска сбоя для схемы примера выполнения лабораторной работы №1.
Реализация схемы примера выполнения лабораторной работы №1 в Circuit Maker. Используется для модельных экспериментов анализа статического сбоя.
  Реализация схемы примера выполнения части 1 лабораторной работы №2 в программе tau.exe.
Реализация схемы примера выполнения части 1 лабораторной работы №2 в Circuit Maker.
Варианты индивидуальных заданий для выполнения части 2 лабораторной работы №2 (к задаче идентификации).
Расчеты по примеру решения задаче идентификации к части 2 лабораторной работы №2.

 


 

Продолжение таблицы 40
Папка Файл Описание
    Пример реализации в IngProject сети Петри модели процессов возникновения/устранения отказов к лабораторной работе №7.
Пример реализации в IngProject сети Петри модели СМО параллельного обслуживания с переменным размером пакета заявок.
Пример реализации в IngProject сети Петри модели магистрального канала передачи данных.
  Дополнительный пример реализации в GPSS СМО с равномерно распределенным размером (в знаках) пакетов входного потока и зависимостью времени обслуживания в ОУ от размера пакета.
Дополнительный пример реализации в GPSS СМО с управлением количеством единовременно обслуживаемых заявок.

 


 

Литература

 

1. Шалагинов А.В. Моделирование: экскурс в дисциплину. – Новосибирск: НГТУ, 1998. – 24 с.

2. Шеннон Р. Имитационное моделирование систем – искусство и наука. – М.: Мир, 1978. – 418 с.

3. Основы автоматизированного проектирования радиоэлектронной аппаратуры: УМК/ Сост. и общ. ред. О.Е.Шестопаловой. – Новополоцк: ПГУ, 2004. – 224 с.

4. Барышников Ю.А. Моделирование: конспект лекций для специальности «Вычислительные машины, комплексы, системы и сети». – Екатиринбург: ГОУ ВПО «УГТУ-УПИ», 2005. – 87 с.

5. Советов Б.Я., Яковлев С.А. Моделирование систем. Учебник для вузов. – М.: Высш. шк., 2005. – 343 c.

6. Тарасик В.П. Математическое моделирование технических систем. – Мн.: Дизайн ПРО, 2004. – 640 c.

7. Володин Д.О., Матчин В.Т., Минаков В.И и др. Моделирование информационных процессов и систем. – М.: МГДД(Ю)Т, МИРЭА, ГНИИ ИТТ «Информика», 2002. – 50 с.

8. Громов Ю.Ю., Земской Н.А., Лагутин А.В. и др. Системный анализ в информационных технологиях: Учеб. пособие. – Тамбов: ТГУ, 2004. – 176 с.

9. Семенов А. Д., Артамонов Д. В., Брюхачев А. В. Идентификация объектов управления: Учебн. пособие. – Пенза: Изд-во Пенз. гос. ун-та, 2003. – 211 с.

10. Моделирование дискретный устройств: методические указания по курсу «Проектирование элементов и устройств систем управления» /сост. В.В. Муханов, А.В. Серегин. – Екатиринбург: ГОУ ВПО «УГТУ-УПИ», 2006. – 43 с.

11. Анхимюк В.Л.. Опейко О.Ф.. Михеев Н.Н. Теория автоматического управления. – Мн.: Дизайн ПРО, 2000. – 352 с.

12. Дрейпер Н. Прикладной регрессионный анализ: В 2-х кн. Кн.1. – М.: Финансы и статистика, 1986. – 365 с.

13. Дрейпер Н. Прикладной регрессионный анализ: В 2-х кн. Кн.2. – М.: Финансы и статистика, 1987. – 352 с.

14. Яворский В.А. Планирование научного эксперимента и обработка экспериментальных данных. – Долгопрудный: МФТИ, 2006. – 24 с.

15. Жирабок А.Н. Планирование эксперимента для построения математических моделей. // Соросовский образовательный журнал, 2001. – том 7, №9. – С. 121-127.

16. Соболь И.М. Метод Монте-Карло. – М.: Наука, 1978. – 64 с.

17. Паньгина Н.Н., Паньгин А.А. Статистическое моделирование: метод Монте-Карло. // Компьютерные инструменты в образовании, 2002. – №5. – С. 30-43.

18. Голуб В.А., Жукова Т.М., Соколова М.А. Моделирование случайных величин: Учеб. пособие. – Воронеж: ВГУ, 2005г. – 27 с.

19. Афанасьева О.В., Голик Е.С., Первухин Д.А. Теория и практика моделирования сложных систем: Учеб. пособие. – СПб: СЗТУ, 2005г. – 131 с.

20. Блюмин С.Л., Корнеев А.М. Дискретное моделирование систем автоматизации и управления. – Липецк: ЛЭГИ, 2005г. – 124 с.

21. Murata T. Petri Nets: Properties, Analysis and Applications // Proceedings of the IEEE. – 1989. –Voll.77. –№4.

22. Khoromskaia V. Petri Nets Based Modelling of Control Flow // Вестник РУДН, серия «Прикладная и компьютерная математика». – 2004. ––№1. – С. 74-84.

23. Shestopalova O.E., Skriplenok S.A. Ingproject – Petri Nets Software Tool for Queuing Systems Simulation // Проблемы проектирования и производства РЭС: Сборник материалов Международной научно-технической конференции. Секция «Информатика». – Новополоцк: ПГУ, 2008. – С. 91-94.

24. Моделирование систем с использованием теории массового обслуживания: Учеб. пособие/ Под ред. д.т.н. Д.Н.Колесникова. – СПб: СПбГПУ, 2003. – 180 с.

25. Башарин Г. П. Модели информационно-вычислительных систем: Сборник научных трудов. – М.: Наука, 1994. – 78 с.

26. Вычислительные системы, сети и телекоммуникации./ Под ред. В.Л. Брейдо. – СПб: Питер, 2003. – 688 с.

27. Лаврусь О.Е., Миронов С.Ф. Теория массового обслуживания: методические указания, учебная программа и задания для контрольных работ для студентов заочной формы обучения специальности 071900 «Информационные системы в технике и технологиях». – Самара: СамГАПС, 2002. – 38 с.

28. Щеклеин В.С. Моделирование информационных систем: конспект лекций. –Ульяновск: УлГТУ, 2002. – 46 с.

29. Окольнишников В.В. Представление времени в имитационном моделировании // Вычислительные технологии. – 2005. – том 10. –№5. – С. 57-78.

30. Кудрявцев Е.М. GPSS World. Основы имитационного моделирования различных систем. – М.: ДМК Пресс, 2004. – 320 c.

31. Боев В.Д. Моделирование систем. Инструментальные средства GPSS World: Учеб. пособие. – СПб.: БХВ-Петербург, 2004. – 368 c.

 


 

Приложение 1. Элементы стандартного отчета GPSS

 

Строка заголовка стандартного отчета содержит имя файла модели, который создал отчет. Также в нее включена дата и время прогона модели:

GPSS World Simulation Report - Пример_2.8.24.2

Tuesday, September 02, 2003 11:45:55

1. Общая информация о результатах работы модели:

- START TIME – начальное время. Абсолютное модельное время в момент начала моделирования. Устанавливается равным абсолютному модельному времени с помощью оператора RESET или CLEAR;

- END TIME – конечное время. Абсолютное модельное время, когда счетчик за­вершения принимает значение 0;

- BLOCKS – количество операторов, использованных в текущей модели, к моменту завершения моделирования;

- FACILITIES – количество устройств, использованных в модели, к моменту за­вершения моделирования;

- STORAGES – количество накопителей, использованных в теку­щей модели к моменту завершения моделирования.

2. Информация об именах. Файл статистики содержит информацию об именах, которые просматривает GPSS в ходе моделирования:

- NAME – перечень заданных пользователем имен, содержащихся в программе модели;

- VALUE – числовое значение, присваиваемое имени.

3. Информация о блоках (операторах):

- LABEL – метка, алфавитно–цифровое имя данного оператора (если оно задано);

- LOC – числовой номер позиции данного оператора в модели;

- BLOCK TYPE – тип оператора GPSS;

- ENTRY COUNT – количество заявок, вошедших в данный оператор, с начала ра­боты программы или после последнего выполнения оператора RESET или CLEAR;

- CURRENT COUNT – количество заявок, находящихся в данном операторе к мо­менту завершения моделирования;

- RETRY – количество заявок, ожидающих специального условия, завися­щего от состояния данного оператора.

4. Информация об объектах типа «устройство». Элементы статистики, представленные в данном разделе, имеют следующее содержание:

- FACILITY – имя или номер устройства;

- ENTRIES – количество раз, когда устройство было занято или занято с преры­ванием с начала моделирования или после последнего выполнения операто­ра RESET или CLEAR;

- UTIL. – коэффициент использования, доля времени моделирования, в тече­ние которого устройство было занято;

- AVE.TIME –среднее время занятия устройства одной заявкой в течение времени моделирования с начала моделирования или после выполнения опе­ратора RESET или CLEAR;

- AVAIL. – состояние устройства в конце моделирования (равно 1, если уст­ройство доступно; 0 – если недоступно);

- OWNER – номер заявки, который занимает устройство (0 – устройство не занято);

- PEND – количество заявок, ожидающих выполнения с прерыванием дру­гих заявок (т. е. вошедших в операторы PREEMPT в режиме прерывания);

- INTER – количество заявок, прерванных на данный момент (количество заявок в списке прерываний);

- RETRY – количество заявок, ожидающих выполнения специального ус­ловия, зависящего от состояния данного устройства;

- DELAY – количество заявок, ожидающих занятия устройства (входят так же заявки, ожидающие занятия устройства в режиме прерывания с по­мощью операторов PREEMPT).

5. Информация об объектах типа «очередь»:

- QUEUE – имя или номер очереди;

- МАХ – максимальное содержимое очереди в течение периода моделирования, который начинается с момента трансляции модели или применения оператора RESET или CLEAR;

- СОNT. – текущее содержимое очереди в конце процесса моделирования;

- ENTRY – общее количество входов заявок в очередь в течение времени моделирования;

- ENTRY(0) – общее количество входов заявок в очередь с нулевым време­нем ожидания;

- AVE.C0NT. – среднее значение содержимого очереди в течение времени моде­лирования;

- AVE.TIME – среднее время пребывания одной заявки в очереди с учетом всех входов в очередь;

- AVE.(–0) – среднее время пребывания одной заявки в очереди без учета «нулевых» входов в очередь;

- RETRY – количество заявок, ожидающих выполнения специального ус­ловия, зависящего от состояния очереди.

6. Информация об объектах типа «накопитель»:

- STORAGE – имя или номер накопителя;

- САР. – емкость накопителя, заданная оператором STORAGE;

- REM. – число единиц накопителя свободных в конце моделирования;

- MIN. – минимальное число единиц накопителя, использовавшихся за период мо­делирования;

- МАХ. – максимальное число единиц накопителя, использовавшихся за период моделирования;

- ENTRIES – количество входов в накопитель за период моделирования;

- AVL. – состояние накопителя в конце моделирования (1 – доступно; 0 – недо­ступно);

- AVE.С – среднее значение занятой емкости за период моделирования;

- UTIL. – коэффициент использования накопителя;

- RETRY – количество заявок, ожидающих выполнения специального ус­ловия, зависящего от состояния данного накопителя;

- DELAY – количество заявок, ожидающих в операторах ENTER, связанных с дан­ным накопителем.

7. Информация о таблицах:

- TABLE – имя или номер таблицы или Q–таблицы;

- MEAN – средневзвешенное значение табулируемого аргумента;

- STD.DEV. – взвешенное среднеквадратическое отклонение;

- RANGE – нижний и верхний пределы частотного класса;

- RETRY – количество заявок, ожидающих выполнения специального условия, зависящего от состояния данной таблицы;

- FREQUENCY – суммарная величина, которая формируется при попадании табулируемого аргумента в указанные границы (значения операнда В сум­мируются оператором TABULATE);

- CUM.% – величина частоты в процентах к общему количеству значений табулируемого аргумента.

При попадании табулируемого аргумента в интервал, который имеет зна­чение больше или меньше нижней границы частотного класса или равное верхней границе, изменяется значение частоты (FREQUENCY). Операнд В (весовой коэффициент) оператора TABULATE может быть использован для определения величины, которая добавляется в частотный класс при попадании табулируемого значения в этот частотный класс. Частотные классы, суммарное значение которых равно 0, в файл статис­тики не выводятся.

8. Информация о списках пользователя:

- USER CHAIN – имя или номер списка пользователя;

- SIZE – количество заявок в списке пользователя в конце времени моде­лирования;

- RETRY – количество заявок, ожидающих наступления специального ус­ловия, зависящего от состояния данного списка пользователя;

- AVE.CONT. – среднее содержимое списка пользователя в течение времени мо­делирования;

- ENTRIES – общее число заявок, входивших в список пользователя в течение времени моделирования;

- МАХ – максимальное количество заявок в списке пользователя за период моделирования;

- AVE.TIME – среднее время пребывания заявки в списке пользователя.

9. Информация о группах заявок:

- XACT GROUP – имя или номер объекта группы заявок;

- GROUP SIZE –I число заявок в группе в конце моделирования;

- RETRY – число заявок, ожидающих выполнения специального условия, зависящего от состояния данной группы заявок.

10. Информация о числовых группах:

- NUMERIC GROUP – имя или номер числовой группы;

- GROUP SIZE – количество заявок, содержащихся в числовой группе в кон­це моделирования;

- RETRY – число заявок, ожидающих выполнения специального условия, зависящего от состояния данной числовой группы.

11. Информация о логических переключателях:

- LOGICSWITCH – имя или номер логического ключа;

- VALUE – значение ключа в конце моделирования (1 (true) – «установлен»; О (false) – «сброшен»);

- RETRY – количество заявок, ожидающих выполнения специального ус­ловия, зависящего от состояния данного логического ключа.

12. Информация о сохраняемых величинах (ячейках):

- SAVEVALUE – имя или номер ячейки;

- VALUE – значение сохраняемой величины в конце моделирования;

- RETRY – количество заявок, ожидающих выполнения специального ус­ловия, зависящего от состояния данной ячейки.

13. Информация о матрицах:

- MATRIX – имя или номер матрицы;

- RETRY – количество заявок, ожидающих выполнения специального ус­ловия, зависящего от состояния данной матрицы;

- INDICES – до шести целых чисел, определяющих элемент матрицы;

- VALUE – значение элемента матрицы в конце моделирования (элементы, рав­ные 0, выводятся в отчете группами).

14. Информация о списках текущих и будущих событий. Списки текущих (СЕС) и будущих (FEC) событий выводятся в файл статистики, если в команде START значение операнда D равно 1. Элементы статистики для СЕС, представленные в данном разделе, имеют сле­дующее содержание:

- XN – номер каждой заявки, находящегося в списке текущих событий;

- PRI – приоритет заявки;

- M1 – время входа заявки в модель или время ее самого раннего предка (породившего данную заявку);

- ASSEM – номер семейства данной заявки;

- CURRENT – номер оператора, в котором находится заявка в конце моделиро­вания;

- NEXT – номер следующего оператора, в который должна была войти заявка;

- PARAMETER – имя или номер параметра заявки;

- VALUE – значение параметра.

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

 

 


 

Приложение 2. Основные операторы GPSS

 

В таблице допустимые типы операндов указаны цифрами, которые соответ­ствуют:

1 – Null (нет ввода);

2 – Name (имя);

3 – Number (неотрицательное число);

4 – String (строковый);

5 – ParenthesizedExpression (выражение в скобках);

6 – SNA (стандартный числовой атрибут – СЧА);

7 – SNA*Parameter (косвенная адресация);

8 – PosInteger (положительное целое число);

9 – Integer (целое число со знаком (необязательно));

10 – DirectSNA (прямой СЧА, т. е. не использующий косвенную адресацию).

 

Название и формат Операнды
имя значение тип
1. Источник потока заявок. Формат: GENERATE А,В,С,D,Е [А] Среднее время 1...5, 10
[В] Полуинтервал или модификатор-фун­кция 1...5, 10
[С] Время начальной задержки 1...5, 10
[D] Количество гене­рируемых заявок 1...5, 8, 10
[Е] Приоритет 1, 2, 4, 5, 8, 9
2. Удаление из мо­дели активной заявки. Формат: TERMINATE A [А] Величина умень­шения счетчика за­вершения 1, 2, 5...8
3. Задержка заявки на заданный отрезок модельно­го времени. Формат: ADVANCE А,В А Среднее время за­держки 2...7
[В] Полуинтервал или модификатор-фун­кция 1...7
4. Присвоение или изменение значения параметра. Формат: ASSIGN A[±],В,С А Параметр активной заявки 2...7
В Значение 1...7
[С] Номер функции 1, 2, 5...8
5. Установка приоритета активной заявки. Формат: PRIORITY А,В А Новое значение приоритета 2, 4...7, 9
[В] Помещение заявки в СТС 1, BU

 

Название и формат Операнды
имя значение тип
6. Занятие устройства. Формат: SEIZE A А Имя или номер устройства 2, 5...8
7. Освобождение занятого устройства. Формат: RELEASE A А Имя или номер устройства 2, 5...8
8. Захват устройства. Формат: PREEMPT A,B,C,D,Е   А Имя или номер устройства 2, 5...8
[В] Режим 1, PR
[С] Метка оператора 1,2, 5...8
[D] Имя или номер па­раметра 1,2, 5...8
[Е] Режим удаления RE
9. Освобождение устройства от захвата. Формат: RETURN A А Имя или номер устройства 2, 5...8
10. Перевод устройства в недоступное состояние. Формат: FUNAVAIL A,В,С,D,E,F,G,Н А Имя или номер устройства 2, 5...8
[В] Режим удаления или продолжения 1, RE, СО
[С] Метка оператора выхода 1, 2, 5...8
[D] Имя или параметр устройства 1, 2, 5...8
[Е] Режим удаления или продолжения 1, RE, СО
[F] Метка оператора выхода 1,2, 5...8
[G] Режим удаления или продолжения 1, RE, СО
[Н] Метка оператора выхода 1,2, 5...8
11. Перевод устройства в доступное состояние. Формат: FAVAIL А А Имя или номер устройства 2, 5...8
12. Занятие накопителя. Формат: ENTER А,В А Имя или номер накопителя 2, 5...8
[В] Число занимаемых элементов накопителя 1, 2, 5...8
13. Освобождение накопителя. Формат: LEAVE А,В А Имя или номер накопителя 2, 5...8
[В] Число освобождае­мых элементов накопителя 1, 2, 5...8
14. Перевод накопителя в недоступное состояние. Формат: SUNAVAIL А А Имя или номер накопителя 2, 5...8

 

Название и формат Операнды
имя значение тип
15. Перевод накопителя в доступное со­стояние. Формат: SAVAIL A А Имя или номер накопителя 2, 5...8
16. Увеличение длины очереди. Формат: QUEVE А,В А Имя или номер очереди 2, 5...8
[В] Число, на которое увеличивается дли­на очереди 1,2, 5...8
17. Уменьшение длины очереди. Формат: DEPART А,В А Имя или номер очереди 2, 5...8
[В] Число, на которое уменьшается дли­на очереди 1, 2, 5...8
18. Присоедине­ние заявки к списку пользова­теля. Формат: LINK А,В,С   А Имя или номер списка пользователя 2, 5...8
В Задание дисципли­ны обслуживания 5...7, LIFO, FIFO
[С] Метка альтерна­тивного оператора 1, 2, 5...8
19. Удаление заявки из списка пользователя. Формат: UNLINK X А,В,С,D,Е     [X] Условный опера­тор 1,G,GE, L, LE, E, NE
А Имя или номер списка пользователя 2, 5...8
В Метка оператора выхода 2, 5...8
[С] Число удаляемых заявок 1, 2, 5...8 ALL
[D] Имя или номер па­раметра 1, 2, 5...8 BACK
[Е] Аргумент для срав­нения 1...7
[F] Метка альтерна­тивного оператора 1, 2, 5...8
20. Модификация значения ячейки. Формат: SAVEVALUE A[±], В А Имя или номер ячейки 2, 5...8
В Модификатор 2...7
21. Изменение состояния логического ключа. Формат: LOGIC X А X Логический оператор S, R, I
А Имя или номер логического ключа 2, 5...8
22. Управление потоком заявок в зависимости от результата сравнения операндов. Формат: TEST X А,В,С X Условный оператор G, GE, L, LE, N, NE
А Первая сравниваемая величина 2...7
В Вторая сравниваемая величина 2...7
[С] Метка оператора 1, 2, 5...8

 

Название и формат Операнды
имя значение тип
23. Переход активной заявки в указанный оператор. Формат: TRANSFER А,В,С,D [А] Режим перехода: безусловный; статистический; параметрический; функциональный; оба; все; выборочный; одновременный; подпрограммный 1, 2, 5...8 [,] .XXX Р FN BOTH ALL PICK SIM SBR
[В] Имя или номер оператора (параметра, функции) 1, 2, 5...8
[С] Имя или номер оператора (аргумент для ре­жимов Р и FN) 1, 2, 5...8
[D] Шаг нумерации операторов для режима ALL 1, 2, 5...8
24. Управление потоком заявок в зависимости от состояния устройства. Формат: GATE X А,В X Проверяемое условие: занято или нет; захвачено или нет; доступно или нет   U, NU, I, NI, FV, FNV
А Имя или номер устройства 2, 5...8
[В] Метка оператора 1, 2, 5...8
25. Управление потоком заявок в зависимости от состояния накопителя. Формат: GATE X А,В X Проверяемое условие: пусто или нет; заполнено или нет; доступно или нет   SE, SNE, SF, SNF, SV, SNV
А Имя или номер памяти 2, 5...8
[В] Метка оператора 1, 2, 5...8
26. Управление потоком заявок в зависимости от состояния ключа. Формат: GATE X А,В X Проверяемое условие: ключ установлен ключ не установлен   LS, LR
А Имя или номер логического ключа 2, 5...8
[В] Метка оператора 1,2, 5...8
27. Организация циклического про­хождения заявок в модели. Формат: LOOP А,В А Параметр, содер­жащий число цик­лов 2, 5...8
[В] Метка оператора – на­чало цикла 1, 2, 5…8

 

Название и формат Операнды
имя значение тип
28. Управление потоком заявок в зависимости от состояния синхронизации проверяемой заявки. Формат: GATE X А,В. X Проверяемое условие: есть заявка, ожидающая условия синхронизации, в указанном операторе MATCH или нет М, NM
А Метка оператора MATCH 2, 5...8
[В] Метка оператора 1, 2, 5...8
29. Создание не­обходимого числа копий (семейства) активной заявки. Формат: SPLIT А,В,С А Количество созда­ваемых копий 2, 5...8
[В] Метка оператора для входа копий 1,2,5…8
[С] Имя или номер па­раметра, в который помещаются по­рядковые номера копий 1,2,5…8
30. Объединение заявок одного семейства. Формат: ASSEMBLE A А Количество собираемых заявок 2, 5...8
31. Накопление заданного числа заявок одного семейства. Формат: GATHER A А Количество заявок, кото­рые необходимо накопить 2, 5...8
32. Синхрониза­ция движения двух заявок одного семейства. Формат: MATCH A А Метка сопряжен­ного оператора MATCH 2, 5...8
33. Разрешение заявке на выпол­нение операции любого другого оператора Формат: EXECUTE A А Метка оператора, опе­рация которого вы­полняется актив­ной заявкой 2, 5...8
34. Определение или смена семейства активной заявки Формат: ADOPT A A Имя или номер семейства. Записывается в специальный параметр активной заявки (Assemble Set) 2, 5…8

 

 


 

Приложение 3. Стандартные числовые атрибуты GPSS

 

Код Значение СЧА Примечание
Системные числовые атрибуты
RNj Случайное число. Целочисленное значение. Датчик генерирует последовательность равномерно распределенных случайных целых чисел от 0 до 999.
C1 Относительное модельное время. Вещественное значение. Модельное время с момента последней команды RESET. Изменяет­ся автоматически.
AC1 Абсолютное модельное время. Вещественное значение. Модельное время с момента последней команды CLEAR. Изменяет­ся автоматически.
TG1 Число, равное текущему значению счетчика завершения. Целочисленное значение. Начальное значение TG1 задается опера- тором START и указывает на завершение моделирования, когда становится равным нулю. Вошедшие в оператори TERMINATE с не­нулевым положительным операндом А заявки уменьшают это значение на число, равное значению операнда А.
Стандартные числовые атрибуты заявок
Pj Значение j-гo параметра активной заявки. Целочисленное, вещественное или строковое значение. Для косвенной адресации используются: CЧA*j ; СЧА*имя параметра; СЧА*$имя параметра.
XN1 Номер активной заявки. Целочисленное значение.
PR Приоритет активной заявки. Целочисленное значение. Может изменяться оператором PRIORITY. По умолчанию приоритет равен 0.
MBj Соответствие в операторе MATCH. Целочисленное значение. 1, если в сопряженном операторе MATCH находится заявка того же семейства, что и активная; 0 – иначе.
MPj Время прохождения заявкой некоторого участка модели. Вещественное значение. Вычисляется как разность текущего абсолютного модельного времени и значения j-ro параметра активной заявки. Раз­ность – транзитное время – сохраняется в j-м параметре.
M1 Время пребывания в модели активной заявки. Вещественное значение. Вычисляется как разность абсолютного модельного времени и отметки времени активной заявки, в которой хранится либо время поступления заявки в мо­дель, либо время последнего прохождения заявкой оператора MARK без операнда А.
       

 


 

Код Значение Примечание
Стандартные числовые атрибуты операторов
Nj Общее число входов заявок в j-й оператор. Целочисленное значе­ние. Увеличивается при каждом входе заявки в j-й оператор.
Wj Текущее число заявок, находящихся в j-м операторе. Целочисленное значение. Увеличивается при каждом входе заявки в j-й оператор и уменьшается при каждом выходе заявки из j-гo оператора.
Стандартные числовые атрибуты накопителей
Sj Текущее содержимое накопителя j. Целочисленное значение. Изменяется операторами ENTER и LEAVE.
Rj Число свободных единиц накопителя j. Целочисленное значение. Изменяется операторами ENTER и LEAVE.
SRj Коэффициент использования накопителя j. Вещественное значение. Выражается в тысячных долях, но значение СЧА – целое, т. е. если коэффициент равен 0,65, то SRj равно 650. Может быть нецелочисленным.
SAj Среднее значение занятого накопителя j. Вещественное значение. Взвешенное по времени среднее количество занятых элементов накопителя.
SMj Максимальное количество элементов занятого накопителя j. Целочисленное значение. Максимальное количество элементов накопителя, которое было занято одновременно в процессе моделирования.
SCj Счетчик использования накопителя j. Целочисленное значение. Общее количество использовавшихся элементов накопителя j. Увеличивается при каждом входе заявки в оператор ENTER.
STj Среднее время использования од­ного элемента накопителя j. Определяется системой автоматически.
SEj Занятость накопителя j. 1 – не занят; 0 – занят.
SFj Заполненность накопителя j. 1 – заполнен; 0 – не заполнен.
SVj Доступность накопителя j. 1 – доступен; 0 – недоступен.
Стандартные числовые атрибуты обслуживающих устройств
Fj Занятость устройства j. Целочисленное значение. 1 – занято; 0 – не занято. Может быть изменен операторами SEIZE, RELEASE, PREEMPT и RETURN.
FIj Прерванность устройства j. Целочисленное значение. 1 – прервано; 0 – не прервано. Может быть изменен операторами PREEMPT и RETURN.
FVj Доступность устройства j. Целочисленное значение. 1 – доступно; 0 – не доступно. Может быть изменен операторами FAVAIL и FUNAVAIL
       

 


 

Код Значение Примечание
FRj Коэффициент использования уст­ройства j. Выражается в тысячных долях, но значе­ние СЧА – целое, т. е. если коэффици­ент равен 0,88, то FRj равен 880.
FCj Количество заявок, занимав­ших устройство j. Увеличивается при входе заявок в оператор SEIZE или PREEMPT.
FTj Среднее время использования ус­тройства j одной заявкой. Определяется автоматически.
Стандартные числовые атрибуты очередей
Qj Текущая длина очереди j. Целочисленное значение. Увеличивается при входе заявки в оператор QUEUE и уменьшается при входе в оператор DEPART.
QAj Средняя длина очереди j. Вещественное значение. Взвешенное по времени количество заявок в очереди j.
QMj Максимальная длина очереди j. Целочисленное значение. Максимальное количество заявок, находившихся одновременно в очереди j.
QCj Общее число входов в очередь j. Целочисленное значение. Автоматически увеличивается системой при входе заявки в очередь j.
QZj Число входов с нулевым временем пребывания в очереди j. Число входов заявок, время нахожде­ния которых в очереди равно нулю.
QTj Среднее время пребывания заявки в очереди j. Рассчитывается с учетом нулевых входов.
QXj Среднее время пребывания заявки в очереди j. Рассчитывается без учета нулевых входов.
Стандартные числовые атрибуты ячеек и матриц ячеек
Xj Содержимое ячейки j. Целочис­ленное, вещественное или стро­ковое значение. Изменяется оператором SAVEVALUE.
MXj (a,b) Содержимое ячейки матрицы j. Целочисленное, вещественное или строковое значение. Значение ячейки в строке аи столбце b. Изменяется оператором SAVEVALUE. Для мат­риц, имеющих более двух измерений, все остальные индексы считаются равными 1. В отличие от СЧА класса MX, PLUS-выражения могут обращаться к любому эле­менту многомерных матриц.
Системные числовые атрибуты вычислительных объектов
FNj Результат вычисления значения функции j. Вещественное значе­ние.
Vj Результат вычисления целочис­ленной переменной j или пере­менной j с плавающей точкой. Вещественное значение.
       

 

Код Значение Примечание
BVj Результат вычисления булевой пе­ременной j. Вещественное значение. Принимает значения: 1 (true); 0 (false).
Системные числовые атрибуты групп, списков и ключей
GNj Текущее число членов в j-й числовой группе.
GTj Текущее число членов в j-й груп­пе заявок.
CHj Текущее число заявок в j-м списке пользователя. Список пользователя создается и ведется самим программистом в отличие от ос­тальных списков модели. Используются операторы LINK и UNLINK. Значения всех СЧА определяются аналогично значениям СЧА очередей.
CAj Среднее число заявок в j-м списке пользователя.
CMj Максимальное число заявок в j-м списке пользователя.
CCj Общее число заявок в j-м списке пользователя.
CTj Среднее время пребывания заявки в j-м списке пользователя.
LSj Состояние j-гo логического ключа. Принимает значения: 1 – установлен; 0 – не установлен
Системные числовые атрибуты таблиц
TBj Среднее значение невзвешенных аргументов таблицы j. Для занесения в таблицу используется оператор TABULATE.
TCj Число включений в таблицу j. Целочисленное значение.
TDj Среднеквадратическое отклоне­ние для таблицы j. Вещественное значение.

 


 

Приложение 4. Пакетирование заявок

 

Для организации пакетирования заявок в GPSS World используются операторы GATHER и ASSEMBLE, действие которых принципиально отличается. Оператор GATHER задерживает входящие в него заявки одного семейства до тех пор, пока их количество не достигнет заданного числа. После этого заявки сформированного пакета по одной продвигаются далее по системе, а оператор начинает формирования очередного пакета. В этом случае объединение заявок в пакет (слияния) не происходит.

Если необходимо реализовать пакетирование со слиянием исходных заявок и дальнейшим единовременным продвижением по системе новой заявки-пакета, используется оператор ASSEMBLE.

 

Пример использования оператора GATHER.

GENERATE 1,0 ;генерация заявок с интервалом в 1 сек.

ADOPT 1 ;все заявки становятся членами семейства №1

SEIZE USTR1

ADVANCE 1,0 ;одиночное обслуживание заявок в USTR1 за 1 сек.

RELEASE USTR1

GATHER 3 ;объединение заявок в пакет по три. Слияния

;не происходит. Каждая заявка в пакете остается

;самостоятельной.

 

QUEUE O2 ;в очередь заявки каждого пакета поступают

;по одной, с момента формирования пакета

;из 3-х заявок в блоке GATHER.

SEIZE USTR2

DEPART O2

ADVANCE 3,0 ;одиночное обслуживание заявок в USTR2 за 3 сек.

RELEASE USTR2

TERMINATE 1

 

Рассмотрим результаты моделирования, полученные в результате выполнения модели примера в режиме пошагового прогона. Для моделирования в этом режиме в программной реализации не должно быть команды START, а после компиляции следует выбрать пункт меню Window/Simulation Window/Blocks Window. Ситуация, показанная на рис. П4.1, соответствует моменту накопления в операторе GATHER 3-х заявок входного потока. Видно, что до момента накопления в блоке GATHER 3-х заявок пакета дальнейшее их продвижение не осуществлялось, и в очередь второго устройства заявки не поступали.

Следующий шаг моделирования показан на рис. П4.2. Видно, что одна заявка из сформированного в блоке GATHER пакета из 3-х заявок уже поступила в очередь второго устройства. Остальные две заявки пакета остаются в блоке GATHER, и будут по одной поступать в очередь по факту ее освобождения. Новые заявки, поступающие в блок GATHER, задерживаются до формирования нового пакета по 3, т. е. до момента, когда число входов (Entry Count) не станет равным 6.

Результат моделирования, полученный в виде стандартного отчета при выполнении программы с командой START 100, показан на рис. П4.3. Видно, что на момент завершения моделирования 100 заявок завершили обслуживание (количество входов в оператор №12 TERMINATE), а одна поступила во второе устройство, но обслуживание еще не началось (1 в поле CURRENT COUNT оператора №4 ADVANCE). При этом 199 заявок находятся в очереди второго устройства (199 в поле CURRENT COUNT оператора №7 QUEUE), а 2 заявки задержаны в операторе №6 GATHER до прихода 3-ей, необходимой для формирования очередного пакета.

 

Пример использования оператора ASSEMBLE.

GENERATE 1,0 ;генерация заявок с интервалом в 1 сек.

ADOPT 1 ;все заявки становятся членами семейства №1

SEIZE USTR1

ADVANCE 1,0 ;одиночное обслуживание заявок в USTR1 за 1 сек.

RELEASE USTR1

ASSEMBLE 3 ;объединение заявок в пакет по три со слиянием

;заявок. Далее пакет продвигается по системе

;как самостоятельная единица.

QUEUE O2 ;в очередь пакеты поступают по одному, по факту

;объединения заявок в пакет из 3-х в блоке

;ASSEMBLE.

SEIZE USTR2

DEPART O2

ADVANCE 3,0 ;одиночное обслуживание заявок в USTR2 за 3 сек.

RELEASE USTR2

TERMINATE 1

 

Рассмотрим результаты моделирования, полученные в результате выполнения модели примера в режиме пошагового прогона. Ситуация, показанная на рис. П4.4, соответствует состоянию системы, в котором в блоке Assemble формируется первый пакет (Current Count=1), но заявок для его формирования поступило еще недостаточно (Entry Count=2), поэтому очередь второго устройства пуста.

На рис. П4.5 показан следующий шаг моделирования: первый пакет из 3-х заявок сформирован: Entry Count=3; и один этот объединенный пакет уже поступил в очередь второго устройства. Объединенный пакет, по сути, является новой самостоятельной заявкой, не сохранившей никаких признаков заявок-прародителей пакета.

Ситуация, имеющая место во время формирования второго пакета, показана на рис. П4.6. В блоке Assemble формируется следующий, второй пакет (Current Count=1). Его формирование закончится, когда Entry Count станет равным 6. До тех пор в очередь второго устройства ничего не поступает.

На рис. П4.7 видно, что второй пакет сформирован и поступил в очередь второго устройства. К этому моменту первый пакет уже покинул систему обслуженным.

Результат моделирования, полученный в виде стандартного отчета при выполнении программы с командой START 100, показан на рис. П4.8. На момент завершения моделирования 100 заявок (объединенных пакетов по 3) завершили обслуживание – через оператор №11 TERMINATE прошли 100 заявок; одна одиночная заявка поступила в первое устройство и обслуживания не завершила (1 в поле CURRENT COUNT оператора №4 ADVANCE). В операторе №6 ASSEMBLE началось формирование очередного, 101-го пакета, 2 одиночные заявки сверх уже использованных для пакетирования 300 задержаны до прихода очередной 3-ей, необходимой для формирования пакета.



<== предыдущая лекция | следующая лекция ==>
Операторы организации списка пользователя | Предисловие


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.027 сек.