liveBook · Manning

Execution model

As explained in Building User-Friendly DSLs

A specification of how business rules expressed as DSL content interact and are executed.

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

How Building User-Friendly DSLs covers it

How deep it goes
Explains effects, dependencies, ambiguity, ordering, and runtime collection while deferring concrete detection algorithms.
Examples
Uses discount-dependent conditions, contradictory attribute assignments, and collective runtime effect gathering as concrete cases.
What it assumes
Assumes business rules and DSL content, while defining execution semantics through effects, dependencies, and ordering questions.
What you can do after
Evaluate how rule effects, dependencies, ambiguities, and execution order shape a DSL’s runtime behavior.
How it connects
Connects business rules, DSL design, effects, dependencies, ambiguity, execution order, and runtime processing.

Also explained in

Compare how 2 books explain execution model →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Building User-Friendly DSLs. The section links point to the parts of the book it draws on.