Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МиАПО / SIMC_dorab.doc
Скачиваний:
13
Добавлен:
07.02.2016
Размер:
756.22 Кб
Скачать

Приложение 4. Системные переменные

//variables

booltrace, ключ включения трассировки

errtest; ключ расширенной (аварийной) выдачи

doubleresettime, время последнего сброса статистики

systime; системное время

eventievemax, последнее выполняемое событие

sysevent; текущее событие

intitransmax; количество транзактов вdelist

array<1,evemax,bool>waitevent; признаки совершения событий

array<1,evemax,int>maxevent; количества выполнений событий

listluserlist; список списков пользователя

ptransacttrans; ссылка на продвигаемый транзакт

plisttdelist, ссылка на пассивный буфер

current, ссылка на цепь текущих событий

future; ссылка на цепь будущих событий

plistqquelist; ссылка на сист. список очередей

plistffaclist; ссылка на сист. список приборов

plistsstlist; ссылка на сист. список накопителей

plisthhistlist; ссылка на сист. список гистограмм

array<min_signal,max_signal,plistt> signlist ссылки на списки транзактов, ожидающ. сигналов

array<1,evemax,plistt>ass, ссылки на списки собираемых ансамблей

waitl; ссылки на списки транзактов, ожидающ. событий

longv0, источники генераторов случайных чисел

v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15;

typtracetracerec; управление трассировкой

doubleeventall; общее число совершившихся событий

ofstreamoutfile;

ofstream f;

doublectime1,ctime2,realtime;

doublemsystime,mrealtime,evespeed;

Приложение 5 Заголовки системных функций

Функция печати заголовка списка транзактов

void prnlt1(plistt&);

Функция печати списка транзактов

void prnlt(plistt&);

Функция печати гистограммы

void prnhist(phistogram);

Функция печати полей очереди

void prnq(pqueue);

Функция печати полей накопителя

void prns(pstorage);

Функция печати полей прибора

void prnf(pfacility);

Функция печати списков транзактов, ожидающих событий

void prwaitl(void);

Функция печати списков пользователя

void prnuserlt(void);

Функция печати списков транз., ожидающ. освобожд. приборов

void lfprint(plistf);

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

void lsprint(plists);

Функция печати списка очередей. lq- ссылка на список

void prnlq(plistq lq);

Функция печати списка накопителей. ls- ссылка на список

void prnls(plists ls);

Функция печати списка приборов. lf- ссылка на список

void prnlf(plistf lf);

Функция печати списка гистограмм. lh- ссылка на список

void prnlh(plisth lh);

Функция печати всей статистики и состояния системы

void printall();

Функция выдачи сообщений в режиме трассировки

void tracer(int);

Функция выдачи сообщений об ошибках. errcode- код ошибки

void error(int errcode);

Функция генератора случайных чисел,равномерно распределенных на интервале [0..1). v- число-источник

double rand01(long& v);

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

double randexp(double,long&);

Функция генератора случайных чисел, равномерно распределенных на интервале от aдоb.

double randab(double a,double b,long&);

Функция генератора случайных чисел, распределеных по нормальному закону

double randnorm(double,double,long&);

Функция распределения Пуассона:

int randpoisson(double,long &);

Функция распределения:

double randdtable(table,long &);

Функция распределения

double randtable(table,long &);

Функции включения объектов в списки:

void inlt(plistt&,ptransact); транзактов

void inlf(plistf&,pfacility); приборов

void inlq(plistq&,pqueue); очередей

void inls(plists&,pstorage); накопителей

void inlh(plisth&,phistogram); гистограмм

Функции изъятия объектов из списков:

void outtlist(plistt&); транзактов

void outflist(plistf&); приборов

void outqlist(plistq&); очередей

void outslist(plists); накопителей

void outhlist(plisth); гистограмм

Функция включения транзакта в список delist

void indelist(ptransact&);

Функция включения транзакта в список future

void infuture(ptransact&);

Функция включения транзакта в список current

void incurrent(ptransact&);

Функция включения активного транзакта в список пользователя в режиме FIFO. lt- ссылка на список пользователя

void inlfifo(plistt lt);

Функция включения активного транзакта в список пользователя в режиме LIFO. lt- ссылка на список пользователя

void inllifo(plistt lt);

Функция перевода первого транзакта из списка пользователя в список current

void outuserlt(plistt);

Функция инициализации генератора транзактов. e- событие, в котором происходит генерация,r- время генерации первого транзакта

void initcreate(event e,double r);

Функция создания транзактов. r- временной интервал между моментами создания транзактов

void create(double r);

Функция уничтожения активного транзакта

void destroy();

Функция задержки активного транзакта на время r

void delayt(double r);

Функция включения транзакта в список waitl[e]

void inwaitl(ptransact&,event e);

Функция блокировки продвижения активного транзакта до совершения события e

void wait(event e);

Функция назначения следующим события e

void next(event e);

Функция захвата прибора. f- ссылка на прибор

void infac(pfacility& f);

Функция освобождения прибора. f- ссылка на прибор

void outfac(pfacility& f);

Функция выхода из очереди. q- ссылка на очередь

void outqueue(pqueue& q);

Функция входа в очередь. q- ссылка на очередь

void inqueue(pqueue& q);

Функция занятия прибора. f- ссылка на прибор

void seize(pfacility& f);

Функция занятия накопителя. st- ссылка на накопитель

void enter(pstorage st,int);

Функция освобожд. накопителя. st- ссылка на накопитель

void leave(pstorage st,int);

Функции создания списков по ссылкам :

void newtlist(plistt&); транзактов

void newflist(plistf&); приборов

void newqlist(plistq&); очередей

void newslist(plists&); накопителей

void newhlist(plisth&); гистограмм

Функции создания объектов по ссылкам:

void newfac(pfacility&,alfa); прибора

void newqueue(pqueue&,alfa) очереди

void newstorage(pstorage&,alfa,int s1); накопителя. s1 - емкость накопителя

void newhist(phistogram&,double,double,hint2,bool,alfa); гистограммы

void newuserlt(plistt&,alfa);

Функции уничтожения объектов по ссылкам :

void destrlt(plistt&);списков транзактов

void destrf(pfacility&); прибора

void destrq(pqueue&); очереди

void destrs(pstorage&); накопителя

void destrh(phistogram&); гистограммы

void split(int,event);

void assemble(int);

void priority(prtyrange);

void tabulate(phistogram,double);

void accept(signal);

void send(signal);

void resetall();

void clear();

void initlist(int);

void plan();

Соседние файлы в папке МиАПО