Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лек 5.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
489.98 Кб
Скачать

Каналы взаимодействия процессов

Данными в моделях Керка могут быть только состояния процессов. Поэтому необходимо иметь логические устройства ввода, которые снабжают процессы правильными данными в нужный момент времени. Логическое устройство ввода будем называть каналом.

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

Для разных типов взаимодействий требуются разные типы каналов.

Нулевой канал не передает информацию, но гарантирует работу процессов и на одном множестве пусковых моментов, то есть .

Синхронный канал передает заранее определенное число последовательных во времени состояний процесса производителя и в то же время гарантирует работу процессов и на одном и том же множестве пусковых моментов.

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

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

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

Канал , связывающий процессы и , можно определить как отображение

,

где – (value) область изменения значений состояний процесса ;

– (domain) область определения входных данных процесса .

Это отображение создает постоянную связь между процессами, то есть состояния процесса , определенные в моменты времени , доступны процессу в моменты при условии, что .

Функция канала

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

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

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

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

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