Реферат по предмету "Информатика"


Разработка средств моделирования систем

--PAGE_BREAK--2.2 Датчики или генераторы транзактов
Формат оператора:GENERATE A, B, C, D, E, где А – определяет время, через которое появляется новый транзакт, В – модификатор времени, через которое появляется новый транзакт.

Если В не вызов функции, то В задает разбежку генерируемых по равномерному закону значений.

С – время задержки первого транзакта.

D – предельное количество генерируемых заявок (по умолчанию бесконечность).

Е – приоритет всех генерируемых транзактов.

Вместо параметра А так же могут задаваться специальные встроенные функции GPSS.
2.3 Для имитации обслуживания в устройстве используем оператор ADVANCE.
Формат оператора:ADVANCE A, В, гдеА – среднее время обслуживания заявки на устройстве, В – разбежка среднего времени обслуживания при равномерном обслуживании в устройстве (если отсутствует, то используется дискретный закон) .
2.4 Операторы управления маршрутными узлами
В программе оператор TRANSFER:TRANSFER А, В, где В  – метка, А – вероятность перехода по метке В.




2.5 Операторы управления объектами сбора статистики
QUEUE A – войти в очередь А.

DEPART A – выйти из очереди А.

При прохождении транзакты не задерживаются. Эти операторы не влияют на логику работы модели. Любой транзакт может войти во сколько угодно очередей без ограничений.
2.6 TERMINATE (Уничтожить, терминировать)
Служит для удаления транзактов из модели по завершении их обработки. Производит подсчет выведенных из модели транзактов, уменьшая величину специального счетчика — счетчика завершений.

Формат: , где: А — величина, на которую будет уменьшен счетчик завершений.
2.7 SEIZE (завладеть), RELEASE (освободить)
Оператор SEIZE, является парным с оператором RELEASE, использование их по одиночке не допустимо. Имена, записываемые в операнде  А пары должны быть идентичны. Оператор служит приглашением ко входу в одно из устройств модели. Транзакт, подойдя к блоку SEIZE, пытается занять устройство, названное в операторе. Если устройство занято, транзакт ожидает освобождения устройства перед этим оператором. Перед оператором SEIZE может находиться любое количество транзактов. При попадании первого транзакта на обслуживание в устройство, происходит переключение, осуществляемое программой, запрещающее вход в устройство до окончания обслуживания.

Формат:, где А — имя (или номер) устройства.

Функция оператора RELEASE — моделировать освобождение устройства. Пройдя обслуживание в операторе ADVANCE, и исполнив, оператор RELEASE, транзакт переключает поименованное в операторе устройство из положения «занято» в положение «свободно» и разрешает вход  в ADVANCE, первому из транзактов, ожидающих перед оператором SEIZE.

Формат: , где А — имя (или номер) устройства.
2.8 ENTER ( войти), LEAVE (отпустить)
Эта пара операторов выполняет те же функции, что и SEIZE и RELEASE, но не для устройств, а для STORAGE — «хранилищ», то есть для ресурсов, к которым может обращаться более одного транзакта. Такие объекты могут быть полезны при моделировании, например, распараллеленного процесса: обработки потока деталей на нескольких одинаковых станках, выхода публики из театра через несколько дверей и т.д. Эти «хранилища», или устройства параллельной обработки, должны быть предварительно описаны в программе при помощи оператора описания STORAGE (см. ниже). По логике своей работы связки операторов SEIZE – ADVANCE – RELEASE; ENTER- ADVANCE- LEAVE; абсолютно одинаковы, но употребляются для разных объектов.
2.9 FUNCTION ( функционировать )
Используется  для определения характера  функции,  связывающей  независимую  переменную  с  рядом  зависимых  величин. Эта  связь  может  иметь  непрерывный  или  дискретный  вид. Кроме  того  функция  может  быть  представлена   в  символьном  виде, когда  значение  функции  вычисляется из  выражения,  приводимого  в  списке.  Формат   FUNCTION  имеет   вид:



X1,Y1/X2,Y2/,…/Xn,Yn>               точки  функции

Label – ярлык употребляется  в  обязательном  порядке  и  служит  для  идентификации  функции .

А -  не  имеет  значения  по  умолчанию, определяет   независимую  переменную функции (аргумент),  например, если  используется  равномерное  распределение и  БСВ   берётся  с  3-го  генератора, то запись  будет  иметь  вид  RN3 (randomnumber). Операнд  может  кодироваться дополнительным  выражением. Единственным  ограничением  является  то, что  аргумент  не  может  прямо  или  косвенно  ссылаться  на  функцию для  которой  он  является  независимой  переменной. Значения  функции  могут  задаваться  числом  с  плавающей  точкой.

B -  не  имеет  значения  по  умолчанию,  состоит  из  двух  символов ( без  пробела), первый  из  которых  представляет  собой  обозначение  типа  функции, вида: C- непрерывная  числовая, D – дискретная  числовая, L -   список  числовых  значений, E -  дискретная  символьная,  M – список  дискретных  символов, S- селектор  объектов; второй  символ  представляет  собой  целое  число связанных  пар  значений  функции,  которые  представляют  собой  точки функции и  приводятся  во  второй  строке  описания  формата. Если  используется  символ S,  то  он  уточняется  операндом С,  используемым  только  в  этом  случае .

С  -  по  умолчанию  равен 0, применяется  для  перечисления типов  объектов,  если  используются  объекты  разных  типов,  то  приводятся  их  символы,  разделяемые  запятой  без  пробелов.

Рассмотрим  пример  записи  функции :

SERVTIME   FUNCTION   RN7,D5

2,4/.55,7.5/.7,10.5/.8,13.5/1,16.5


2.10 STORAGE (Запомнить )
Используется  для  определения  ёмкости  одной  или  нескольких  памятей. Исполнение STORAGE (впрочем,  как  и  всех  рассмотренных )  происходит  только  после  успешного  завершения  процесса  компиляции,  при  этом  вводится  в  действие  оговорённое  число  ресурсовSTORAGE. STORAGE в  силу  своей  специфики  должен  располагаться  в  модуле   описания,  до  того  как  началось  движение  транзактов, так  как  после  компиляции  программа    последовательно  исполняет  все,  стоящие  до  первого START.  Формат STORAGE  может  быть  представлен  двумя  способами :

,

Label -  не  имеет  значения  по  умолчанию,  отсутствие   ярлыка  приводит  к  ошибке  компиляции.  Ярлык  является  идентификатором  памяти,  ёмкость  которой  определяется. При  этом  формате  можно  определить  только  одну  память.

А -  не  имеет  значения  по  умолчанию,  отсутствие  приводит  к  ошибке  компиляции. Операнд  определяет  ёмкость  памяти,  т.е.  число  моделируемых    устройств обслуживания. Необходимо  иметь  в  виду,  что  в  этом  формате можно  использовать  одну  единицу  ёмкости  в  заданный  момент  времени.

Приведём  примеры   записи:

1.   SAM     STORAGE    10,

2.     3          STORAGE     5.

В  первом  примере  памяти  SAM   определяется  ёмкость 10, во  втором  примере  памяти  за  номером  3  определяется  ёмкость 5. 

Используя  многоканальное  обслуживание  можно  не  определять STORAGE,  в  этом  случае  ёмкость  по  умолчанию  практически  равна   бесконечности ( а  именно, 2147483647 ).

При  записи  во  втором  формате — — можно  определять  несколько  памятей  сразу.  Определитель  памяти  представляет  пары  обозначений,  разделённых  запятой,  между  собой  пары  отделяются  слешем.  Вначале  пишется  символ  памяти,  а  затем  её  имя – первый  член  пары,  после  запятой  пишется  операнд  А, В,  характеризующий  ёмкость  памяти  второй  член  пары. Символ   S  может  быть  отделён  от  имени памяти  символом $   или  имя  может  быть  включено  в  круглые  скобки,  памяти  одинаковой  ёмкости  могут  записываться  через  тире.

Рассмотрим пример GPSS-ной модели и текст  программы на языке GPSS, соответствующий этой модели.

1        Представим модель графически (рисунок 2.1)



B1               B2                  B3






         — генератор

                                      -накопитель
          — устройство
Рисунок 2.1
Опишем сеть аналитически.

Количество узлов – 5.

1 узел — для источника (генератора) заявок.Закон поступления заявок -равномерный;

2 узел — обслуживающее устройство. Закон обслуживания – экспоненциальный;

3 узел — обслуживающее устройство. Закон обслуживания – экспоненциальный;

4 узел — обслуживающее устройство. Закон обслуживания – экспоненциальный;

5 узел — приемник. Поглощает по 1 заявке.
Матрица переходов для примера сети представлена на рисунке 2.2



-

1

2

3

4

5

1

0

1

0

0

0

2

0

0

1

0

0

3

0

0,9

0

0,1

0

4

0,9

0

0

0

0,1

5

0

0

0

0

1



Рисунок 2.2 Матрица переходов для примера сети.
Модель на языке GPSSдолжна выглядеть так:
    GENERATE  10

L3  QUEUE     1

    SEIZE     B1

    DEPART    1

    ADVANCE   (EXPONENTIAL(1,0,2.1))

    RELEASE   B1              
L1  QUEUE     1

    SEIZE     B2

    DEPART    1

    ADVANCE   (EXPONENTIAL(1,0,6))

    RELEASE   B2

    TRANSFER  0.9,L2,L1

   

L2  QUEUE     1

    SEIZE     B3

    DEPART    1

    ADVANCE   (EXPONENTIAL(1,0,10))

    RELEASE   B3

    TRANSFER  0.9,L4,L3

L4  TERMINATE1

    START     1000
Занесём данный текст в программу GPSS WORLD и получим стандартный отчёт.

В отчете собираются следующие статистические данные:

-         START TIME – начальное значение времени моделирования;

-         END TIME – конечное значение времени моделирование;

-         BLOCKS – число блоков, использованных при моделировании;

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

-         STORAGE – число многоканальных устройств, использованных при моделировании.

Информация об устройствах содержит следующие колонки:

-         FACILITY — имя устройства;

-         ENTRIES — количество транзактов, входивших в устройство;

-         UTIL. — коэффициент загрузки устройства;

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

-         AVAILABLE — состояние устройства в момент окончания моделирования (1 — устройство доступно, 0 — недоступно);

-         OWNER — номер последнего транзакта,  вошедшего в устройство;

-         PEND — количество транзактов, ожидающих выхода устройства из режима прерывания;

