Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 9
На сайте нет зарегистрированных пользователей

Пользователей: 13,372
новичок: vausoz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Поиск пути в графе заданном списками инцедентности на Turbo Pascal
Принадлежит ли точка пересечению двух окружностей на Turbo Pascal + Отче...
Моделирование станции технического обслуживания на GPSS + Отчет

БЛОКИ ДЛЯ ОБРАБОТКИ СООБЩЕНИЙ, ПРИНАДЛЕЖАЩИХ ОДНОМУ СЕМЕЙСТВУ


Блок SPLIT имеет следующий формат:
SPLIT A,[B],[C]



Блок SPLIT выполняет функцию копирования входящего в него сообщения, которое называется исходным или порождающим.
В поле А задается число создаваемых копий.
Поле В задает номер следующего блока, к которому переходят копии исходного сообщения, причем значение вычисляется для каждой копии отдельно.
В поле С может быть задан номер параметра, используемого для присвоения копиям последовательных номеров.
Блок ASSEMBLE имеет следующий формат:
ASSEMBLE A



Блок ASSEMBLE объединяет заданное число сообщений, принадлежащих к одному семейству, в одно сообщение (т.е. осуществляет сборку заданного числа сообщений). После сборки из блока ASSEMBLE выходит только одно сообщение, которое переходит в следующий по номеру блок. В одном и том же блоке ASSEMBLE возможна одновременная сборка сообщений нескольких семейств. Когда сообщение входит в блок ASSEMBLE, интерпретатор просматривает семейство, к которому принадлежит это сообщение, и проверяет, есть ли другое сообщение из того же семейства в данном блоке ASSEMBLE.
Поле А задает число сообщений, участвующих в сборке. Операнд А может быть именем, положительным целым, СЧА, СЧА*<параметр>. Первоначальное значение аргумента поля А не должно быть больше или равно единице. Если при входе исходного сообщения в блок ASSEMBLE, значение счетчика стало равным нулю (т.е. нужно было "объединить" только одно сообщение), сообщение немедленно покидает блок ASSEMBLE и переходит в следующий по номеру блок. Если результат отрицательный (вычисленное значение аргумента поля А нулевое или отрицательное), происходит ошибка выполнения. Обычно значение счетчика сборки больше единицы, поэтому при входе в блок ASSEMBLE исходного сообщения результат вычитания единицы из счетчика положительный. Этот результат (новое значение счетчика сборки) сохраняется, а исходное сообщение исключается из списка текущих событий и переходит в состояние синхронизации. Это сообщение не будет возвращено в список текущих событий до тех пор, пока в блок ASSEMBLE не войдет заданное число сообщений, и счетчик сборки не станет равным нулю.
Блок GATHER имеет следующий формат записи:
GATHER A



Блок GATE накапливает заданное число сообщений, принадлежащих к одному семейству. Ни одно из накапливаемых сообщений не уничтожается. Когда в блоке GATHER накопится заданное число сообщений, все эти сообщения одновременно попытаются войти в следующий по номеру блок. Сообщения никогда не задерживаются на входе блока GATHER. Одновременно в одном блоке GATHER может происходить накопление сообщений нескольких семейств.
Поле А задает число сообщений, принадлежащих к одному семейству, которое нужно накопить.
Блок MATCH имеет следующий формат:
MATCH A



Блок MATCH используется для синхронизации движения двух сообщений, принадлежащих к одному семейству, без удаления этих сообщений из модели.
Блоки MATCH не объединяют синхронизируемые сообщения. Синхронизация осуществляется путем подбора пар сообщений из одного семейства и задержки этих сообщений до тех пор, пока оба сообщения из одной пары не поступят в заданные точки модели. Сообщения никогда не задерживаются в блоке MATCH. Сообщения, для которых выполнилось условие синхронизации, переходят к следующему по номеру блоку. В одной паре блоков MATCH могут одновременно находиться в состоянии синхронизации пары сообщений из различных семейств. Возможна также одновременная синхронизации пар сообщений из одного семейства в нескольких блоках MATCH.
Поле А задает имя или номер другого блока MATCH, называемого "сопряженным блоком MATCH". Если такого блока нет, происходит останов по ошибке. Операнд А может быть именем, положительным целым, СЧА, СЧА*<параметр>.
Допускается использование блока MATCH в качестве сопряженного самому себе. В этом случае блок MATCH действует как блок GATHER с начальным значением счетчика, равным 2. При входе сообщения в блок MATCH интерпретатор определяет номер блока, заданного в поле А, и затем просматривает семейство, к которому принадлежит вошедшее в блок MATCH сообщение.
Если для сообщения, вошедшего в блок MATCH, нет сообщения из того же семейства, находящегося в состоянии синхронизации в сопряженном блоке MATCH, то это сообщение удаляется из списка текущих событий и помещается в список синхронизации. Это сообщение не возвращается в список текущих событий до тех пор, пока другое сообщение из этого же семейства не войдет в сопряженный блок MATCH. Счетчики Nj и Wj блока увеличиваются на единицу. Индикатор синхронизации устанавливается в единицу, как в блоках ASSEMBLE и GATHER. Интерпретатор переходит затем к следующему сообщению из списка текущих событий.
Если в сопряженном блоке MATCH есть сообщение из того же семейства и оно находится в состоянии синхронизации, то индикатор синхронизации устанавливается в "0". Затем сообщение, которое находилось в сопряженном блоке MATCH, возвращается в список текущих событий, где оно становится последним среди сообщений с таким же значением приоритета. Тем временем интерпретатор продолжает обработку второго сообщения данной пары, вошедшего в рассматриваемый блок MATCH. Это сообщение обрабатывается так, как если бы оно проходило через блок ADVANCE с нулевой задержкой.
Опубликовал Kest January 19 2010 20:39:21 · 0 Комментариев · 6679 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Pirc
PCXReader. Програ...
Averaging [Исходн...
Советы от Даниилы...
Mass Photo Upload
Последнее загруж...
Zoom [Исходник на...
OnlineIP
Самоучитель C++
Усложнённый кальк...
Расширенный загру...
netBIOS
Обучение Borland ...
Доступа к БД Fire...
Разработка клиент...
NetGraph [Исходни...
Архив Апгрейтов с...
Защита от спама ...
С# для профессион...
Tetris 2002

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97841
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14194
Borland Delphi ... 10296
Turbo Pascal fo... 7375
Калькулятор [Ис... 5984
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
Как получить текст...
Оператор ссылки (...
WQTABLE (ВЗВЕШЕННА...
мало для подчиненн...
Возникновение "што...
Абонентские или ка...
Интернет-ресурсы и...
Добавление дополни...
Элемент ввода chec...
Инкапсуляция
Как избавиться от ...
Особенности постро...
Настройка параметр...
Создание и конфигу...
Небольшие версии
Аппарат Fruit Cock...
— издание 381— авт...
Содержание
Безопасность сети ...
Методы-подставки
Глонасс установка
Работа с маршрутиз...
Печать изображения...
Прерывание и обраб...
Маска подсети
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?