| Prev | Next | Start of Chapter | End of Chapter | Contents | Index | (8 out of 12)

Specifying How to Handle Multiple Values

Some blocks let you choose what they do when they receive an input value while they are already executing. These are called multiple values.

To specify how to handle multiple control signals:

The table below lists the possible values for Multiple Invocations:

If Multiple Invocations is The block does this when it receives a
control signal and it is already executing
ignore
Discards the incoming values. The block executes only when it's idle and it receives an input value.
queue
The block increments the count of waiting values. When it's finished executing, it checks whether that counter is one or greater. If so, it decrements the counter and executes again, using the values on the input paths at the execution time.
ok
Allows simultaneous executions. The block increments the count of invocations running and starts another process to execute for it. When an execution finishes, the block decrements that count.

Generally, the blocks with the Multiple Invocations attribute are those that may take a significant amount of time to evaluate, such as the Data Delay and Control Counter.

| Prev | Next | Start of Chapter | End of Chapter | Contents | Index | (8 out of 12)

Copyright © 1996, Gensym Corporation, Inc.