-         INTER — количество транзактов, пребывание которых в устройстве было прервано;

-         RETRY — количество транзактов, ожидающих каких-либо условий, зависящих от состояния данного устройства;

-         DELAY — количество транзактов, ожидающих возможности входа в устройство (обычно это транзакты, находящиеся в очереди);

Информация об очередях содержит следующие колонки:

-         QUEUE — имя очереди;

-         MAX — максимальная длина очереди (т.е. количество транзактов в ней) за время моделирования;

-         CONT.- длина очереди в момент окончания моделирования;

-         ENTRIES — количество транзактов, входивших в очередь;

-         ENTRIES(0) — количество транзактов, которым не потребовалось ждать в данной очереди (нулевые входы);

-         AVE.CONT.- средняя длина очереди;

-         AVE.TIME — среднее время пребывания транзактов в очереди;

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

-         RETRY — количество транзактов, ожидающих каких-либо условий, зависящих от состояния данной очереди.


    продолжение
--PAGE_BREAK--3 Проектирование системы
В окончательном виде любая программа представляет собой набор инструкций процессора. Всё, что написано на любом языке программирования, — более удобная, упрощённая запись этого набора инструкций, облегчающая написание, отладку и последующую модификацию программы. Чем выше уровень языка, тем в более простой форме записывается одни и те же действия.

С ростом объёма программы становится невозможным удерживать в памяти все детали,  и становится необходимым структурировать информацию, выделять главное и отбрасывать несущественное. Этот процесс называется повышением степени абстракции программы.

Первым шагом к повышению абстракции является использование функции. Следующий шаг – описание собственных типов данных, позволяющих структурировать  и группировать информацию.

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

Введение понятия класса является естественным развитием идей модульности. В классе структуры данных и функции их обработки объединяются. Класс используется только через его интерфейс – детали реализации для пользователя класса несущественны.

Класс является типом данных, определяемым пользователем. В классе задаются свойства и поведение какого-либо  предмета или процесса в виде полей данных (аналогично структуре) и функции для работы с ними. Создаваемый тип данных обладает практически теми же свойствами, что и стандартные типы. В нашей программе мы использовали три класса:

-                     Класс FuncStandartсодержит описание всех стандартных функций, определённых языком имитационного моделирования GPSS.

В зависимости от выбранной пользователем функции вызывается соответствующий ей метод класса FuncStandart. Вызванный метод отправляет на консоль запрос пользователю на ввод параметров выбранной функции. В зависимости от введенныхпараметров, метод генерирует строку, содержащуюописание стандартной функции с уже заданными параметрами на языке имитационного моделирования GPSS.

-                     Класс GPSSOperatoriсодержит описание операторов языка имитационного моделирования GPSS.В зависимости от матрицы, сгенерированной в методе Matrixкласса GPSSText, вызываются соответствующие методы класса GPSSOperatori. Все методы класса возвращают строковое значение, содержащее описание требуемых операторов языка имитационного моделирования GPSS. Причем стандартные функции, которые используются в операторах как параметры, генерируются в классе FuncStandart.

-                     Класс GPSSTextописывает сгенерированный текст языка имитационного моделирования GPSS. Во-первых, метод класса Matrix, выводит на консоль запрос об операторах узлов, содержащихся в имитационной модели и о движении транзакта по соответствующим узлам. В зависимости от полученных данных  генерируется матрица переходов. Во-вторых, в методе Programma, по матрице переходов совершается соответствующий вызов метода классаGPSSOperatori. В конечном итоге, результат работы программы записывается в файл GPSStext.txt. Этот файл содержит окончательно сгенерированный текст программы на языке имитациооного моделирования GPSS.

Идея классов является основой объектно-ориентированного программирования.

Основными свойствами ООП является инкапсуляция, наследование и полиморфизм.

Объединение данных с функциями их обработки в сочетании со скрытием ненужной для использования этих данных информации называется инкапсуляцией.

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

Полиморфизм – возможность использования в различных классах иерархии одно имя для обозначения сходных по смыслу действий и гибко выбирать требуемое действие во время выполнения программы.

В нашей программе используется первые два свойства ООП.

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

Представим иерархию классовнашей программы (рисунок 3.1)




Рисунок 3.1


4 РЕАЛИЗАЦИЯ СИСТЕМЫ
Как ранее уже описывалось, программа состоит из трёх классов:

-                     Класс FuncStandartсодержит описание всех стандартных функций, определённых языком имитационного моделирования GPSS.

-                     Класс GPSSOperatoriсодержит описание операторов языка имитационного моделирования GPSS.

-                     Класс GPSSTextописывает сгенерированный текст языка имитационного моделирования GPSS.
4.1 Класс
FuncStandart


-                    

-                     Метод stringfBETA() задает параметры функцииBETA(Stream,Min,Max,Shape1,Shape2)  и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-                     Метод stringfBINOMIAL()задает параметры функции BINOMIAL(Stream,TrialCount,Probability) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-                     Метод stringfDUNIFORM()задает параметры функции DUNIFORM(Stream,Min,Max) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-                     Метод stringf_1() задает параметры функций EXPONENTIAL(Stream,Locate,Scale), EXTVALA(Stream,Locate,Scale), EXTVALB(Stream,Locate,Scale), LAPLACE(Stream,Locate,Scale), LOGISTIC(Stream,Locate,Scale)и возвращает строку содержащую описание этих параметров с уже заданными пользователем значениями.

-                     Методstring f_2() задаетпараметрыфункцийGAMMA(Stream,Locate,Scale,Shape), INVGAUSS(Stream,Locate,Scale,Shape), INVWEIBULL(Stream,Locate,Scale,Shape), OGLAPLACE(Stream,Locate,Scale,Shape), LOGLOGIS(Stream,Locate,Scale,Shape),LOGNORMAL(Stream,Locate,Scale,Shape),PEARSON5(Stream,Locate,Scale,Shape),WEIBULL(Stream,Locate,Scale,Shape).

-                     Метод stringfGEOMETRIC()задает параметры функции GEOMETRIC(Stream,Probability) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-                     Метод stringfNEGBINOM()задает параметры функции NEGBINOM(Stream,SuccessCount,Probability) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-                     Метод stringfNORMAL()задает параметры функции NORMAL(Stream,Mean,StdDev) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-                     Метод stringfPARETO()задает параметры функции PARETO(Stream,Locate,Scale)  и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-                     Метод string fPEARSON6()задает параметры функции PEARSON6(Stream,Locate,Scale,Shape1,Shape2) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-                     Метод stringfPOISSON()задает параметры функции POISSON(Stream,Mean) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-                     Метод stringfTRIANGULAR()задает параметры функции

-                     TRIANGULAR(Stream,Min,Max,Mode) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-                     Метод stringfUNIFORM() задает параметры функции UNIFORM(Stream,Min,Max) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.
4.2 Класс
GPSSOperatori

-                     Описываются переменные целого типа nF, nST, nFas, nQ, ответственные за номер используемой функции, номер многоканального устройства, номер одноканального устройства, номер очереди соответственно.

-                     МетодGENERATEзадаёт параметры оператора GENERATEи возвращает строковое значение этого оператора с заданными пользователем значениями параметров.

На первом этапе определяется промежуток времени между появлениями транзактов. Он может быть: постоянным, случайным, заданным функцией, зависящим от функции, а также не задан.

При промежутке времени между появлениями транзактов заданном функцией или зависящем от функции, определяется, какой будет функция: стандартной или пользовательской, в зависимости от этого вызываются функцииFStandи FUNCTIONсоответственно.

На втором этапе определяется время задержки появления первого транзакта. Оно может быть: задано или не задано.

На третьем этапе определяется предельное число транзактов.Оно так же может быть: задано или не задано.

На четвёртом этапе определяется приоритет транзактов. Он может быть: задан или не задан.

-                     Метод ADVANCEзадаёт параметры оператора ADVANCEи возвращает строковое значение этого оператора с заданными пользователем значениями параметров.

В методе определяется время задержки транзакта. Оно может быть: постоянным, случайным, заданным функцией, зависящим от функции.

При времени задержки транзакта заданном функцией или зависящем от функции, определяется, какой будет функция: стандартной или пользовательской, в зависимости от этого вызываются функцииFStandи FUNCTIONсоответственно.

-                     Метод ENTERвозвращает строку содержащую операторы языка имитационного моделирования GPSS, описывающие многоканальное устройство.

На первом этапе в файл GPSStext.txt(файл для записи сгенерированного текста программы на языке имитационного моделирования GPSS) записывается описание многоканального устройства, то есть его имя и количество каналов.

На втором этапе определяется, на каком шаге программы пользователь желает получить  статистику: нахождение транзакта  в очереди перед ОУ, нахождение транзакта в ОУ, общее время обработки транзакта, а также возможен вариант без сбора статистики.

На третьем этапе записывается оператор захвата многоканального устройства с названием этого устройства и количеством захвачиваемых каналов.

На четвёртом этапе происходит переход на генерацию текста оператора ADVANCE.

На пятом этапе записывается оператор освобождения многоканального устройства с названием этого устройства и количеством освобождаемых каналов.

-                     Метод SIZEвозвращает строку содержащую операторы языка имитационного моделирования GPSS, описывающие одноканальное устройство.

На первом этапе определяется, на каком шаге программы пользователь желает получить  статистику: нахождение транзакта  в очереди перед ОУ, нахождение транзакта в ОУ, общее время обработки транзакта, а также возможен вариант без сбора статистики.

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

На третьем этапе происходит переход на генерацию текста оператора ADVANCE.

На четвертом этапе записывается оператор освобождения одноканального устройства с названием этого устройства.

-                     Метод FUNCTIONзадаёт параметры оператора FUNCTIONи возвращает строковое значение этого оператора с заданными пользователем значениями параметров.

В файл GPSStext.txtна первом этапе записывается номер генератора случайного числа; на втором этапе тип функции; на третьем число точек и их координаты.

-                     Метод Fstandartопределяет,  какая стандартная функция будут вызываться, то есть обращается в класс FuncStandart, и возвращает строку, содержащую описание этой функции.
4.3 Класс
GPSSText

-                     Переменные oper, ukazat, matrixтипа vectorнаходящиеся в области private, определяют операторы принадлежащие узлам, указатели на узлы, матрицу переходов от одного узла к другому соответственно.

-                     Метод Matrixгенерирует матрицу переходов от одного узла к другому, а также определяет, какие операторы принадлежат узлам.

