Rules-DSL: Difference between revisions

(Created page with "== Rules DSL == Domain-Specific Language ...")
 
Line 1: Line 1:
== Rules DSL ==
== Rules DSL ==


Domain-Specific Language ...
The B Rules domain-specific language mainly provides operations for data validation. <em>Rules</em> allow checking for expected properties, while <em>computations</em> can be used to define and compute variables based on the successful execution of certain rules. Furthermore you can use <em>functions</em> to compute values multiple times depending on different inputs.
 
====Setting up a Rules Machine====
Rules machines are stored in <code>.rmch</code>-files. The general setup for the machine header looks like this:
<pre>
RULES_MACHINE machine name
REFERENCES list of rules machines
</pre>
Below, you can use <code>SETS</code>, <code>DEFINITIONS</code>, <code>PROPERTIES</code> or <code>CONSTANTS</code> as in a normal B machine. Note that <code>VARIABLES</code> are not supported as they are set by rule based computations.

Revision as of 09:04, 3 May 2023

Rules DSL

The B Rules domain-specific language mainly provides operations for data validation. Rules allow checking for expected properties, while computations can be used to define and compute variables based on the successful execution of certain rules. Furthermore you can use functions to compute values multiple times depending on different inputs.

Setting up a Rules Machine

Rules machines are stored in .rmch-files. The general setup for the machine header looks like this:

RULES_MACHINE machine name
REFERENCES list of rules machines

Below, you can use SETS, DEFINITIONS, PROPERTIES or CONSTANTS as in a normal B machine. Note that VARIABLES are not supported as they are set by rule based computations.