в блоках модели.
GENERATE ----------------- Q-схема Блок-диаграмма Оператор Примечание +-----++--+ LA | +--------+ GENERATE_A,B,C,D,E|ИС+------> |A, B, С, D, E |+--+ +-----+--------+ VОператор GENERATE позволяет описывать входной поток, операнды харак-теризуют свойства входного потока транзактов. Следует иметь в виду,что модельное время в GPSS - целое без знака 0, 1, 2, ... Следова-тельно, все параметры закона распределения случайных интервалов меж-ду соседними событиями в потоке, имеющие смысл времени, должны бытьс помощью масштаба времени приведены к целому формату. Если параметры А,В - const, то оператор GENERATE описывает рав-нономерный закон распределения длины интервала между соседними собы-тиями в потоке. 1 --- +-------------+ А - среднее (МО) = 1 / LA 2*В | S - площадь | А >= В 0 +------+------+ А-В А А+В S = 2B*h = 1, h = 1 / (2*B) В - может быть отличен от const и тогда он рассматривается какмодификатор, в этом случае длина интервала определяется как А*В. С - задержка начала генерации. D - число генерируемых транзактов (емкость источника). ----------> Е - приоритет транзактов. Целое без знака 0, 1, 2 ...Предположим, что распределение интервалов приходов через определенный блок GENERATE не является равномерным. Для входов транзактов в модель через блок GENERATE пользователь в этом случае выполняет два действия.
1. Определяет функцию, описывающую соответствующее распределение интервалов времени.
2. В качестве операнда А блока GENERATE определяет функцию, а операнд
В либо определяется по умолчанию, либо задается равным нулю.
При необходимости вычислить в процессе моделирования очередное значе-
ние интервала прихода в блоке GENERATE интерпретатор определяет зна-
чение операнда А путем вычисления соответствующей функции. Это зна-
чение далее непосредственно используется в качестве очередного интер-
вала времени. Все делается так, как если бы пользователь определил
равномерное распределение в блоке GENERATE со значением среднего,
равным значению функции, и с размахом, равным нулю. При нулевом зна-
чении размаха значение функции используется как бы детерминированным образом, однако, поскольку сами значения функции вычисляются некото-
рым случайным образом, значения интервалов времени также случайны.
Пример. GENERATE_10, 2, 20, , 3 0.25 +-------+ С | | +------+-------> t ---+---+---+---- 0 20 8 10 12 Момент начала генерации A-B А A+B ПРИМЕЧАНИЕ: Если бы операнд С отсутствовал, первый транзакт появилсябы в момент времени, определяемый операндом А (в нашем примере 10). ADVANCE Q-схема Блок-диаграмма Оператор Примечания +---+ | -->| K |--> V ADVANCE A,B задержка на +---+ +-------+ случайное время Активность, | A, B | со средним зна-имеющая слу- +---+---+ чением А = 1/LAчайную дли- | и равномернымтельность V распределениемБлок ADVANCE задерживает продвижение транзакта на заданный интервал модельного времени.
А-Средний интервал времени. Обязателен. Операнд должен быть именем, константой, СЧА либо СЧА* параметр.
В-половина временного интервала либо модификатор-функция. Необязателен. Операнд должен быть пустым, положительной константой, СЧА либо СЧА* параметр.
Пример. ADVANCE 100,50
Этот пример создает блок,который выбирает служебное число
между 50 и 150 включительно (т.е. 100 плюс-минус 50) и задерживает
вошедший транзакт на данный интервал модельного времени.
Источники:
1. Шрайбер Т. Дж. Моделирование на GPSS.
2. Феррари Д. Оценка производительности вычислительных систем.
3. http://gpss-forum.narod.ru/
4. http://yevgeny.nm.ru/
5. http://www.gpss.ru/