На первом этапе определяется оператор на соответствующем узле.

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

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

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

Если узел является терминатором, то в соответствующую строку записываются все нули.

Причем, при каждом описании узла, в вектор operзаписывается оператор, соответствующий узлу.

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

На первом этапе вызывается метод Matrix, который заполняет матрицу переходов и вектор операторов.

На втором этапе определяются узлы, на которых будут стоять указатели.

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

В конце программы выводится текст, подтверждающий корректное ее завершение, а также название файла, хранящего текст программы, написанной на языке имитационного моделирования GPSS.




5 ИСПЫТАНИЕ И ТЕСТИРОВАНИЕ СИСТЕМЫ

Для испытания и тестирования системы мы рассмотрели четыре контрольных модели.

С помощью программы, написанной на MicrosoftVisualStudioC++, мы получили GPSSтекст и сохранили его в файлGPSStext.txt.

Запустив сгенерированную программув GPSSWorldмы получили отчёт.

Рассмотрим тестовые четыре модели.

Модель 1(рисунок 5.1)
                                    2

1  





Рисунок 5.1
Система включает в себя два узла:

1 узел – генератор с постоянным  законом поступления заявок и с заданной задержкой первой заявки (транзакта).

2 узел – одноканальное обслуживающее устройство с постоянным законом распределения времени обслуживания заявок.

Задана обратная связь на ОУ. Сбор статистики осуществляется перед ОУ.

Работа программы для данной модели выглядит следующим образом:

Количество узлов: 2

Введите оператор 1 узла:

1 — генератор;

2 — одноканальное устройство;

3 — многоканальное устройство;

4 — вероятностный узел;

5 — терминатор;

Ваш выбор: 1

На какой узел идет: 2

Введите оператор 2 узла:

1 — генератор;

2 — одноканальное устройство;

3 — многоканальное устройство;

4 — вероятностный узел;

5 — терминатор;

Ваш выбор: 2

На какой узел идет: 2

Промежуток времени между появлениями транзактов:

1 — Постоянный;

2 — Случайный;

3 — Задан функцией;

4 — Зависит от функции;

5 — Не задан;

Ваш выбор:1

Время между появлениями транзактов: 23

Время задержки появления первого транзакта:

1 — задано;

2 — не задано;

Ваш выбор: 1

Время: 2

Предельное число таранзактов:

1 — задано;

2 — не задано;

Ваш выбор: 2

Приоритет транзактов:

1 — задан;

2 — не задан;

Ваш выбор: 2

Узел 2

Время задержки транзакта:

1 — Постоянное;

2 — Случайное;

3 — Задано функцией;

4 — Зависит от функции;

Ваш выбор:1

Время задержки: 24

Сбор статистики:

1 — нахождение в очереди перед ОУ;

2 — нахождение в ОУ;

3 — общее время обработки транзакта (1+2);

4 — не требуется;

Ваш выбор: 1

Сбор статистики:

1 — нахождение в очереди перед ОУ;

2 — нахождение в ОУ;

3 — общее время обработки транзакта (1+2);

4 — не требуется;

Ваш выбор: 4

        #####################################################

        ##         Работа программы закончена!             ##

        ## Tекст программы находится в файле GPSStext.txt! ##

        #####################################################




Содержимоефайла “GPSStext.txt”:
GENERATE23,,2

U_2 QUEUEQ_1

SEIZE Fas_1

DEPART Q_1

ADVANCE 24

RELEASE Fas_1

TRANSFER ,U_2
Отчет:
              GPSS World Simulation Report — Untitled Model 1.1.1
                   Monday, December 20, 2010 00:46:21 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000         480000.000     9        1          0
              NAME                       VALUE 

          F_1                         10001.000

          Q_1                         10000.000

          U_2                             2.000
 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

1    GENERATE         20870             0       0

U_2                 2    QUEUE            40869         20869       0

                    3    SEIZE            20000             0       0

                    4    DEPART           20000             0       0

                    5    ADVANCE          20000             1       0

                    6    RELEASE          19999             0       0

                    7    TRANSFER         19999             0       0

                    8    GENERATE          1000             0       0

                    9    TERMINATE         1000             0       0


FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

 F_1              20000    1.000      24.000  1     2564    0    0     0   20869
QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 Q_1              20869 20869  40869      1  10434.196 122547.993 122550.991   0
FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

2564    0      480002.000   2564      5      6

 21871    0      480012.000   21871      0      1

 21872    0      480480.000   21872      0      8
Модель 2 (рисунок 5.2)
    1                            2                  3




Рисунок 5.2
Система включает в себя два узла:

1 узел – генератор со случайным  законом поступления заявок.

2 узел – одноканальное обслуживающее устройство сослучайным законом распределения времени обслуживания заявок.  После, обслуживание заканчивается.

3 узел – терминатор.

Сбор статистики осуществляется в ОУ.

Работа программы для данной модели выглядит следующим образом:

Количество узлов: 3

Введите оператор 1 узла:

1 — генератор;

2 — одноканальное устройство;

3 — многоканальное устройство;

4 — вероятностный узел;

5 — терминатор;

Ваш выбор: 1

На какой узел идет: 2

Введите оператор 2 узла:

1 — генератор;

2 — одноканальное устройство;

3 — многоканальное устройство;

4 — вероятностный узел;

5 — терминатор;

Ваш выбор: 2

На какой узел идет: 3

Введите оператор 3 узла:

1 — генератор;

2 — одноканальное устройство;

3 — многоканальное устройство;

4 — вероятностный узел;

5 — терминатор;

Ваш выбор: 5

Промежуток времени между появлениями транзактов:

1 — Постоянный;

2 — Случайный;

3 — Задан функцией;

4 — Зависит от функции;

5 — Не задан;

Ваш выбор:2

Среднее время между появлениями транзактов: 23

+/-: 3

Время задержки появления первого транзакта:

1 — задано;

2 — не задано;

Ваш выбор: 3

Введено неверно!!!

Ваш выбор: 2

Предельное число таранзактов:

1 — задано;

2 — не задано;

Ваш выбор: 2

Приоритет транзактов:

1 — задан;

2 — не задан;

Ваш выбор: 2

Узел 2

Время задержки транзакта:

1 — Постоянное;

2 — Случайное;

3 — Задано функцией;

4 — Зависит от функции;

Ваш выбор:2

Среднее время задержки: 34

+/-: 4

Сбор статистики:

1 — нахождение в очереди перед ОУ;

2 — нахождение в ОУ;

3 — общее время обработки транзакта (1+2);

4 — не требуется;

Ваш выбор: 2

Сбор статистики:

1 — нахождение в очереди перед ОУ;

2 — нахождение в ОУ;

3 — общее время обработки транзакта (1+2);

4 — не требуется;

Ваш выбор: 4

Узел 3

Сколько транзактов извлечь: 1

        #####################################################

        ##         Работа программы закончена!             ##

        ## Tекст программы находится в файле GPSStext.txt! ##

        #####################################################
Содержимоефайла“GPSStext.txt”:
GENERATE 23,3

SEIZE Fas_1

QUEUE Q_1

ADVANCE 34,4

DEPART Q_1

RELEASE Fas_1

TERMINATE 1
Отчет:
              GPSS World Simulation Report — Untitled Model 1.2.1
Monday, December 20, 2010 01:04:42 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000          34037.787     7        1          0
              NAME                       VALUE 

          F_1                         10000.000

          Q_1                         10001.000
 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE          1482           481       0

                    2    SEIZE             1001             1       0

                    3    QUEUE             1000             0       0

                    4    ADVANCE           1000             0       0

                    5    DEPART            1000             0       0

                    6    RELEASE           1000             0       0

                    7    TERMINATE         1000             0       0
FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

 F_1               1001    0.999      33.979  1     1001    0    0     0    481
QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 Q_1                 1    0   1000      0     0.999     34.013     34.013   0
CEC XN   PRI          M1      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

  1001    0       22969.240   1001      2      3
FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

1483    0       34058.351   1483      0      1



Модель 3(рисунок 5.3)



12               3           4






Рисунок 5.3
Система включает в себя два узла:

1 узел – генератор с экспоненциальным  законом поступления заявок.

2 узел – одноканальное обслуживающее устройство с пуассоновским законом распределения времени обслуживания заявок.

3 узел – вероятностный, с вероятностью 0.2 транзакт идет на ОУ, иначе обслуживание завершается.

4 узел – терминатор (приемник).

Сбор статистики осуществляется перед ОУ и в ОУ.

Работа программы для данной модели выглядит следующим образом:

Количество узлов: 4

Введите оператор 1 узла:

1 — генератор;

2 — одноканальное устройство;

3 — многоканальное устройство;

4 — вероятностный узел;

5 — терминатор;

Ваш выбор: 1

На какой узел идет: 2

Введите оператор 2 узла:

1 — генератор;

2 — одноканальное устройство;

3 — многоканальное устройство;

4 — вероятностный узел;

5 — терминатор;

Ваш выбор: 2

На какой узел идет: 3

Введите оператор 3 узла:

1 — генератор;

2 — одноканальное устройство;

3 — многоканальное устройство;

4 — вероятностный узел;

5 — терминатор;

Ваш выбор: 4

На какой узел идет (по возрастанию): 2

Вероятность: 0.2

Второй узел: 4

Введите оператор 4 узла:

1 — генератор;

2 — одноканальное устройство;

3 — многоканальное устройство;

4 — вероятностный узел;

5 — терминатор;

Ваш выбор: 5

Промежуток времени между появлениями транзактов:

1 — Постоянный;

2 — Случайный;

3 — Задан функцией;

4 — Зависит от функции;

5 — Не задан;

Ваш выбор:3

1 — Стандартная функция;

2 — Пользовательская функция;

Ваш выбор: 1

1 — BETA(Stream,Min,Max,Shape1,Shape2);

2 — BINOMIAL(Stream,TrialCount,Probability);

3 — DUNIFORM(Stream,Min,Max);

4 — EXPONENTIAL(Stream,Locate,Scale);

5 — EXTVALA(Stream,Locate,Scale);

6 — EXTVALB(Stream,Locate,Scale);

7 — GAMMA(Stream,Locate,Scale,Shape);

8 — GEOMETRIC(Stream,Probability);

9 — INVGAUSS(Stream,Locate,Scale,Shape);

10 — INVWEIBULL(Stream,Locate,Scale,Shape);

