Системы имитационного моделирования. Технология имитационного моделирования (Разделы 9-10 учебного пособия "Моделирование систем")

Страницы работы

Содержание работы

9. СИСТЕМЫ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ

9.1. GPSS

Система GPSS предназначена для моделирования дискретных объектов процессно-ориентированным способом  на языке GPSS. Модель представляет собой сеть, составленную из блоков, выполняющих определенные функции. Сеть дополняется программной частью.  Таймер GPSS регистрирует только целочисленные значения времени.

Пример. Интервалы прихода заявок на пункт приема распределены равномерно в диапазоне 18±6 единиц времени. Время обработки заявки распределено также равномерно в диапазоне 16±4 единицы. Заявки приходят, обрабатываются и пересылаются на выполнение. Необходимо собрать статистические данные об очереди заявок за 8 часов. Сетевая модель имеет вид рис.9.1.

Равнобедренный треугольник: JOE
 


Здесь для первого сегмента:

GENERATE - операция генерации транзактов с интервалом 18±6;

QUEUE -  "встать в очередь" JOEQ;

SEIZE - "занять свободный прибор (обработки)" JOE;

DEPART - "покинуть очередь" JOEQ;

ADVANCE - "задержать" на 16±4;

RELEASE - "освободить прибор" JOE;

TERMINATE - "завершить" (покинуть).

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

то вначале счетчик должен стоять на 1. Это делает START  в программном модуле:

          SIMULATE

*        MODEL SEGMENT 1

GENERATE          18,6

QUEUE                 JOEQ

SEIZE                    JOE

DEPART               JOEQ

ADVANCE           16,4

RELEASE             JOE

TERMINATE

*        MODEL SEGMENT 2

GENERATE          480

TERMINATE        1

START                  1

END

Здесь * - комментарии. 1 в  START - значение счетчика, которое будет уменьшаться предыдущим оператором  TERMINATE.

9.2. СИМПАС

          СИМПАС – это система имитационного моделирования для дискретных объектов, написанная на паскале. Вместо календаря вводится понятие списка событий, операции с которыми осуществляет специальная процедура. Широко используются термины процессно-ориентированной модели: прибор, транзакт, QUEUE, блокировка, накопитель и др. без визуального представления (в виде подпрограмм). СИМПАС содержит следующие основные понятия и определения.

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

          Ансамбль - связанная по групповому признаку совокупногсть транзактов.

          Событие -  последовательность действий с изменением состояния модели в результате перемещения транзакта.

          Статический объект - некоторый набор системных переменных, постоянно размещенных в оперативной памяти.

          Динамический объект - создается по мере необходимости (например, гистограмма).

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

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

          Накопитель - динамический объект, где транзакт может занимать место для дальнейшего распределения.

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

          Сигналы - элементы взаимодействия транзактов, находящихся в различных точках модели.

          Системная среда - совокупность констант, типов и переменных СИМПАС и списки. В списки могут объединяться транзакты, приборы, очереди, события, графики и т.д.

          Структура модели:

          Procedure Model;

             var

                <ссылки на приборы>:                           pFacility;

                <ссылки на очереди>:                             pQueue;

                <ссылки на накопители>:                                pStorage;

                <ссылки на списки транзактов>:          pListT;

                <ссылки на гистограммы>:                   pHistgram;

          ………………………………

             begin

                InitList(<количество транзактов>);

                NewFac(…);    …;

                NewQueue(…);   …;

                NewStorage(…);   …;

                NewUserLT(…);   …;

                NewHist(…);   …;

                InitCreate(<номер события>,<время>);…;

                while SysTime<…> do

                   begin

                      Plan;

                      case SysEvent of

                        1:<действия для события 1>;

                        2:<…>;

……………

                   end

             end;

             PrintAll;

          end;

Здесь:

InitList - процедура создания системных списков, размещения транзактов в буфер, присвоения начальных значений системным переменным;

          NewFac - создание приборов;

          NewQueue - процедура очередей;

          NewStorage - создание накопителей;

          NewUserLT - списки пользователей;

          NewHist - гистограммы;

InitCreate - генерация транзактов;

SysTime - системное время;

Plan - подпрограмма имитации;

SysEvent - текущие события;

PrintAll - системный вывод.

Любой транзакт в модели движется от процедуры Create к процедуре Destroy. Продвигается только один транзакт. Транзакт может быть задержан или блокирован. Транзакты могут иметь приоритеты.

9.3. СИМФОР

           Система написана на фортране. Предназначена для моделирования дискретных, непрерывных и комбинированных объектов. Модель исследуемого объекта представлена в виде набора системных и пользовательских подпрограмм. Последние имеют такие функции:

          USINT - инициализация переменных модели;

          STATE - вычисление значения переменных;

SCOND - проверка условий возникновения структурных событий;

EVNTS - поиск алгоритма обработки событий;

SSAVE - сбор статистической информации;

USOUT - нестандартное завершение прогона;

USERR - обработка ошибок;

USFUN - специальная подпрограмма пользователя;

TTRAC - трассировка временных событий;

STRAC - трассировка структурных событий;

TRLOG - оперативная распечатка информации.

Объекты непрерывного моделирования. При непрерывном моделировании симфор работает с тремя типами объектов: структурные переменные (SS), производные (DD), флаги. Симфор автоматически проводит интегрирование NNEQD производных первого порядка, вычисляя значения структурных переменных. Количество интегрируемых переменных MMEQD и структурных переменных MMEQS в модели задается при генерации (формировании) программного пакета, а фактическое число используемых структурных переменных NNEQS и производных NNEQD - при инициализации модели. Интегрирование DD(I) и вычисление SS(I) производится по методу Рунге-Кутта четвертого порядка.

Похожие материалы

Информация о работе