The Learnability of Business Rules

Among programming languages, a popular one in corporate environments is Business Rules. These are conditional statements which can be seen as a sort of “programming for non-programmers”, since they remove loops and function calls, which are typically the most difficult programming constructs to master by laypeople. A Business Rules program consists of a sequence of “IF condition THEN actions” statements. Conditions are verified over a set of variables, and actions assign new values to the variables. Medium-sized to large corporations often enforce, document and define their business processes by means of Business Rules programs. Such programs are executed in a special purpose virtual machine which verifies conditions and executes actions in an implicit loop. A problem of extreme interest in business environments is enforcing high-level strategic decisions by configuring the parameters of Business Rules programs so that they behave in a certain prescribed way on average. In this paper we show that Business Rules are Turing-complete. As a consequence, we argue that there can exist no algorithm for configuring the average behavior of all possible Business Rules programs.

[1]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[2]  Vinod Vaikuntanathan,et al.  Aggregate Pseudorandom Functions and Connections to Learning , 2015, TCC.

[3]  Leslie G. Valiant,et al.  A theory of the learnable , 1984, CACM.

[4]  Leo Liberti,et al.  Controlling the Average Behavior of Business Rules Programs , 2016, RuleML.

[5]  Leslie G. Valiant,et al.  Cryptographic Limitations on Learning Boolean Formulae and Finite Automata , 1993, Machine Learning: From Theory to Applications.

[6]  Stephan Kepser,et al.  A Simple Proof for the Turing-Completeness of XSLT and XQuery , 2004, Extreme Markup Languages®.

[7]  Hendrik Blockeel,et al.  Top-Down Induction of First Order Logical Decision Trees , 1998, AI Commun..

[8]  L. M. Berliner,et al.  Statistics, Probability and Chaos , 1992 .

[9]  Claude E. Shannon,et al.  A Universal Turing Machine with Two Internal States , 1956 .

[10]  S. C. Kleene,et al.  Introduction to Metamathematics , 1952 .

[11]  Leo Liberti,et al.  Mathematical programming: Turing completeness and applications to software analysis , 2014, Journal of Combinatorial Optimization.

[12]  守屋 悦朗,et al.  J.E.Hopcroft, J.D. Ullman 著, "Introduction to Automata Theory, Languages, and Computation", Addison-Wesley, A5変形版, X+418, \6,670, 1979 , 1980 .

[13]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[14]  Silvio Micali,et al.  How to construct random functions , 1986, JACM.

[15]  Luc De Raedt,et al.  First-Order jk-Clausal Theories are PAC-Learnable , 1994, Artif. Intell..

[16]  Leo Liberti,et al.  Business Rule Sets as Programs: Turing-completeness and Structural Operational Semantics , 2015 .