11 — LAPLACE(Stream,Locate,Scale);

12 — LOGISTIC(Stream,Locate,Scale);

13 — LOGLAPLACE(Stream,Locate,Scale,Shape);

14 — LOGLOGIS(Stream,Locate,Scale,Shape);

15 — LOGNORMAL(Stream,Locate,Scale,Shape);

16 — NEGBINOM(Stream,SuccessCount,Probability);

17 — NORMAL(Stream,Mean,StdDev);

18 — PARETO(Stream,Locate,Scale );

19 — PEARSON5(Stream,Locate,Scale,Shape);

20 — PEARSON6(Stream,Locate,Scale,Shape1,Shape2 );

21 — POISSON(Stream,Mean);

22 — TRIANGULAR(Stream,Min,Max,Mode);

23 — UNIFORM(Stream,Min,Max );

24 — WEIBULL(Stream,Locate,Scale,Shape );

Ваш выбор: 4

Stream (целое, больше либо равно 1): 1

Locate (вещественное): 0

Scale (положительное вещественное): 10

Время задержки появления первого транзакта:

1 — задано;

2 — не задано;

Ваш выбор: 2

Предельное число таранзактов:

1 — задано;

2 — не задано;

Ваш выбор: 2

Приоритет транзактов:

1 — задан;

2 — не задан;

Ваш выбор: 2

Узел 2

Время задержки транзакта:

1 — Постоянное;

2 — Случайное;

3 — Задано функцией;

4 — Зависит от функции;

Ваш выбор:3

1 — Стандартная функция;

2 — Пользовательская функция;

Вашвыбор: 1

1 — BETA(Stream,Min,Max,Shape1,Shape2);

2 — BINOMIAL(Stream,TrialCount,Probability);

3 — DUNIFORM(Stream,Min,Max);

4 — EXPONENTIAL(Stream,Locate,Scale);

5 — EXTVALA(Stream,Locate,Scale);

6 — EXTVALB(Stream,Locate,Scale);

7 — GAMMA(Stream,Locate,Scale,Shape);

8 — GEOMETRIC(Stream,Probability);

9 — INVGAUSS(Stream,Locate,Scale,Shape);

10 — INVWEIBULL(Stream,Locate,Scale,Shape);

11 — LAPLACE(Stream,Locate,Scale);

12 — LOGISTIC(Stream,Locate,Scale);

13 — LOGLAPLACE(Stream,Locate,Scale,Shape);

14 — LOGLOGIS(Stream,Locate,Scale,Shape);

15 — LOGNORMAL(Stream,Locate,Scale,Shape);

16 — NEGBINOM(Stream,SuccessCount,Probability);

17 — NORMAL(Stream,Mean,StdDev);

18 — PARETO(Stream,Locate,Scale );

19 — PEARSON5(Stream,Locate,Scale,Shape);

20 — PEARSON6(Stream,Locate,Scale,Shape1,Shape2 );

21 — POISSON(Stream,Mean);

22 — TRIANGULAR(Stream,Min,Max,Mode);

23 — UNIFORM(Stream,Min,Max );

24 — WEIBULL(Stream,Locate,Scale,Shape );

Ваш выбор: 21

Stream (целое, больше либо равно 1): 2

Mean (положительное вещественное): 0.9

Сбор статистики:

1 — нахождение в очереди перед ОУ;

2 — нахождение в ОУ;

3 — общее время обработки транзакта (1+2);

4 — не требуется;

Ваш выбор: 3

Сбор статистики:

1 — нахождение в очереди перед ОУ;

2 — нахождение в ОУ;

3 — общее время обработки транзакта (1+2);

4 — не требуется;

Ваш выбор: 4

Узел 4

Сколько транзактов извлечь: 1

        #####################################################

        ##         Работа программы закончена!             ##

        ## Tекст программы находится в файле GPSStext.txt!##

#####################################################
Содержимоефайла“GPSStext.txt”:
GENERATE (EXPONENTIAL(1,0,10))

U_2 QUEUE Q_1

SEIZE Fas_1

ADVANCE (POISSON(2,0.9))

DEPART Q_1

RELEASE Fas_1

TRANSFER 0.2,U_4,U_2

U_4 TERMINATE 1
Отчет:
              GPSS World Simulation Report — Untitled Model 1.1.1
                   Monday, December 20, 2010 01:18:39 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000           9645.033     8        1          0
              NAME                       VALUE 

          F_1                         10001.000

          Q_1                         10000.000

          U_2                             2.000

U_4                             8.000
 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE          1000             0       0

U_2                 2    QUEUE             1218             0       0

                    3    SEIZE             1218             0       0

                    4    ADVANCE           1218             0       0

                    5    DEPART            1218             0       0

                    6    RELEASE           1218             0       0

                    7    TRANSFER          1218             0       0

U_4                 8    TERMINATE         1000             0       0
FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

 F_1               1218    0.109       0.865  1        0    0    0     0      0
QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 Q_1                 5    0   1218    475     0.121      0.957      1.569   0
FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

1001    0        9665.050   1001      0      1
Модель 4 (рисунок 5.4)
                                        3




1      2                                                                  5

                                        4






                                 

Рисунок 5.4


Система включает в себя два узла:

1 узел – генератор с постоянным  законом поступления заявок.

2 узел — вероятностный, с вероятностью 0.3 транзакт идет на одноканальное ОУ, иначе на многоканальное ОУ.

3 узел – одноканальное обслуживающее устройство с законом распределения времени обслуживания заявок заданным пользовательской функцией. После, обслуживание завершается.

4 узел – многоканальное обслуживающее устройство с постоянным законом распределения времени обслуживания заявок. После, обслуживание завершается.

5 узел – терминатор.

 Сбор статистики осуществляется перед многоканальным ОУ.

Работа программы для данной модели выглядит следующим образом:

Количествоузлов: 5

Введите оператор 1 узла:

1 — генератор;

2 — одноканальное устройство;

3 — многоканальное устройство;

4 — вероятностный узел;

5 — терминатор;

Вашвыбор: 1

Накакойузелидет: 2

Введите оператор 2 узла:

1 — генератор;

2 — одноканальное устройство;

3 — многоканальное устройство;

4 — вероятностный узел;

5 — терминатор;

Ваш выбор: 4

На какой узел идет (по возрастанию): 3

Вероятность: 0.3

Второй узел: 4

Введите оператор 3 узла:

1 — генератор;

2 — одноканальное устройство;

3 — многоканальное устройство;

4 — вероятностный узел;

5 — терминатор;

Ваш выбор: 2

Накакойузелидет: 5

Введите оператор 4 узла:

1 — генератор;

2 — одноканальное устройство;

3 — многоканальное устройство;

4 — вероятностный узел;

5 — терминатор;

Ваш выбор: 3

На какой узел идет: 5

Введите оператор 5 узла:

1 — генератор;

2 — одноканальное устройство;

3 — многоканальное устройство;

4 — вероятностный узел;

5 — терминатор;

Ваш выбор: 5

Промежуток времени между появлениями транзактов:

1 — Постоянный;

2 — Случайный;

3 — Задан функцией;

4 — Зависит от функции;

5 — Не задан;

Ваш выбор:1

Время между появлениями транзактов: 34

Время задержки появления первого транзакта:

1 — задано;

2 — не задано;

Ваш выбор: 2

Предельное число таранзактов:

1 — задано;

2 — не задано;

Ваш выбор: 2

Приоритет транзактов:

1 — задан;

2 — незадан;

Вашвыбор: 2

Узел 3

Время задержки транзакта:

1 — Постоянное;

2 — Случайное;

3 — Задано функцией;

4 — Зависит от функции;

Ваш выбор:3

1 — Стандартная функция;

2 — Пользовательская функция;

Ваш выбор: 2

Номер генератора(аргумент ф-ии): 1

Тип функции:

1 — С кусочно-линейной (непрерывной) аппроксимацией (С);

2 — С ступенчатой (дискретной) аппроксимацией (D);

3 — Табличное, точечное задание функции без аппроксимации (L);

4 — Задание дискретной атрибутивной (E)

5 — Задание табличной атрибутивной (M)

Ваш выбор: 2

Число точек: 2

X[1]=0

Y[1]=1

X[2]=1

Y[2]=2

Сбор статистики:

1 — нахождение в очереди перед ОУ;

2 — нахождение в ОУ;

3 — общее время обработки транзакта (1+2);

4 — нетребуется;

Вашвыбор: 4

Узел 4

Число каналов: 5

Число захвачиваемых каналов: 1

Время задержки транзакта:

1 — Постоянное;

2 — Случайное;

3 — Задано функцией;

4 — Зависит от функции;

Ваш выбор:1

Время задержки: 23

Сбор статистики:

1 — нахождение в очереди перед ОУ;

2 — нахождение в ОУ;

3 — общее время обработки транзакта (1+2);

4 — не требуется;

Ваш выбор: 1

Сбор статистики:

1 — нахождение в очереди перед ОУ;

2 — нахождение в ОУ;

3 — общее время обработки транзакта (1+2);

4 — нетребуется;

Вашвыбор: 4

Узел 5

Сколько транзактов извлечь: 1

        #####################################################

        ##         Работа программы закончена!             ##

        ## Tекст программы находится в файле GPSStext.txt!##

#####################################################
Содержимоефайла “GPSStext.txt”:
F_1 FUNCTIONRN1,D2

0,1/1,2

St_1 STORAGE 5

GENERATE 34

TRANSFER 0.3,U_4,U_3

U_3 SEIZE Fas_1

ADVANCE FN$F_1

RELEASE Fas_1

TRANSFER ,U_5

U_4 QUEUE Q_1

ENTER St_1,1

DEPART Q_1

ADVANCE 23

LEAVE St_1,1

TRANSFER ,U_5

U_5 TERMINATE 1

Отчет:
              GPSS World Simulation Report — Untitled Model 1.3.1
                   Monday, December 20, 2010 02:06:40 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000          34023.000    13        1          1
              NAME                       VALUE 

          FAS_1                       10003.000

          F_1                         10000.000

          Q_1                         10002.000

ST_1                        10001.000

          U_3                             3.000

          U_4                             7.000

          U_5                            13.000
 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE          1000             0       0

                    2    TRANSFER          1000             0       0

U_3                 3    SEIZE              298             0       0

                    4    ADVANCE            298             0       0

                    5    RELEASE            298             0       0

                    6    TRANSFER           298             0       0

