In an interface this indicates the an in-event–that can only be
used as a trigger—is used as an action in the imperative
body of an on.
interface interface_trigger_used_as_action
{
in void hello ();
behavior
{
on hello: hello;
}
}
This results in the following error message:
interface-trigger-used-as-action.dzn:6:15: error: cannot use in-event
`hello' as action
interface-trigger-used-as-action.dzn:3:3: info: event `hello' defined
here
in a component this indicates that either it is an in-event of a
provides interface, or an out-event of a requires
interface that is used as an action in the imperative body of an
on.
interface ihello
{
in void hello ();
out void world ();
behavior {on hello:world;}
}
component component_trigger_used_as_action
{
provides ihello p;
requires ihello r;
behavior
{
on p.hello ():
{
p.hello ();
r.world ();
}
}
}
This results in the following error messages:
component-trigger-used-as-action.dzn:16:7: error: cannot use provides
in-event `hello' as action
component-trigger-used-as-action.dzn:10:3: info: port `p' defined here
component-trigger-used-as-action.dzn:3:3: info: event `hello' defined
here
component-trigger-used-as-action.dzn:17:7: error: cannot use requires
out-event `world' as action
component-trigger-used-as-action.dzn:11:3: info: port `r' defined here
component-trigger-used-as-action.dzn:4:3: info: event `world' defined
here