Тип сигнала

Top  Previous  Next

Сигнал — это асинхронное сообщение, посылаемое в последовательности дискретных действий.

Единственным результатом посылки сигнала может быть срабатывание переходов, для которых этот сигнал

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

Сигнал может иметь параметры, значения которых содержат уточняющую информацию.

 

Синтаксически сигнал — это переменная соответствующего типа (атрибут активного динамического объекта). Описание формальных

параметров сигнала содержится в определении типа этой переменной.

 

s1: signal (A: double; B: matrix);

s2: signal;

 

type TSignal is signal ((A: double; B: matrix);

s3: TSignal;

 

Переменная типа «сигнал» не может иметь начального значения.

 

Сигнал посылается с помощью оператора send (Оператор посылки сигнала).

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

 

Сигнал может быть обработан переходами, находящимися в области видимости соответствующей переменной. Если сигнал посылается при

срабатывании внешнего перехода (оператор send находится в выходных действиях исходного состояния, действиях перехода или входных

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

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

в том же состоянии.

 

Для того чтобы сигнал был передан на другие объекты или принят из другого объекта, соответствующая переменная должна быть

декларирована как внешняя. Внешняя переменная типа «сигнал» может быть только входом, выходом или входной или выходной компонентой коннектора.

Передача сигнала от одного объекта к другому осуществляется по связи между выходом объекта-источника и входом объекта-приемника.

 

Если в операторе посылки сигнала присутствует ключевое слово broadcast, то сигнал посылается как широковещательный (Оператор посылки сигнала).