U_4                 7    QUEUE              702             0       0

                    8    ENTER              702             0       0

                    9    DEPART             702             0       0

                   10    ADVANCE            702             0       0

                   11    LEAVE              702             0       0

                   12    TRANSFER           702             0       0

U_5                13    TERMINATE         1000             0       0
FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

 FAS_1              298    0.018       2.000  1        0    0    0     0      0
QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 Q_1                 1    0    702    702     0.000      0.000      0.000   0
STORAGE            CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

 ST_1                5    5   0     1      702   1    0.475  0.095    0    0
FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

1001    0       34034.000   1001      0      1



    продолжение
--PAGE_BREAK--ЗАКЛЮЧЕНИЕ


В ходе выполнения курсового проекта, на языке высокого уровня С++ в средеMicrosoftVisualC++ была разработана программа генерации GPSSтекста.Возможностью данной программы является построения имитационной модели системы массового обслуживания.

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

Генерируемый текст  легко перемещается в среду GPSSи пользователь имеет возможность получить готовый отчет, содержащий все необходимые параметры для анализа имитационной модели.



СПИСОК ЛИТЕРАТУРЫ


1.            Муравьев Г.Л. Моделирование систем В 2 ч. Ч.1.  Конспект лекций–Брест: БГТУ 2003

2.            Мороз А.И.  Курс теории систем.  Учебник для ВУЗов– Москва: Высшая школа 1987

3.            Антонов А.В. Системный анализ. Учебник для ВУЗов – Москва: Высшая школа 2004

4.            Кудрявцев Е.М.GPSSWorld. Основы имитационного моделирования различных систем.Учебник для ВУЗов – Москва 2004

5.            Алтаев А.А. Имитационное моделирование на языке GPSS. Методическое пособие – Улан- Удэ2002

6.            Петухов О.А., Морозов А.В., Петухова Е.О. Моделирование системное, имитационное, аналитическое. Учебное пособие – Санкт-Петербург 2008

7.            Норенков И.П., Федорук Е.В.Имитационное моделирование систем массового обслуживания. Методические указания – Москва 1999

8.            Кутузов О.И., Татарникова Т.М., Петров К.О. Распределенные информационные системы управления. Учебное пособие – Санкт-Петербург 2000


Приложение А
1        Одноканальная замкнутая СМО с одним устройством

                                    B1





Рисунок 1Условное графическое обозначениеодноканальной замкнутойСМО с одним устройством
Система включает: одноканальное устройство (В1).

Система обслуживает входной процесс одного типа.

Закон поступления заявок – экспоненциальный.

В процессе обслуживания заявки поступают:

— на узел B1;

— из узла B1 обратно на узел В1;

— из узла S2 на узел S4.

Время обслуживания заявок распределено по – экспоненциальному  закону.
    GENERATE  10

L1  ADVANCE   (Exponential(1,0,10))

    QUEUE     OHER

    SEIZE     B1

    DEPART    OHER

    ADVANCE   (EXPONENTIAL(1,0,2.1))

    RELEASE   B1

    TRANSFER  ,L1

   

    GENERATE  480

    TERMINATE1

    START     1




2        Одноканальная замкнутая смо с несколькими устройствами 

В1                                             В2



Рисунок 2  Условное графическое обозначениеодноканальной замкнутой смо с несколькими устройствами 
Система включает: одноканальные устройства (B1, B2).

Система обслуживает входной процесс одного типа.

Закон поступления заявок – экспоненциальный.

В процессе обслуживания заявки поступают:

— на узел B1;

— из узла B1 на узел B2;

— из узла B2 обратно на узел B1.

Время обслуживания заявок распределено по – экспоненциальному  закону.
    GENERATE  10

L1  ADVANCE   (Exponential(1,0,10))

    QUEUE     1

    SEIZE     B1

    DEPART    1

    ADVANCE   (EXPONENTIAL(1,0,2.1))

    RELEASE   B1              
    QUEUE     1

    SEIZE     B2

    DEPART    1

    ADVANCE   (EXPONENTIAL(1,0,6))

    RELEASE   B2

    TRANSFER  ,L1




3        Одноканальная разомкнутая СМО с одним устройством
B1   






Рисунок 3  Условное графическое обозначениеодноканальной разомкнутой смо с одним устройством 
Система включает: одноканальное устройство (B1).

Система обслуживает входной процесс одного типа.

Закон поступления заявок – постоянный.

В процессе обслуживания заявки поступают:

— на узел B1;

— после прохождения узла B1 обслуживание завершается.

Время обслуживания заявок распределено по – случайному закону.
GENERATE      10

QUEUE         1

SEIZE         B1

DEPART        1

ADVANCE       8,4

RELEASE       B1

TERMINATE     1

START         10000
4        Одноканальная разомкнутая СМО с несколькими устройствами 

B1                                              B2

                                       
Рисунок 4  Условное графическое обозначениеодноканальной разомкнутой смо с несколькими устройствами 


Система включает: одноканальные устройства (B1, B2).

Система обслуживает входной процесс одного типа.

Закон поступления заявок – случайный.

В процессе обслуживания заявки поступают:

— на узел B1;

— из узла B1 на узел B2;

— после прохождения узла B2 обслуживание завершается.

Время обслуживания заявок распределено по – случайному  закону.
GENERATE      10,3

QUEUE         1

SEIZE         B1

DEPART        1

ADVANCE       8,4

RELEASE       B1

QUEUE         1

SEIZE         B2

DEPART        1

ADVANCE       6,2

RELEASE       B2

TERMINATE     1

START         10000
5        Одноканальная разомкнутая СМО с обратной связью



B1






Рисунок 5  Условное графическое обозначениеодноканальной разомкнутой смо с обратной связью




Система включает: одноканальное устройство (B1).

Система обслуживает входной процесс одного типа.

Закон поступления заявок – случайный.

В процессе обслуживания заявки поступают:

— на узел B1;

— из узла B1 с вероятностью 0,1 обратно на узел B1, с вероятностью 0,9 обслуживание завершается.

Время обслуживания заявок распределено по – случайному закону.
    GENERATE 10,3

    QUEUE     1

L_1SEIZE     B1

    ADVANCE   8,4

    RELEASE   B1

    TRANSFER  0.9,L_2,L_1

L_2TERMINATE1

    START     10000
6        Одноканальная разомкнутая СМО с обратными связями и несколькими устройствами



B1               B2                  B3





Рисунок 6  Условное графическое обозначениеодноканальной разомкнутой смо с обратными связями и несколькими устройствами 
Система включает: одноканальные устройства (B1, B2, B3).

Система обслуживает входной процесс одного типа.

Закон поступления заявок – постоянный.

В процессе обслуживания заявки поступают:

— на узел B1;

— из узла B1 на узел B2;

— из узла В2 с вероятностью 0,9 обратно на узел В2, с вероятностью 0,1 на узел В3;

— из узла В3 с вероятностью 0,9 на узел В1, с вероятностью 0,1 обслуживание завершается.

Время обслуживания заявок распределено по – экспоненциальному закону.
    GENERATE  10

L3  QUEUE     1

    SEIZE     B1

    DEPART    1

    ADVANCE   (EXPONENTIAL(1,0,2.1))

    RELEASE   B1              
L1  QUEUE     1

    SEIZE     B2

    DEPART    1

    ADVANCE   (EXPONENTIAL(1,0,6))

    RELEASE   B2

    TRANSFER  0.9,L2,L1

   

L2  QUEUE     1

    SEIZE     B3

    DEPART    1

    ADVANCE   (EXPONENTIAL(1,0,10))

    RELEASE   B3

    TRANSFER  0.9,L4,L3

L4  TERMINATE1

    START     1000
7        Одноканальная разомкнутая СМО с вероятностным узлом


                           В2

В1                                                                                                       В4
                                     

В3      

Рисунок 7  Условное графическое обозначениеодноканальной разомкнутой смо с вероятностным узлом
Система включает: одноканальные устройства (B1, B2, B3, B4).

Система обслуживает входной процесс одного типа.

Закон поступления заявок – случайный.

В процессе обслуживания заявки поступают:

— на узел B1;

— из узла В1 с вероятностью 0,3 на узел В2, с вероятностью 0,7 на узел В3;

— из узла В2 и узла В3 на узел В4;

— после прохождения узла В4 обслуживание завершается.

Время обслуживания заявок на распределено по – случайному закону.
    GENERATE  10,3

    QUEUE     1

    SEIZE     B1

    DEPART    1

    ADVANCE   8,4

    RELEASE   B1

    TRANSFER  0.3,L_2,L_1

   

L_1QUEUE     2

    SEIZE     B2

    DEPART    2

    ADVANCE   6,4

    RELEASE   B2

   

    QUEUE     4

    SEIZE     B4

    DEPART    4

    ADVANCE   6,4

    RELEASE   B4
L_2QUEUE     3

    SEIZE     B3

    DEPART    3

    ADVANCE   8,6

    RELEASE   B3
    QUEUE     4

    SEIZE     B4

    DEPART    4

    ADVANCE   6,4

    RELEASE   B4

    TERMINATE1

    START     10000
8        Одноканальная разомкнутая СМО с двумя входными потоками



                              B1
Рисунок 8  Условное графическое обозначениеодноканальной разомкнутой смо с двумя входными потоками
Система включает: одноканальное устройство (B1).

Система обслуживает входные процессы двух типов.

Закон поступления заявок на первом и на втором канале – случайный.

В процессе обслуживания заявки поступают:

— на узел B1;

— после прохождения узла B1 обслуживание завершается.

Время обслуживания заявок распределено по – случайному закону.


GENERATE      30,2

QUEUE                          OHER1

SEIZE                          B1

DEPART        OHER1

ADVANCE       (Exponential(1,0,2.5))

RELEASE       B1

TERMINATE    
GENERATE      15,5.5

QUEUE                          OHER2

SEIZE                          B1

ADVANCE       (Exponential(4,0,2.5))

DEPART        OHER2

RELEASE       B1

TERMINATE     1

START                          1000
9        МногоканальнаязамкнутаяСМО

                                                B1

                            
                                             В2

                                  

Рисунок 9Условное графическое обозначениемногоканальной замкнутой смо
Система включает: одноканальные устройства (B1, B2) и многоканальное устройство.

Система обслуживает входной процесс одного типа.

Закон поступления заявок – экспоненциальный.

В процессе обслуживания заявки поступают:

— на многоканальное устройство;

— с многоканального узел В1, если В1 занят, то на узел В2;

