An execution model specifies what business rules expressed in a DSL mean: how their conditions and consequences work together when executed. section 14.2.3
An execution model resolves questions about rule interaction:
- Determine whether effects stack, overwrite one another, or depend on values produced by other rules. section 14.2.3
- Detect contradictory rules whose conditions both hold but whose effects assign different values. section 14.2.3
- Choose dependency-respecting execution orders and establish whether different valid orders produce the same result. section 14.2.3
DSL design and execution semantics constrain each other. Developing effect concepts alongside the execution model balances language expressivity against runtime complexity. section 14.2.3
Discount-dependent rules
A rule can test a discount value determined by another rule, creating a dependency. Two rules that both set the same attribute differently create ambiguity requiring detection or domain-expert notification. section 14.2.3
A flexible runtime can execute all rules together and collect their effects in a data structure rather than grouping execution by affected attribute. section 14.4

