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