Навигация
Главная
Поиск
Форум
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
Реклама
Сейчас на сайте
Гостей: 6
На сайте нет зарегистрированных пользователей

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

Двунаправленный динамический список на Delphi + Блок схемы
База данных - рабочее место кассира на Delphi + бд Access
Обучающая и тестирующая программа по здаче экзамена ПДД на Turbo Pascal ...

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


Блок 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 Комментариев · 6670 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Delphi 6 программ...
DiskInfo
IPAddresseEdit
Фундаментальные а...
DateEdit
Rss Parser
База каталогов ( ...
SODA [Исходник на...
Delphi World 6.0
Система баннеро...
Report
Visual Studio 200...
Игра Car [Исходни...
Пятнашки и крести...
IMtale
Как программирова...
Советы от Даниилы...
KOL & MCK v1.69
Рисование PopupMenu
Prolog Interprete...

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97839
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14193
Borland Delphi ... 10293
Turbo Pascal fo... 7374
Калькулятор [Ис... 5984
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
Параметры по умолч...
Интерфейс TPI
Новейший гибкий O...
Тестирование, поис...
Программирование д...
кол источ- источ- ...
Перечислимый тип в...
Линейное рехеширов...
разрешениями
Псевдоуказатели (Б...
Существуют три реж...
Кому адресована книга
Security; использу...
Программное обеспе...
Дополнительные рес...
• Модернизированны...
Базис I, B, C, S
Очереди на основе ...
Использование Drag...
Какие маршруты соз...
Основные недостатк...
tld. Самымпростым ...
Вариант решения за...
Шаблоны и... шаблоны
Сетевые эмуляторы
Статистика



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


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