Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Создание имитационной модели процесса






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

; GPSSW File Smo3re.GPS

*********************************************

* Моделирование трехканальной разомкнутой *

* системы со смешанными потоками *

*********************************************

Программу работы СМО можно представить в виде трех секторов.

В первом секторе указывается вместимость СМО. Это можно выполнить с помощью оператора STORAGE (Накопитель), который в нашем примере будет выглядеть так:

NAK STORAGE 3

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

EXP_G FUNCTION RN1, C24

0, 0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915

.7, 1.2/.75, 1.38/.8, 1.6/.84, 1.83/.88, 2.12/.9, 2.3

.92, 2.52/.94, 2.81/.95, 2.99/.96, 3.2/.97, 3.5/.98, 3.9

.99, 4.6/.995, 5.3/.998, 6.2/.999, 7./.9997, 8.

Функция – это вычислительный элемент системы моделирования, связывающий зависимую и независимую переменные моделирования. Функция определяется с помощью оператора FUNCTION. Перед оператором FUNCTION в поле меток ставится символьное или числовое имя (идентификатор) функции.

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

Если в качестве аргумента функции используется случайное число RN___, то результатом является дробная величина, равномерно распределенная в интервале 0 ≤ RN___ ≤ 1. Во всех других случаях 0 ≤ аргумент ≤ 999.

Во втором секторе будем моделировать поток требований в систему и их обслуживание. Моделирование потока требований будем выполнять с помощью оператора GENERATE (Генерировать). В нашем примере он будет выглядеть так:

GENERATE 12, FN$EXP_G

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

Сбор статистической информации для многоканальной системы можно обеспечить с помощью операторов ENTER и LEAVE. Оператор ENTER может быть записан в таком виде:

ENTER NAK

В поле операнда А указано имя накопителя, вместимость которого должна быть заранее определена.

Поскольку СМО многоканальная, то необходимо использовать оператор

TRANSFER для обеспечения возможности направления требований к незанятому каналу:

TRANSFER ALL, KAN1, KAN3, 3

Сначала требование направляется к оператору, имеющему символьную метку KAN1. Этим оператором является SEIZE, который записывается так:

KAN1 SEIZE CAN1

Если канал обслуживания с символьной меткой KAN1 занят, то требование направляется к следующему каналу, перешагивая через три оператора. 3 – это число, указанное в поле операнда D в операторе TRANSFER. Таким образом, следующим оператором будет:

SEIZE CAN2

Если и этот канал будет занят, то требование снова перешагнет через три оператора и т.д., пока не найдется незанятый канал обслуживания. В свободном канале обслуживания требование будет обслужено. Но предварительно требование должно запомнить канал, в который оно попало на обслуживание. Для этого используется оператор ASSIGN (Присвоить) – с его помощью в параметре требования под номером 1 запоминается имя канала, в который требование пошло на обслуживание. В каждом канале имеется свой оператор ASSIGN. Например, для первого канала это присвоение будет выглядеть так:

ASSIGN 1, CAN1

Далее, после определения свободного канала и записи его имени с помощью оператора TRANSFER требование направляется на обслуживание. Это выглядит так:

TRANSFER, COME

Однако перед началом обслуживания должно быть подано сообщение о том, что требование оставило накопитель под именем NAK, в котором оно находилось. Это

будет выглядеть так:

COME LEAVE NAK

После выхода из накопителя требование поступает в канал на обслуживание.

Это действие выполняется с помощью оператора ADVANCE. Время обслуживания определяется с равномерным законом распределения в интервале 8±3 с. Это записывается так:

ADVANCE 8, 3

После обслуживания требование выходит из канала обслуживания, и должен появится сигнал об освобождении последнего. Это делается с помощью оператора RELEASE (Освободить):

RELEASE P1

Оператор требования под номером P1 содержит имя освобождаемого канала обслуживания. Далее требование выходит из системы с помощью оператора

TERMINATE, который записывается в таком виде:

TERMINATE 1

И наконец, последний оператор – управляющая команда START – определяет,

сколько поступит требований в процессе моделирования системы:

START 10000

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.