— из узла В1 и узла В2 на многоканальное;

Время обслуживания заявок на распределено по – экспоненциальному закону.


NAK                                                   STORAGE     3

              GENERATE         (Exponential(1,0,10))

L1            ADVANCE          (Exponential(4,0,7))

              ENTER            NAK

              TRANSFER         BOTH,KAN1,KAN2

KAN1          SEIZE            B1

              QUEUE            1

              ADVANCE          (EXPONENTIAL(8,0,4))

              RELEASE          B1

              DEPART           1

              TRANSFER         ,COME
KAN2          SEIZE            B2

    QUEUE                      2

    ADVANCE                    1,0

    RELEASE                    B2

    DEPART                     2   
COME                           LEAVE  NAK

              ADVANCE          (Exponential(1,0,2))

              TRANSFER         ,L1
              GENERATE         480

              TERMINATE        1

              START            1
10    Многоканальная разомкнутая СМО

               В1
B2                              
Рисунок10 Условное графическое обозначение многоканальной разомкнутой смо




Система включает: одноканальные устройства (B1, B2) и многоканальное устройство.

Система обслуживает входной процесс одного типа.

Закон поступления заявок – экспоненциальный.

В процессе обслуживания заявки поступают:

— на многоканальное устройство;

— с многоканального на узел В1, если В1 занят, то на узел В2;

— после прохождения узла В1 и узла В23 обслуживание заканчивается;

Время обслуживания заявок на распределено по – экспоненциальному закону.
NAK           STORAGE          3

              GENERATE         (Exponential(1,0,10))

              ENTER            NAK

              TRANSFER         BOTH,KAN1,KAN2
KAN1          SEIZE            B1

              QUEUE            1

    ADVANCE                    (EXPONENTIAL(8,0,4))

              RELEASE          B1

    DEPART                     1

              TRANSFER         ,COME
KAN2          SEIZE            B2

    QUEUE                      2

    ADVANCE                    1,0

    RELEASE                    B2

    DEPART                     2   
COME                           LEAVE  NAK

              ADVANCE          (Exponential(1,0,2))

              TERMINATE        1

              START            1000




    продолжение
--PAGE_BREAK--Приложение

Б

2        Одноканальная замкнутая СМО с одним устройством

Полученный

отчёт
:

GPSS World Simulation Report — Untitled Model 1.2.1
                   Wednesday, December 15, 2010 10:09:06 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000            480.000    10        1          0
              NAME                       VALUE 

          B1                          10001.000

          L1                              2.000

          OHER                        10000.000
 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE            47             0       0

L1                  2    ADVANCE            232             1       0

                    3    QUEUE              231            45       0

                    4    SEIZE              186             0       0

                    5    DEPART             186             0       0

                    6    ADVANCE            186             1       0

                    7    RELEASE            185             0       0

                    8    TRANSFER           185             0       0

                    9    GENERATE             1             0       0

                   10    TERMINATE            1             0       0
FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

 B1                 186    0.912       2.353  1       34    0    0     0   45
QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 OHER               46   45    231     15    18.194     37.807     40.432   0
CEC XN   PRI          M1      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

    49    0         480.000     49      0      1
FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

    34    0         483.814     34      6      7

    33    0         513.195     33      2      3

    50    0         960.000     50      0      9
3        Одноканальная замкнутая СМО с несколькими устройствами

Полученный

отчёт
:
              GPSS World Simulation Report — Untitled Model 1.2.1
                   Friday, December 10, 2010 10:30:48 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000            480.000    15        2          0
              NAME                       VALUE 

          B1                          10000.000

          B2                          10001.000

          L1                              2.000
 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE            48             0       0

L1                  2    ADVANCE            115             2       0

                    3    QUEUE              113             0       0

                    4    SEIZE              113             0       0

                    5    DEPART             113             0       0

                    6    ADVANCE            113             1       0

                    7    RELEASE            112             0       0

                    8    QUEUE              112            44       0

                    9    SEIZE               68             0       0

                   10    DEPART              68             0       0

                   11    ADVANCE             68             1       0

                   12    RELEASE             67             0       0

                   13    TRANSFER            67             0       0

                   14    GENERATE             1             0       0

                   15    TERMINATE            1             0       0
FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

B1                 113    0.571       2.426  1       48    0    0     0   0

B2                  68    0.909       6.419  1        8    0    0     0   44
QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                  45   44    225     47    19.896     42.444     53.651   0
FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

     8    0         480.784      8     11     12

    48    0         480.880     48      6      7

    49    0         485.117     49      2      3

    29    0         489.126     29      2      3

    50    0         490.000     50      0      1

    51    0         960.000     51      0     14
4        Одноканальная разомкнутая СМО с одним устройством

Полученный

отчёт
:
              GPSS World Simulation Report — Untitled Model 1.3.1
                   Wednesday, December 15, 2010 10:19:02 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000         100007.316     7        1          0
              NAME                       VALUE 

          B1                          10000.000
 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE         10000             0       0

                    2    QUEUE            10000             0       0

                    3    SEIZE            10000             0       0

                    4    DEPART           10000             0       0

                    5    ADVANCE          10000             0       0

                    6    RELEASE          10000             0       0

                    7    TERMINATE        10000             0       0
FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

B1               10000    0.800       8.002  1       0    0    0     0      0
QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                   1    0  10000   6937     0.041      0.408      1.331   0
FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

 10001    0      100010.000   10001      0      1
5        Одноканальная разомкнутая СМО с несколькими устройствами

Полученный

отчёт
:
              GPSS World Simulation Report — Untitled Model 1.4.1
                   Wednesday, December 15, 2010 10:21:47 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000          99971.786    12        2          0
              NAME                       VALUE 

          B1                          10000.000

          B2                          10001.000
 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE         10001             0       0

                    2    QUEUE            10001             0       0

                    3    SEIZE            10001             0       0

                    4    DEPART           10001             0       0

                    5    ADVANCE          10001             1       0

                    6    RELEASE          10000             0       0

                    7    QUEUE            10000             0       0

                    8    SEIZE            10000             0       0

                    9    DEPART           10000             0       0

                   10    ADVANCE          10000             0       0

                   11    RELEASE          10000             0       0

                   12    TERMINATE        10000             0       0
FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

B1               10001    0.798       7.973  1    10001   0    0     0     0

B2               10000    0.600       5.995  1        0   0    0     0     0
QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                   3    0  20001  15110     0.101      0.504      2.060   0
FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

 10001    0       99974.589   10001      5      6

 10002    0       99975.330   10002      0      1



6        Одноканальная разомкнутая СМО с обратной связью

Полученный

отчёт
:
              GPSS World Simulation Report — Untitled Model 1.5.1
                   Wednesday, December 15, 2010 10:23:37 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000         798179.384     7        1          0
              NAME                       VALUE 

          B1                          10000.000

          L_1                             3.000

          L_2                             7.000
 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE         79800             0       0

                    2    QUEUE            79800         32845       0

L_1                 3    SEIZE            99679             1       0

                    4    ADVANCE          99678             0       0

                    5    RELEASE          99678             0       0

                    6    TRANSFER         99678         36954       0

L_2                 7    TERMINATE        10000             0       0
FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

 B1               99679    1.000       8.007  1    46955    0    0     0   69799
QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                79800 79800  79800      0  39916.720 399256.926 399256.926   0
CEC XN   PRI          M1      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

 46955    0      469374.841   46955      3      4
FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

 79801    0      798181.975   79801      0      1
7        Одноканальная разомкнутая СМО с обратными связями и несколькими устройствами

Полученный

отчёт
:
              GPSS World Simulation Report — Untitled Model 1.6.1
                   Wednesday, December 15, 2010 10:26:07 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000         607511.412    19        3          0
              NAME                       VALUE 

          B1                          10000.000

          B2                          10001.000

          B3                          10002.000

          L1                              7.000

          L2                             13.000

          L3                              2.000

          L4                             19.000
 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE         60751             0       0

L3                  2    QUEUE            69769             0       0

                    3    SEIZE            69769             0       0

                    4    DEPART           69769             0       0

                    5    ADVANCE          69769             0       0

                    6    RELEASE          69769             0       0

L1                  7    QUEUE           161335         59750       0

                    8    SEIZE           101585             0       0

                    9    DEPART          101585             0       0

                   10    ADVANCE         101585             1       0

                   11    RELEASE         101584             0       0

                   12    TRANSFER        101584             0       0

L2                 13    QUEUE            10018             0       0

                   14    SEIZE            10018             0       0

                   15    DEPART           10018             0       0

                   16    ADVANCE          10018             0       0

                   17    RELEASE          10018             0       0

                   18    TRANSFER         10018             0       0

L4                 19    TERMINATE         1000             0       0
FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

 B1               69769    0.242       2.109  1        0    0    0     0    0

 B2               101585   1.000       5.980  1    38150    0    0    0 59750

 B3               10018    0.166      10.062  1        0    0    0     0    0
QUEUE             MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

1               59750 59750 241122  73236  29884.081 75293.505 108138.382   0
FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

 38150    0      607513.718   38150     10     11

 60752    0      607520.000   60752      0      1
    продолжение
--PAGE_BREAK--8        Одноканальная разомкнутая СМО с вероятностным узлом

Полученный

отчёт
:
              GPSS World Simulation Report — Untitled Model 1.7.1
                   Wednesday, December 15, 2010 10:34:47 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000         100163.273    28        4          0
              NAME                       VALUE 

          B1                          10000.000

          B2                          10003.000

          B3                          10001.000

          B4                          10002.000

          L_1                             8.000

          L_2                            18.000
 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE         10002             0       0

                    2    QUEUE            10002             0       0

                    3    SEIZE            10002             0       0

                    4    DEPART           10002             0       0

                    5    ADVANCE          10002             0       0

                    6    RELEASE          10002             0       0

                    7    TRANSFER         10002             0       0

L_1                 8    QUEUE             2975             0       0

                    9    SEIZE             2975             0       0

                   10    DEPART            2975             0       0

                   11    ADVANCE           2975             1       0

                   12    RELEASE           2974             0       0

                   13    QUEUE             2974             0       0

                   14    SEIZE             2974             0       0

                   15    DEPART            2974             0       0

                   16    ADVANCE           2974             0       0

                   17    RELEASE           2974             0       0

L_2                18    QUEUE            10001             0       0

                   19    SEIZE            10001             0       0

                   20    DEPART           10001             0       0

                   21    ADVANCE          10001             0       0

                   22    RELEASE          10001             0       0

                   23    QUEUE            10001             0       0

                   24    SEIZE            10001             1       0

                   25    DEPART           10000             0       0

                   26    ADVANCE          10000             0       0

                   27    RELEASE          10000             0       0

                   28    TERMINATE        10000             0       0
FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

 B1               10002    0.802       8.035  1        0    0    0     0    0

 B3               10001    0.796       7.971  1        0    0    0     0    0

 B4               12975    0.777       5.996  1    10001    0    0     0    0

 B2                2975    0.179       6.032  1    10002    0    0     0    0
QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                   2    0  10002   6398     0.084      0.840      2.331   0

 2                   1    0   2975   2816     0.003      0.108      2.016   0
 3                   5    0  10001   3377     0.536      5.366      8.102   0

 4                   5    1  12975   5439     0.412      3.182      5.479   0
CEC XN   PRI          M1      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

 10001    0      100144.295   10001     24     25
FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

 10003    0      100166.033   10003      0      1

 10002    0      100168.677   10002     11     12
9        Одноканальная разомкнутая смо с двумя входными потоками

Полученный

отчёт
:

GPSS World Simulation Report — Untitled Model 1.13.1
                   Wednesday, December 15, 2010 10:45:04 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000          14938.999    14        1          0
              NAME                       VALUE 

          B1                          10001.000

          OHER1                       10002.000

          OHER2                       10000.000
 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE           497             0       0

                    2    QUEUE              497             0       0

                    3    SEIZE              497             0       0

                    4    DEPART             497             0       0

                    5    ADVANCE            497             0       0

                    6    RELEASE            497             0       0

                    7    TERMINATE          497             0       0

                    8    GENERATE          1000             0       0

                    9    QUEUE             1000             0       0

                   10    SEIZE             1000             0       0

                   11    ADVANCE           1000             0       0

                   12    DEPART            1000             0       0

                   13    RELEASE           1000             0       0

                   14    TERMINATE         1000             0       0
FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

B1                1497    0.258       2.572  1        0    0    0     0     0
QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 OHER2               2    0   1000      0     0.189      2.823      2.823   0

 OHER1               1    0    497    427     0.015      0.450      3.193   0
FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

  1499    0       14949.557   1499      0      8

1498               0       14957.992   1498      0      1
10    Многоканальная замкнутая смо

Полученный отчёт:
              GPSS World Simulation Report — Untitled Model 1.37.1
                   Wednesday, December 15, 2010 11:58:09 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000            480.000    20        2          1
              NAME                       VALUE 

          B1                          10001.000

          B2                          10002.000

          COME                           16.000

          KAN1                            5.000

          KAN2                           11.000

          L1                              2.000

          NAK                         10000.000
LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE            36             0       0

L1                  2    ADVANCE            526            29       0

                    3    ENTER              497             0       0

                    4    TRANSFER           497             1       0

KAN1                5    SEIZE               96             0       0

                    6    QUEUE               96             0       0

                    7    ADVANCE             96             1       0

                    8    RELEASE             95             0       0

                    9    DEPART              95             0       0

                   10    TRANSFER            95             0       0

KAN2               11    SEIZE              400             0       0

                   12    QUEUE              400             0       0

                   13    ADVANCE            400             1       0

                   14    RELEASE            399             0       0

                   15    DEPART             399             0       0

COME               16    LEAVE              494             0       0

                   17    ADVANCE            494             4       0

                   18    TRANSFER           490             0       0

                   19    GENERATE             1             0       0

                   20    TERMINATE            1             0       0
FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

B1                 96    0.923       4.616  1       20    0    0     1      0

B2                400    0.832       0.998  1        8    0    0     1      0
QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                   1    1     96      0     0.923      4.616      4.616   0

 2                   1    1    400      0     0.832      0.998      0.998   0
STORAGE            CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

 NAK                 3    0   0     3      497   1    2.489  0.830    0   18

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

     8    0         480.824      8     13     14

    30    0         480.990     30     17     18

    25    0         481.107     25     17     18

    36    0         481.248     36      2      3

    26    0         481.450     26      2      3

    35    0         482.385     35      2      3

    16    0         482.428     16      2      3

    27    0         482.811     27     17     18

    10    0         483.213     10     17     18

    12    0         483.510     12      2      3

    20    0         484.129     20      7      8

    38    0         484.447     38      0      1

    31    0         485.206     31      2      3

    34    0         487.010     34      2      3

    32    0         488.225     32      2      3

    21    0         489.152     21      2      3

    15    0         493.694     15      2      3

     6    0         498.098      6      2      3

39           0         960.000     39      0     19
11    Многоканальная разомкнутая смо

Полученный отчёт:
              GPSS World Simulation Report — Untitled Model 1.35.1
                   Wednesday, December 15, 2010 11:28:56 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000           9865.175    17        2          1

              NAME                       VALUE 

          B1                          10001.000

          B2                          10002.000

          COME                           15.000

          KAN1                            4.000

          KAN2                           10.000

          NAK                         10000.000
 LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE          1000             0       0

                    2    ENTER             1000             0       0

                    3    TRANSFER          1000             0       0

KAN1                4    SEIZE              712             0       0

                    5    QUEUE              712             0       0

                    6    ADVANCE            712             0       0

                    7    RELEASE            712             0       0

                    8    DEPART             712             0       0

                    9    TRANSFER           712             0       0

KAN2               10    SEIZE              288             0       0

                   11    QUEUE              288             0       0

                   12    ADVANCE            288             0       0

                   13    RELEASE            288             0       0

                   14    DEPART             288             0       0

COME               15    LEAVE             1000             0       0

                   16    ADVANCE           1000             0       0

                   17    TERMINATE         1000             0       0
FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

B1                712    0.300       4.162  1        0    0    0     0      0

B2                288    0.029       1.000  1        0    0    0     0      0
QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                   1    0    712      0     0.300      4.162      4.162   0

 2                   1    0    288      0     0.029      1.000      1.000   0
STORAGE            CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

NAK                 3    3   0     3     1000   1    0.331  0.110    0    0
FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

1001        0        9906.107   1001      0      1
12    Многоканальная разомкнутая смо с несколькими устройствами

    продолжение
--PAGE_BREAK--Полученный

отчёт
:
              GPSS World Simulation Report — Untitled Model 1.36.1
                   Wednesday, December 15, 2010 11:41:57 
           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000          10288.629    27        4          1
              NAME                       VALUE 

          B1                          10003.000

          B2                          10004.000

          CAN1                        10001.000

          CAN2                        10002.000

          COME                           25.000

          KAN1                            4.000

          KAN2                           15.000

          NAK                         10000.000
LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE          1000             0       0

                    2    ENTER             1000             0       0

                    3    TRANSFER          1000             0       0

KAN1                4    SEIZE              646             0       0

                    5    QUEUE              646             0       0

                    6    ADVANCE            646             0       0

                    7    DEPART             646             0       0

                    8    RELEASE            646             0       0

                    9    QUEUE              646             0       0

                   10    SEIZE              646             0       0

                   11    DEPART             646             0       0

                   12    ADVANCE            646             0       0

                   13    RELEASE            646             0       0

                   14    TRANSFER           646             0       0

KAN2               15    SEIZE              354             0       0

                   16    QUEUE              354             0       0

                   17    ADVANCE            354             0       0

                   18    DEPART             354             0       0

                   19    RELEASE            354             0       0

                   20    QUEUE              354             0       0

                   21    SEIZE              354             0       0

                   22    DEPART             354             0       0

                   23    ADVANCE            354             0       0

                   24    RELEASE            354             0       0

COME               25    LEAVE             1000             0       0

                   26    ADVANCE           1000             0       0

                   27    TERMINATE         1000             0       0
FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

CAN1              646    0.503       8.016  1        0    0    0     0      0

CAN2              354    0.341       9.913  1        0    0    0     0      0

B1                646    0.369       5.875  1        0    0    0     0      0

B2                354    0.275       7.982  1        0    0    0     0      0
QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

 1                   1    0    646      0     0.503      8.016      8.016   0

 2                   1    0    646    597     0.007      0.111      1.461   0

 3                   1    0    354      0     0.341      9.913      9.913   0

 4                   1    0    354    334     0.002      0.065      1.146   0
STORAGE            CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

 NAK                 3    3   0     3     1000   1    1.540  0.513    0    0
FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

  1001    0       10298.607   1001      0      1


Приложение
B

Листинг программы:
#include"stdafx.h"

#include

#include

#include

#include

#include

using namespace std;
ofstream file(«GPSStext.txt»);

class FuncStandart

{

public:

      string fBETA()

      {

            float x;

            ostringstream S;

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            return S.str();

      }

      string fBINOMIAL()

      {

            float x;

            ostringstream S;

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            return S.str();

      }

      string fDUNIFORM()

      {

            float x;

            ostringstream S;

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            return S.str();

      }

      string f_1()

      {

            float x;

            ostringstream S;

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            return S.str();

      }

      string f_2()

      {

            float x;

            ostringstream S;

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            return S.str();

      }

      string fGEOMETRIC()

      {

            float x;

            ostringstream S;

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            return S.str();

      }

      string fNEGBINOM()

      {

            float x;

            ostringstream S;

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            return S.str();

      }

      string fNORMAL()

      {

            float x;

            ostringstream S;

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            return S.str();

      }

      string fPARETO()

      {

            float x;

            ostringstream S;

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            cout

            cin>>x;

            S

            return S.str();

      }

      string fPEARSON6()

{

      float x;

      ostringstream S;

      cout

      cin>>x;

      S

      cout

      cin>>x;

      S

      cout

      cin>>x;

      S

      cout

      cin>>x;

      S

      cout

      cin>>x;

      S

      return S.str();

}

      string fPOISSON()

{

      float x;

      ostringstream S;

      cout

      cin>>x;

      S

      cout

      cin>>x;

      S

      return S.str();

}

      string fTRIANGULAR()

{

      float x;

      ostringstream S;

      cout

      cin>>x;

      S

      cout

      cin>>x;

      S

      cout

      cin>>x;

      S
--PAGE_BREAK--

      cout

      cin>>x;

      S

      return S.str();

}

      string fUNIFORM()

{

      float x;

      ostringstream S;

      cout

      cin>>x;

      S

      cout

      cin>>x;

      S

      cout

      cin>>x;

      S

      return S.str();

}

};

class GPSSOperatori:public FuncStandart

{

public:

      int nF,nST,nFas,nQ;

      string GENERATE()

      {

            int n,k,m,l;

            float x,K,M,L;

            ostringstream S;

            S

            M7:

            cout

            cout

            cout

            cout

            cout

            cout

            M1:

            cout

            cin>>n;

            switch (n)

            {

            case 1:

                  cout

                  cin>>x;

                  S

                  break;

            case 2:

                  cout

                  cin>>x;

                  S

                  cout

                  cin>>x;

                  S

                  break;

            case 3:

                  cout

                  cout

                  M2:

                  cout

                  cin>>k;

                  switch (k)

                  {

                  case 1:

                        S

                        break;

                  case 2:

                        FUNCTION();

                        S

                        break;

                  default:

                        cout

                        goto M2;

                        break;

                  }

                  break;

            case 4:

                  cout

                  cin>>x;

                  S

                  cout

                  cout

                  cout

                  M3:

                  cout

                  cin>>k;

                  switch (k)

                  {

                  case 1:          

                        S

                        break;

                  case 2:

                        FUNCTION();

                        S

                        break;

                  default:

                        cout

                        goto M3;

                        break;

                  }

                  break;

            case 5:

                  break;

            default:

                  cout

                  goto M1;

                  break;

            }

            cout

            cout

            cout

            M4:

            cout

            cin>>k;

            switch(k)

            {

            case 1:

                  cout

                  cin>>K;

                  break;

            case 2: break;

            default:

                  cout

                  goto M4;

                  break;

            }

            cout

            cout

            cout

            M5:

            cout

            cin>>m;

            switch(m)

            {

            case 1:

                  cout

                  cin>>M;

                  break;

            case 2: break;

            default:

                  cout

                  goto M5;

                  break;

            }

            cout

            cout

            cout

            M6:

            cout

            cin>>l;

            switch(l)

            {

            case 1:

                  cout

                  cin>>L;

                  break;

            case 2: break;

            default:

                  cout

                  goto M6;

                  break;

            }

            if((k==1)||(m==1)||(l==1))

            {

                  if(n%2==1) S

                  else S

                  if((m==1)||(l==1))

                  {

                        if(k==1) S

                        else S

                        if(l==1)

                              if(m==1) S

                              else S

                        else S

                  }

                  else S

            }

            else

                  if(n==5)

                  {

                        cout

                        goto M7;

                  }

            S

            system(«cls»);

            return S.str();

      }

      string ADVANCE()

      {

            int n,k;

            float x;

            ostringstream S;

            S

            cout

            cout

            cout

            cout

            cout

            M1:

            cout

            cin>>n;

            switch (n)

            {

            case 1:

                  cout

                  cin>>x;

                  S

                  break;

            case 2:

                  cout

                  cin>>x;

                  S

                  cout

                  cin>>x;

                  S

                  break;

            case 3:

                  cout

                  cout

                  M2:

                  cout

                  cin>>k;

                  switch (k)

                  {

                  case 1:

                        S

                        break;

                  case 2:

                        FUNCTION();

                        S

                        break;

                  default:

                        cout

                        goto M2;

                        break;

                  }

                  break;

            case 4:

                  cout

                  cin>>x;

                  S

                  cout

                  cout

                  cout

                  M3:

                  cout

                  cin>>k;

                  switch (k)

                  {

                  case 1:          

                        S

                        break;

                  case 2:

                        FUNCTION();

                        S

                        break;

                  default:

                        cout

                        goto M3;

                        break;

                  }

                  break;

            default:

                  cout

                  goto M1;

                  break;

            }

            return S.str();

      }

      string ENTER(int ukaz)

      {

            nST++;

            int n,x;

            ostringstream S,Enter,Advance,Buf;

            if(ukaz!=0) S

            cout

            cin>>x;

            file

            cout

            cin>>x;

            Enter

            Advance

            M2:

            cout

            cout

            cout

            cout

            cout

            M1:

            cout

            cin>>n;

            switch(n)

            {

            case 1:

                  nQ++;

                  Buf

                  Enter.str("");

                  Enter

                  Buf.str("");

                  goto M2;

                  break;

            case 2:

                  nQ++;

                  Buf

                  Advance.str("");

                  Advance

                  Buf.str("");

                      продолжение
--PAGE_BREAK--goto M2;

                  break;

            case 3:

                  nQ++;

                  Buf

                  Enter.str("");

                  Enter

                  Buf.str("");

                  Buf

                  Advance.str("");

                  Advance

                  Buf.str("");

                  goto M2;

                  break;

            case 4:

                  break;

            default:

                  cout

                  goto M1;

                  break;

            }

            S

            system(«cls»);

            return S.str();

      }

      string SEIZE(int ukaz)

      {

            nFas++;

            int n;

            ostringstream S,Seize,Advance,Buf;

            if(ukaz!=0) S

            Seize

            Advance

            M2:

            cout

            cout

            cout

            cout

            cout

            M1:

            cout

            cin>>n;

            switch(n)

            {

            case 1:

                  nQ++;

                  Buf

                  Seize.str("");

                  Seize

                  Buf.str("");

                  goto M2;

                  break;

            case 2:

                  nQ++;

                  Buf

                  Advance.str("");

                  Advance

                  Buf.str("");

                  goto M2;

                  break;

            case 3:

                  nQ++;

                  Buf

                  Seize.str("");

                  Seize

                  Buf.str("");

                  Buf

                  Advance.str("");

                  Advance

                  Buf.str("");

                  goto M2;

                  break;

            case 4:

                  break;

            default:

                  cout

                  goto M1;

                  break;

            }

            S

            system(«cls»);

            return S.str();

      }

      string TRANSFER(int ukaz,float ver,int uzel1,int uzel2)

      {

            ostringstream S;

            if(ukaz!=0) S

            S

            system(«cls»);

            return S.str();

      }

      string TERMINATE(int ukaz)

      {

            int x;

            ostringstream S;

            if(ukaz!=0) S

            cout

            cin>>x;

            S

            system(“cls»);

            return S.str();

      }

      void FUNCTION()

      {

            nF++;

            int n;

            float x;

            cout

            cin>>n;

            file

            cout

            cout

            cout

            cout

            cout

            cout

            M1:

            cout

            cin>>n;

            switch (n)

            {

            case 1:file

            case 2:file

            case 3:file

            case 4:file

            case 5:file

            default:

                  cout

                  goto M1;

                  break;

            }

            cout

            cin>>n;

            file

            for(int i=1;i

            {

                  cout

                  cin>>x;

                  file

                  cout

                  cin>>x;

                  file

                  if(i

                        file

            }

            file

      }

      string FStand()

      {

            int n;

            string S;

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            cout

            M1:

            cout

            cin>>n;

            switch(n)

            {

            case 1:return fBETA();break;

            case 2:return fBINOMIAL();break;

            case 3:return fDUNIFORM();break;

            case 4:return S="(EXPONENTIAL("+f_1();break;

            case 5:return S="(EXTVALA("+f_1();break;

            case 6:return S="(EXTVALB("+f_1();break;

            case 7:return S="(GAMMA("+f_2();break;

            case 8:return fGEOMETRIC();break;

            case 9:return S="(INVGAUSS("+f_2();break;

            case 10:return S="(INVWEIBULL("+f_2();break;

            case 11:return S="(LAPLACE("+f_1();break;

            case 12:return S="(LOGISTIC("+f_1();break;

            case 13:return S="(LOGLAPLACE("+f_2();break;

            case 14:return S="(LOGLOGIS("+f_2();break;

            case 15:return S="(LOGNORMAL("+f_2();break;

            case 16:return fNEGBINOM();break;

            case 17:return fNORMAL();break;

            case 18:return fPARETO();break;

            case 19:return S="(PEARSON5("+f_2();break;

            case 20:return fPEARSON6();break;

            case 21:return fPOISSON();break;

            case 22:return fTRIANGULAR();break;

            case 23:return fUNIFORM();break;

            case 24:return S="(WEIBULL("+f_2();break;

            default:

                  cout

                  goto M1;

                  break;

            }

      }

};

class GPSSText:public GPSSOperatori

{

      vector oper,ukazat;

      vector matrix;

public:

      GPSSText()

      {

            nF=0;nST=0;nFas=0;nQ=0;

      }

      void Matrix()

      {

            int k,n,m,uzel;

            float x;

            cout

            cin>>uzel;

            system(«cls»);

            for(int i=1;i

            {

                  M1:

                  cout

                  cout

                  cout

                  cout

                  cout

                  cout

                  cout

                  cin>>n;

                  if((n5))

                  {

                        cout

                        goto M1;

                  }

                  oper.push_back(n);

                  if(n==4)

                  {

                        M2:

                        cout

                        cin>>m;

                        if(m>uzel)

                        {

                              cout

                              goto M2;

                        }

                        for(int i=1;i

                        cout

                        cin>>x;

                        matrix.push_back(x);

                        M3:

                        cout

                        cin>>k;

                        if(k>uzel)

                        {

                              cout

                              goto M3;

                        }

                        for(int i=m+1;i

                        matrix.push_back(1-x);

                        for(int i=k+1;i

                  }

                  else

                  if(n==5)

                        for(int i=0;i

                  else

                  {

                        M4:

                        cout

                        cin>>m;

                        if(m>uzel)

                        {

                              cout

                              goto M4;

                        }

                        for(int i=1;i

                        matrix.push_back(1);

                        for(int i=m+1;i

                  }

    продолжение
--PAGE_BREAK--


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Правовые основы метрологии, стандартизации, сертификации
Реферат Белорусская экономическая модель – компонент идеологии белорусского государства
Реферат Конкурентна стратегія МНК "Deere & Company"
Реферат Интервенция и гражданская война в России (1918—1922)
Реферат Генрик Ибсен. Привидения
Реферат Альберти Р. Е., Эммонс М. Л
Реферат Имплантаты в стоматологии
Реферат Проектирование токарного станка с числовым программным управлением повышенной точности
Реферат Головні складові ділового спілкування
Реферат Психологические особенности больных шизофренией
Реферат Movie The Sand Lot Essay Research Paper
Реферат Методика прийому самохідної пускової установки 9П129 та підготовки її до передачі
Реферат Поступление ребенка в школу
Реферат Информационные технологии в системе менеджмента
Реферат Система управления базой данных объектов гражданской обороны для принятия решений в чрезвычайной ситуации