Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Блоки для обработки сообщений, принадлежащих одному семейству

Программные средства моделирования | Общие сведения о системе моделирования | Переменные и выражения | Арифметические переменные | Блок GENERATE | Блок TERMINATE | Блок PRIORITY | Блоки описания устройств | Блок FUNAVAIL | Блоки описания многоканальных устройств |


Читайте также:
  1. III.1. ИНТЕГРАЛЬНЫЙ СПОСОБ ОБРАБОТКИ СИГНАЛОВ В ЧМ—РВ
  2. Архитектурные особенности процессоров цифровой обработки информации.
  3. Блоки описания многоканальных устройств
  4. Блоки описания устройств
  5. Блокированные возможности
  6. Ваш ровесник в современной литературе (по одному или нескольким произведениям).

Блоки GENERATE являются основным средством создания сообщений и ввода их в модель. Вход сообщений в блок GENERATE не допускается.

Помимо блока GENERATE, для создания сообщений используется также блок SPLIT, который создает заданное число копий вошедшего в блок сообщения. Эти копии принадлежат к тому же семейству, что и породившее их сообщение.

Блок TERMINATE является основным средством уничтожения сообщений и удаления их из модели. Для удаления сообщений, принадлежащих к одному семейству, может быть также использован блок ASSEMBLE.

Блоки MATCH и GATHER предназначены для управления движением сообщений, принадлежащих к одному семейству. Для управления такими сообщениями используются блоки GATE и GATE NM.

Блок SPLIT

Блок SPLIT имеет следующий формат:

SPLIT <A>,[<B>],[<C>]

Блок SPLIT выполняет функцию копирования входящего в него сообщения, которое называется исходным или порождающим.

В поле А задается число создаваемых копий. Операнд А может представлять собой имя, положительное целое число, СЧА, СЧА*<параметр>. Если вычисленное значение аргумента поля А равно нулю, то блок SPLIT не выполняет никаких операций. После создания копий сообщение пытается перейти к следующему по номеру блоку. Все копии формируются в момент входа порождающего сообщения в блок SPLIT.

Поле В задает номер следующего блока, к которому переходят копии исходного сообщения, причем значение вычисляется для каждой копии отдельно. Операнд В может представлять собой имя, положительное целое число, СЧА, СЧА*<параметр>.

В поле С может быть задан номер параметра, используемого для присвоения копиям последовательных номеров. Операнд С может представлять собой имя, положительное целое число, СЧА, СЧА*<параметр>.

Если, например, задан параметр j, то j-му параметру исходного сообщения и n копиям этого сообщения будут присвоены значения, как показано ниже:

пусть Х - входное значение параметра j, тогда значение параметра j первой копии равно Х+1, второй копии Х+2, третьей копии Х+3 и т.д.

Помимо значений параметров в каждую копию записывается значение приоритета и отметка времени исходного сообщения. Копии поочередно поступают в список текущих событий, причем каждая копия помещается в конец соответствующего приоритетного класса. Счетчик общего числа входов (Nj) и счетчик текущего числа сообщений (Wj) блока SPLIT увеличиваются на единицу каждым исходным сообщением и каждой копией. Счетчик числа сообщений уменьшается на единицу при каждом выходе исходного сообщения или копии из блока SPLIT. Каждая новая копия становится членом семейства сообщений, порожденного одним исходным сообщением, которое было создано блоком GENERATE.

Сообщения, принадлежащие к одному семейству, объединяются интерпретатором в список. По связям внутри семейства сообщений нельзя установить, какое из сообщений семейства является порождающим. Если копия сообщения входит в блок SPLIT, то вторичная копия становится членом того же семейства, что и первичная копия. Таким образом, каждое сообщение является членом одного и только одного семейства. Семейство может состоять из произвольного числа сообщений. Когда сообщение уничтожается, интерпретатор автоматически исключает его из членов соответствующего семейства. Таким образом, семейство существует до тех пор, пока из модели не удаляется последний из его членов. При каждом удалении сообщения связи между ними корректируются так, чтобы сообщения данного семейства по-прежнему образовывали замкнутый список.

В модели одновременно может существовать произвольное число семейств, оно все время меняется, поскольку каждое генерируемое блоком GENERATE сообщение создает новое семейство.


Дата добавления: 2015-11-16; просмотров: 68 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Блок TRANSFER| Блок ASSEMBLE

mybiblioteka.su - 2015-2024 год. (0.005 сек.)