русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Транзакты


Дата добавления: 2014-07-28; просмотров: 2027; Нарушение авторских прав


 

Транзакты вводятся в модель через блоки GENERATE и могут выводиться из модели через блоки TERMINATE.

В самом начале моделирования в блок‑схеме модели нет ни одного транзакта, все они находятся в пассивном буфере, который организован по правилам стека.

Число транзактов, первоначально находящихся в пассивном буфере, ограничено и определяется основной памятью используемой ЭВМ.

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

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

Из всех транзактов, находящихся в блок‑схеме, в каждый момент модельного времени лишь один транзакт является активным (движущимся), все остальные пассивны. При входе его в очередной блок интерпретатор вызывает на выполнение фрагмент программы, соответствующий этому блоку.

Начав свое движение по блок‑схеме, активный транзакт продолжает его, до тех пор, пока не произойдет одно из трех событий:

транзакт входит в блок, функцией которого является задержка транзакта на некоторый интервал времени, в общем случае случайный;



транзакт входит в блок TERMINATE и выводится из блок‑схемы;

транзакт пытается войти в следующий блок, но блок отказывается принять его (например, прибор занят, или многоканальное устройство полностью заполнено, или переключающее устройство закрыто и т.п.). Реализуется так называемое условие блокировки. В этом случае транзакт остается в предыдущем блоке, и периодически будет повторяться попытка дальнейшего его продвижения. Оно становится возможным, если состояние ИМ изменится и условие блокировки будет снято.

После завершения движения активного транзакта, он становится пассивным, а новый транзакт становится активным. Порядок активизации транзактов определяется логикой работы интерпретатора.

Для рассмотрения этой логики используется следующая запись, характеризующая состояние транзакта:

[N, T, NTB, PR, NSB], где

N – номер транзакта (в соответствии с первоначальной нумерацией транзактов в пассивном буфере),

T – время, на которое запланировано дальнейшее движение транзакта (для транзактов, попавших в условие блокировки, на этом месте используется аббревиатура КМР – как можно раньше);

NTB – номер текущего блока нахождения транзакта;

PR – приоритет транзакта (значения приоритета – целые числа от 0 до 127: чем больше значение, тем больше приоритет). Значения приоритета могут определяться при входе транзакта в ИМ из блока GENERATE (по умолчанию – приоритет 0), изменяться при прохождении блока PRIORITY. Параметр транзакта, определяющий его приоритет, используется для моделирования относительного приоритета заявок в моделях СМО;

NSB – номер следующего блока для движения транзакта.

В дополнение к параметру PR каждый транзакт может иметь до 100 параметров. С помощью них, в частности, может моделироваться неоднородность заявок СМО: эта неоднородность может задавать логику движения транзакта в СМО, временные характеристики воздействия блоков на транзакт и др.

При перемещении транзакта по модели его параметры могут устанавливаться и изменяться и использоваться в соответствии с логикой моделирования. Использоваться в определенный момент работы имитационной программы могут только параметры активного транзакта.

Основные правила определения параметров транзакта:

1) Число используемых параметров транзакта определяется операндом F блока GENERATE;

2) СЧА параметров транзакта определяется Pj, где Р- групповое имя, j – номер параметра (символическое имя не используется);

3) Значениями параметров транзакта могут быть целые числа со знаком и без знака. Формат параметров определяется операндом G блока GENERATE, из которого он вышел (H- полуслово ( ), F- слово ( ).

4) При входе в модель все параметры транзакта имеют нулевые значения

5) Устанавливаться и изменяться могут при прохождении блока ASSIGGN

Использоваться параметры транзакта могут:

1) в качестве операндов блоков,

2) в качестве аргументов GPSS-функций,

3) описания арифметического выражения.

 



<== предыдущая лекция | следующая лекция ==>
Общие сведения о блоках | Описание некоторых блоков. Блок GENERATE


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.37 сек.