Next: Component Types, Previous: Component Behavior, Up: Components [Contents][Index]
An async port is a requires
of builtin type dzn.async
which is defined in the behavior of a component.
async-port ::= "requires" "dzn.async" async-parameter-list? identifier ";" async-parameter-list ::= "(" async-parameter ("," async-parameter)* ")" async-parameter ::= data-type identifier
For example:
requires dzn.async (int i) async;
The behavior of the builtin dzn.async
port can be represented like this:
namespace dzn { interface async (formals) { in void req (formals); in void clr (); out void ack (formals); behavior { bool idle = true; [idle] { on req: idle = false; on clr: {} } [!idle] { on clr: idle = true; on inevitable: {ack; idle = true;} } } } }
Note: The use of
dzn.async
is deprecated, please usedefer
.