Разработка средств моделирования систем
А - не имеет значения по умолчанию, отсутствие приводит к ошибке компиляции. Операнд определяет ёмкость памяти, т.е. число моделируемых устройств обслуживания. Необходимо иметь в виду, что в этом формате можно использовать одну единицу ёмкости в заданный момент времени.
Приведём примеры записи:
1. SAM STORAGE 10,
2. 3 STORAGE 5.
В первом примере памяти SAM определяется ёмкость 1
0 , во втором примере памяти за номером 3 определяется ёмкость 5.
Используя многоканальное обслуживание можно не определять STORAGE, в этом случае ёмкость по умолчанию практически равна бесконечности ( а именно , 2147483647 ).
При записи во втором формате - <STORAGESname1,A/Sname2, B/Sname3,C … > - можно определять несколько памятей сразу. Определитель памяти представляет пары обозначений, разделённых запятой, между собой пары отделяются слешем. Вначале пишется символ памяти, а затем её имя – первый член пары, после запятой пишется операнд А,В, характеризующий ёмкость памяти второй член пары. Символ S может быть отделён от имени памяти символом $ или имя может быть включено в круглые скобки, памяти одинаковой ёмкости могут записываться через тире.
Рассмотрим пример GPSS-ной модели и текст программы на языке GPSS, соответствующий этой модели.
1 Представим модель графически (рисунок 2.1)
B1 B2 B3
- генератор
-накопитель
- устройство
Рисунок 2.1
Опишем сеть аналитически.
Количество узлов – 5.
1 узел - для источника (генератора) заявок.Закон поступления заявок -равномерный;
2 узел - обслуживающее устройство. Закон обслуживания – экспоненциальный;
3 узел - обслуживающее устройство. Закон обслуживания – экспоненциальный;
4 узел - обслуживающее устройство. Закон обслуживания – экспоненциальный;
5 узел - приемник. Поглощает по 1 заявке.
Матрица переходов для примера сети представлена на рисунке 2.2
- |
1 |
2 |
3 |
4 |
5 |
1 |
0 |
1 |
0 |
0 |
0 |
2 |
0 |
0 |
1 |
0 |
0 |
3 |
0 |
0,9 |
0 |
0,1 |
0 |
4 |
0,9 |
0 |
0 |
0 |
0,1 |
5 |
0 |
0 |
0 |
0 |
1 |
Рисунок 2.2 Матрица переходов для примера сети.
Модель на языке GPSSдолжна выглядеть так:
GENERATE 10
L3 QUEUE 1
SEIZE B1
DEPART 1
ADVANCE (EXPONENTIAL(1,0,2.1))
RELEASE B1
L1 QUEUE 1
SEIZE B2
DEPART 1
ADVANCE (EXPONENTIAL(1,0,6))
RELEASE B2
TRANSFER 0.9,L2,L1
L2 QUEUE 1
SEIZE B3
DEPART 1
ADVANCE (EXPONENTIAL(1,0,10))
RELEASE B3
TRANSFER 0.9,L4,L3
L4 TERMINATE 1
START 1000
Занесём данный текст в программу GPSS WORLD и получим стандартный отчёт.
В отчете собираются следующие статистические данные:
- START TIME – начальное значение времени моделирования;
- END TIME – конечное значение времени моделирование;
- BLOCKS – число блоков, использованных при моделировании;
- FACILITIES – число устройств, использованных при моделировании;
- STORAGE – число многоканальных устройств, использованных при моделировании.
Информация об устройствах содержит следующие колонки:
- FACILITY - имя устройства;
- ENTRIES - количество транзактов, входивших в устройство;
- UTIL. - коэффициент загрузки устройства;
- AVE.TIME - среднее время пребывания транзакта в устройстве;
- AVAILABLE - состояние устройства в момент окончания моделирования (1 - устройство доступно, 0 - недоступно);
- OWNER - номер последнего транзакта, вошедшего в устройство;
- PEND - количество транзактов, ожидающих выхода устройства из режима прерывания;
- INTER - количество транзактов, пребывание которых в устройстве было прервано;
- RETRY - количество транзактов, ожидающих каких-либо условий, зависящих от состояния данного устройства;
- DELAY - количество транзактов, ожидающих возможности входа в устройство (обычно это транзакты, находящиеся в очереди);
Информация об очередях содержит следующие колонки:
- QUEUE - имя очереди;
- MAX - максимальная длина очереди (т.е. количество транзактов в ней) за время моделирования;
- CONT.- длина очереди в момент окончания моделирования;
- ENTRIES - количество транзактов, входивших в очередь;
- ENTRIES(0) - количество транзактов, которым не потребовалось ждать в данной очереди (нулевые входы);
- AVE.CONT.- средняя длина очереди;
- AVE.TIME - среднее время пребывания транзактов в очереди;
- AVE.(-0) - среднее время пребывания транзактов в очереди без учета нулевых входов (т.е. без учета транзактов с нулевым временем пребывания в очереди);
- RETRY - количество транзактов, ожидающих каких-либо условий, зависящих от состояния данной очереди.
3 Проектирование системы
В окончательном виде любая программа представляет собой набор инструкций процессора. Всё, что написано на любом языке программирования, - более удобная, упрощённая запись этого набора инструкций, облегчающая написание, отладку и последующую модификацию программы. Чем выше уровень языка, тем в более простой форме записывается одни и те же действия.
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности