ECARule extends ConditionEdgeDestination, GeneratedElement, GeneratesElements, NamedElement, ParameterEdgeDestination

An ECARule defines how a triggering Event may execute a particular Action, as optionally restricted by incoming Conditions.

An ECARule specifies that a triggered Event will execute a specific Action if permitted to by any incoming Conditions. This ECARule may have incoming Parameters, which are passed by value at the time that the Event is triggered. This ECARule may also have incoming Conditions, which are evaluated at the time of the triggered Event; if these conditions are not true, then the Action will not be executed.

When an Event is triggered, all outgoing ECARules are sorted in descending order according to their integer property priority, and then evaluated in a sequential manner according to their incoming Predicates; this set is known as the current execution set. All executable ECARules are then followed sequentially in this order, and the type of action specified by the target Action are executed, until all ECARules are executed or an Action fails.

For an ECARule to be executable, all incoming Conditions must evaluate to true according to logical conjunction (AND). Conditions may be connectedissue 134 with a ConstraintEdge to change this behaviour to logical disjunction (OR) or exclusive disjunction (XOR). Any incoming Parameters to that ECARule are then calculated, and passed as named parameter values to the target Action.

[ECARule.html]

Examples

Implementation Notes

Inference Rules

Constraints

Attributes

Inherited Attributes

Children

(none)

Inherited Children

(none)

References

Inherited References

Extensions

Inherited Extensions