Cтраница 2
При образовании подзадач требуется синхронизация событий, завершающих определенные действия. Макрокоманда WAIT предназначена для того, чтобы задержать выполнение задачи, пока не завершатся одно пли несколько событий. Макрокоманда POST сигнализирует завершение события. [16]
Событие характеризуется местом, временем и значением. Место возникновения определяется именем точки взаимодействия. Под временем понимается момент завершения события. И, наконец, события характеризуются значениями. В зависимости от типа взаимодействия может произойти генерация значения, передача значения из одного процесса в другой, либо поглощение значений. Более подробно типы взаимодействий рассматриваются ниже. [17]
Инициатор переходит в ожидание до тех пор, пока не завершится шаг задания. Если ни в одной из очередей к инициатору нет работ, подлежащих выполнению, инициатор вызывает программу ожидания инициатора, которая выдает макрокоманду WAIT. Когда в очередь выходных работ помещается запись, то в блоке управления событием ( ЕСВ) программы ожидания инициатора делается отметка о завершении события. [18]
Для ввода блока в основную память применяется макрокоманда READ, а для вывода - макрокоманда WRITE. Каждой из этих команд соответствует физический процесс ввода или вывода. Однако следует заметить, что по макрокомандам READ и WRITE система только инициирует процесс ввода-вывода, а управление передается выдавшей эти макрокоманды программе, которая выполняется параллельно с вводом-выводом. Вследствие этого иногда программист должен предусматривать задержку некоторых событий программы, зависящих от процесса ввода-вывода. Синхронизация событий, которой в методах доступа с очередями занималась система, в базисных методах доступа планируется программистом с помощью макрокоманд CHECK и WAIT. Обе эти макрокоманды производят задержку выполнения программы до завершения события ввода-вывода, а макрокоманда CHECK еще проверяет успешность завершения операции ввода-вывода. В частности, программист должен добиваться синхронности с помощью этих макрокоманд при блокировании и деблокировании записей. При вводе блока в, буфер всегда необходимо ожидать завершения процесса ввода в предыдущий буфер и обработки всех элементов данного буфера. При выводе блока из буфера нужно убедиться в окончании процесса вывода из предыдущего буфера и заполнения данного буфера. [19]
Приведенная грамматика не содержит расшифровок очевидных символов и детального описания вызываемых процедур. В фигурных скобках прокомментированы процедуры вычисления аргументов предикатов, находящихся в левых частях грамматических правил, на основе значений аргументов предикатов, записанных в правых частях. Состояние рассматриваемой системы в момент времени / включает описание совокупности элементарных событий, сгенерированных для заданного момента. Элементарным событием является изменение состояния объекта или субъекта в соответствии с заданным темпом, действием фактора или ДЛ, а также действие фактора или субъекта, не приводящее к изменению состояния объекта или субъекта. Если действие фактора или ДЛ происходит мгновенно ( время запаздывания равно нулю), то вызываемые или активизируемые события включаются в описание данного состояния. Если имеет место запаздывание, то порождаемые элементарные события включаются в постепенно формируемые описания последующих состояний. События, растянутые во времени, влияют на наборы возможных действий на протяжении всего срока их длительности. При переходе к каждому следующему кванту времени проверяются условия завершения протекающих событий и обновляются списки активизируемых, ожидаемых и запрещаемых событий. На рис. 8.9 приведена форма для ввода и редактирования информации о событиях в системе синтеза сценариев. [20]
Приведенная грамматика не содержит расшифровок очевидных символов и детального описания вызываемых процедур. В фигурных скобках прокомментированы процедуры вычисления аргументов предикатов, находящихся в левых частях грамматических правил, на основе значений аргументов предикатов, записанных в правых частях. Состояние рассматриваемой системы в момент времени t включает описание совокупности элементарных событий, сгенерированных для заданного момента. Элементарным событием является изменение состояния объекта или субъекта в соответствии с заданным темпом, действием фактора или ДЛ, а также действие фактора или субъекта, не приводящее к изменению состояния объекта или субъекта. Если действие фактора или ДЛ происходит мгновенно ( время запаздывания равно нулю), то вызываемые или активизируемые события включаются в описание данного состояния. Если имеет место запаздывание, то порождаемые элементарные события включаются в постепенно формируемые описания последующих состояний. События, растянутые во времени, влияют на наборы возможных действий на протяжении всего срока их длительности. При переходе к каждому следующему кванту времени проверяются условия завершения протекающих событий и обновляются списки активизируемых, ожидаемых и запрещаемых событий. На рис. 8.9 приведена форма для ввода и редактирования информации о событиях в системе синтеза сценариев. [21]