Материал: 4604

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Лабораторная работа №6

Трактовка результатов моделирования

Файл результатов представляет собой таблицу, содержащую в

зависимости от параметров модели до 12 столбцов:

1)№ узла. Указаны номера узлов модели;

2)Наименование узла. Смысловое название узла в модели, присвоенное

разработчиком;

3)Тип узла. Указан тип узла: AG, SERV, KEY, QUEUE, TERM, CREAT,

DELET, PROC, DYNAM, SEND, DIRECT, ATTACH, MANAGE, PAY, RENT, DOWN или PARENT;

Обработка имитационной модели в системе Pilgrim

4)Точка. Номер последней точки пространства, в которой находится

узел типа CREAT, DELET или PROC в момент окончания моделирования;

5)Загрузка (%=). Коэффициент использования транзактами узлов типа

SERV или PROC в процентах. Для узла типа KEY – доля времени пребывания

взакрытом состоянии;

6)Путь (км). Если производятся пространственные перемещения узлов

типа PROC, CREAT или DELET, то подсчитывается пройденный путь. Для пространства типа GEO путь считается в километрах;

7)M [t] среднее время. Среднее значение времени задержки транзакта в

узле или иной интервал времени, зависящий от типа узла:

a.для SERV - это среднее время пребывания в узле (оно может быть больше времени обслуживания у непри­оритетных транзактов при рз=аbs, т.е. при наличии приоритетных транзактов и правила абсолютных при­оритетов);

b.для QUEUE - среднее время задержки в очереди;

c.для AG - среднее время между двумя сгенерированными транзактами;

d.для TERM или DELET - среднее время существования транзакта;

e.для KEY - среднее время пребывания в закрытом состоянии;

f.для CREAT и DYNAM - всегда нулевое значение;

g.для PROC при p4=none, p4=поrm, p4=ехро или p4=unif - среднее время

16

пребывания в узле (оно может быть больше времени обслуживания

транзакта при переводе узла в пассивное состояние);

h.для PROC при p4=earth, p4=plane или p4=cosmos -сум­марное время пребывания транзакта в узлах DYNAM и PROC с учетом возможных возвратов транзактов из PROC в DYNAM.

8)C2 [t] квадрат коэффициента вариации – отношение дисперсии

временного интервала к квад­рату его среднего значения;

9)Счетчик входов и hold. Число транзактов:

a)прошедших через узел;

b)сгенерированных транзактов (для AG или CREAT);

c)уничтоженных (для TERM или DELET);

d)выполнивших операцию HOLD из другого узла в отношении узла KEY;

10)Количество каналов. Число каналов в узле;

11)Осталось транзактов. Количество транзактов, которые остались в

узле на момент завершения моделирования;

12)Состояние узла в этот момент. Состояние узла в момент окончания

прогона модели:

a.узел может быть открыт (свободен), закрыт для входа очередного транзакта, активен или пассивен (узел PROC);

b.В узле типа SEND может быть положительное сальдо на момент завершения модели (денежная сумма с буквой S) и отрицательное сальдо (сумма с буквой D).

c.В узле типа ATTACH может быть остаток ресурса на момент завершения модели (денежная сумма с буквой S) и дефицит (сумма с буквой D).

d.В узлах типа PAY и RENT указывается количество переходов транзактов на нижние уровни - слои модели (на момент завершения модели).

17

Лабораторная работа №7

Трассировка модели

Часто синтаксически правильная модель выдает неправильные результаты, что свидетельствует либо о неадекватности модели, либо о логической (семантической) ошибке в ее описании. Для отладки модели можно использовать режим трассировки. В данный режим модель переводится с помощью меню модели или панели ее инструментов. Можно запустить модель сразу в режиме трассировки. Диалоговое окно трассировки по умолчанию изменяется после каждого события. Учитывая, что число событий может быть очень велико, существуют следующие режимы трассировки, позволяющие ускорить процесс отладки:

1.выйти в режим трассировки после конкретного события;

2.перейти в трассировку, если какой-то транзакт входит в определенный узел или выходит из него;

3.отслеживать путь конкретного транзакта по сложному графу модели;

4.выйти в режим трассировки по показанию модельного таймера.

18

Лабораторная работа №8

Моделирование клапана с таймером

На платформу станции метро приходят пассажиры. Если поезда нет, они ждут на перроне. Когда поезд приходит, начинается посадка. Когда время посадки заканчивается, поезд уезжает. Рассматривается посадка в поезда только в одном направлении. Поездка пассажира в поезде не включается в моделируемый процесс. Требуется построить модель, имитирующую пассажирский поток и движение поездов.

Параметры

Среднее значение

 

 

Интервал прихода пассажиров

15 секунд

 

 

Интервал приезда поезда

90 секунд

 

 

Время стоянки поезда

30 секунд

 

 

19

Моделирование клапана с таймером Текст модели

/* Модель работы станции метрополитена */ /* Единица измерения времени - 1 секунда */ /* Время моделирования - 8 часов */

#include <pilgrim.h>

#define T_PASS 15.0 /* Интервал прихода пассажиров */ #define T_POEZD 90.0 /* Интервал прихода поездов */ #define T_POEZD_STAND 30.0 /*Время стоянки поезда*

forward

 

 

{

modbeg("Станция метро", 7, 60.0*60*8,

 

(long)time(NULL), none, 2,none,4,2);

 

ag("Пассажиры",1,none,expo,T_PASS,zero,zero,2);

 

ag("Поезда",5,none,none,T_POEZD,T_POEZD/3,

 

zero,6);

network(dummy,dummy)

 

{

top(2):

queue("Перрон",none,3);

 

 

clcode

 

 

if (addr[2]->na= =1)

 

 

hold(3);

place; top(3): key("Двери поезда",4);

place; top(4): term("Пассажир сел в поезд");

place; top(6): serv("Поезд стоит", 1, none, none,

T_POEZD_STAND, T_POEZD_STAND/3, zero, 17);

rels(3);

place;

top(7):

term("Поезд ушел");

hold(3);

place;

fault(123);

}

modend ("Metro.rep",1,12,page); return 0;

}

20

Источник: https://studfile.net/preview/16414639/