- •Построение имитационных моделей с помощью инструментального средства gpss World
- •Установка параметров моделирования
- •Моделирование одноканальной разомкнутой системы массового обслуживания
- •Generate а, в, с, d, е
- •Queue a, b
- •Seize a
- •Depart а, в
- •Advance a, b
- •Release а
- •Terminate a
- •Start а, в, с, d
- •Многоканальная разомкнутая система массового обслуживания
- •Name storage a
- •Test o a, b, c
- •Enter а, в
- •5. Определение движения требований по каналам.
- •Transfer all, kaNl, kan3, 3
- •Transfer a, в, c, d
- •Transfer, New_Plaсе
- •Transfer both, First_Place, Second_Place
- •Seize a
- •7. Запоминание канала, в который требование попало на обслуживание.
- •Assign 1, can1
- •Assign a, b, с
- •Seize a
- •Assign 1, can1
- •Освобождение элементов памяти.
- •Leave а, в
- •Terminate 1
- •Terminate a
- •Библиографический список
5. Определение движения требований по каналам.
Поскольку СМО многоканальная, то необходимо использовать оператор TRANSFER для обеспечения возможности направления требований к незанятому каналу:
Transfer all, kaNl, kan3, 3
Сначала требование направляется к оператору, имеющему символическую метку KAN1. Если канал обслуживания с символической меткой KANl занят, то требование направится к следующему каналу, перешагнув через 3 оператора. Если и этот канал будет занят, то требование снова перешагнет через 3 оператора, пока не найдет незанятый канал. В свободном канале обслуживания требование будет обслужено.
Блок TRANSFER обеспечивает переход активного транзакта к новому блоку:
Transfer a, в, c, d
Операнды:
А – режим блока TRANSFER. Описывается ниже. Необязательный операнд. Допустимые значения: Name, PosInteger, ParenthesizedExpression, SNA, SNA'Parameter или Null.
В – номер или метка блока. Номер или имя параметра в режиме Р. Необязательный операнд. Допустимые значения: Null, Name, PosInteger, Parenthesi-zedExpression, SNA или SNA'Parameter.
С – номер или местоположения блока. Приращение в режимах FN или Р. Необязательный операнд. Допустимые значения: Null, Name, PosInteger, ParenthesizedExpression, SNA или SNA'Parameter.
D – приращение номера блока для режима ALL. По умолчанию 1. Необязательный операнд. Допустимые значения: Null, Name, PosInteger, Parenthesi- zed Expression, SNA или SNA'Parameter.
Действие:
Блок TRANSFER может функционировать в одном из 9 режимов, каждый из которых имеет различные свойства. Когда транзакт входит в блок TRANSFER, операнд А используется для определения режима, в котором функционирует блок. Значение операндов В и С зависит от режима. Когда не задан операнд, соответствующий местоположению блока, используется блок, следующий за блоком TRANSFER.
Режим безусловной передачи. Когда операнд А опущен, блок TRANSFER функционирует в режиме безусловной передачи. В этом режиме активный транзакт всегда переходит к блоку, заданному в операнде В:
Transfer, New_Plaсе
Когда транзакт входит в этот блок TRANSFER, он немедленно направляется в блок с меткой New_Place.
Режим BOTH (ОБА). Когда в операнде А указано BOTH, блок TRANSFER функционирует в режиме BOTH, в данном режиме проверяется блок, указанный в операнде В. Если транзакту отказано во входе в данный блок, проверяется блок, указанный в операнде С. Транзакт направляется в первый блок, в который ему будет позволено войти. Если ни один из блоков не принимает транзакт, он остается в блоке TRANSFER до тех пор, пока не сможет войти в один из них:
Transfer both, First_Place, Second_Place
Когда транзакт входит в данный блок TRANSFER, проверяется блок с меткой First_Place. Если транзакт не может войти в него, проверяется блок с меткой Second_Place. Если транзакту отказано во входе и второй блок, он остается в блоке TRANSFER до тех пор, пока не сможет войти в один из блоков.
6. Блок SEIZE. Когда активный транзакт пытается войти в блок SEIZE, он ожидает возможности занять или занимает устройство: